github arvidn/libtorrent libtorrent-1_1
libtorrent-1.1.0

latest releases: v2.0.10, v2.0.9, v1.2.19...
8 years ago

1.1.0 release

  • improve robustness and performance of uTP PMTU discovery
  • fix duplicate ACK issue in uTP
  • support filtering which parts of session state are loaded by load_state()
  • deprecate support for adding torrents by HTTP URL
  • allow specifying which tracker to scrape in scrape_tracker
  • tracker response alerts from user initiated announces/scrapes are now
    posted regardless of alert mask
  • improve DHT performance when changing external IP (primarily affects
    bootstrapping).
  • add feature to stop torrents immediately after checking files is done
  • make all non-auto managed torrents exempt from queuing logic, including
    checking torrents.
  • add option to not proxy tracker connections through proxy
  • removed sparse-regions feature
  • support using 0 disk threads (to perform disk I/O in network thread)
  • removed deprecated handle_alert template
  • enable logging build config by default (but alert mask disabled by default)
  • deprecated RSS API
  • experimental support for BEP 38, "mutable torrents"
  • replaced lazy_bdecode with a new bdecoder that's a lot more efficient
  • deprecate time functions, expose typedefs of boost::chrono in the
    libtorrent namespace instead
  • deprecate file_base feature in file_storage/torrent_info
  • improve piece picker support for reverse picking (used for snubbed peers)
    to not cause priority inversion for regular peers
  • improve piece picker to better support torrents with very large pieces
    and web seeds. (request large contiguous ranges, but not necessarily a
    whole piece).
  • deprecated session_status and session::status() in favor of performance
    counters.
  • improve support for HTTP where one direction of the socket is shut down.
  • remove internal fields from web_seed_entry
  • separate crypto library configuration and whether to support
    bittorrent protocol encryption
  • simplify bittorrent protocol encryption by just using internal RC4
    implementation.
  • optimize copying torrent_info and file_storage objects
  • cancel non-critical DNS lookups when shutting down, to cut down on
    shutdown delay.
  • greatly simplify the debug logging infrastructure. logs are now delivered
    as alerts, and log level is controlled by the alert mask.
  • removed auto_expand_choker. use rate_based_choker instead
  • optimize UDP tracker packet handling
  • support SSL over uTP connections
  • support web seeds that resolve to multiple IPs
  • added auto-sequential feature. download well-seeded torrents in-order
  • removed built-in GeoIP support (this functionality is orthogonal to
    libtorrent)
  • deprecate proxy settings in favor of regular settings
  • deprecate separate settings for peer protocol encryption
  • support specifying listen interfaces and outgoing interfaces as device
    names (eth0, en2, tun0 etc.)
  • support for using purgrable memory as disk cache on Mac OS.
  • be more aggressive in corking sockets, to coalesce messages into larger
    packets.
  • pre-emptively unchoke peers to save one round-trip at connection start-up.
  • add session constructor overload that takes a settings_pack
  • torrent_info is no longer an intrusive_ptr type. It is held by shared_ptr.
    This is a non-backwards compatible change
  • move listen interface and port to the settings
  • move use_interfaces() to be a setting
  • extend storage interface to allow deferred flushing and flush the part-file
    metadata periodically
  • make statistics propagate instantly rather than on the second tick
  • support for partfiles, where partial pieces belonging to skipped files are
    put
  • support using multiple threads for socket operations (especially useful for
    high performance SSL connections)
  • allow setting rate limits for arbitrary peer groups. Generalizes
    per-torrent rate limits, and local peer limits
  • improved disk cache complexity O(1) instead of O(log(n))
  • add feature to allow storing disk cache blocks in an mmapped file
    (presumably on an SSD)
  • optimize peer connection distribution logic across torrents to scale
    better with many torrents
  • replaced std::map with boost::unordered_map for torrent list, to scale
    better with many torrents
  • optimized piece picker
  • optimized disk cache
  • optimized .torrent file parsing
  • optimized initialization of storage when adding a torrent
  • added support for adding torrents asynchronously (for improved startup
    performance)
  • added support for asynchronous disk I/O
  • almost completely changed the storage interface (for custom storage)
  • added support for hashing pieces in multiple threads
  • fix division by zero in super-seeding logic

Don't miss a new libtorrent release

NewReleases is sending notifications on new releases.