Releases: arvidn/libtorrent
Releases · arvidn/libtorrent
libtorrent-1.0.10
1.0.10 release
- fixed inverted priority of incoming piece suggestions
- fixed crash on invalid input in http_parser
- added a new "preformatted" type to bencode entry variant type
- fix division by zero in super-seeding logic
libtorrent-1.1.1
1.1.1 release
- update puff.c for gzip inflation
- add dht_bootstrap_node a setting in settings_pack (and add default)
- make pad-file and symlink support conform to BEP47
- fix piece picker bug that could result in division by zero
- fix value of current_tracker when all tracker failed
- deprecate lt_trackers extension
- remove load_asnum_db and load_country_db from python bindings
- fix crash in session::get_ip_filter when not having set one
- fix filename escaping when repairing torrents with broken web seeds
- fix bug where file_completed_alert would not be posted unless file_progress
had been queries by the client - move files one-by-one when moving storage for a torrent
- fix bug in enum_net() for BSD and Mac
- fix bug in python binding of announce_entry
- fixed bug related to flag_merge_resume_http_seeds flag in add_torrent_params
- fixed inverted priority of incoming piece suggestions
- optimize allow-fast logic
- fix issue where FAST extension messages were not used during handshake
- fixed crash on invalid input in http_parser
- upgraded to libtommath 1.0
- fixed parsing of IPv6 endpoint with invalid port character separator
- added limited support for new x.pe parameter from BEP 9
- fixed dht stats counters that weren't being updated
- make sure add_torrent_alert is always posted before other alerts for
the torrent - fixed peer-class leak when settings per-torrent rate limits
- added a new "preformatted" type to bencode entry variant type
- improved Socks5 support and test coverage
- fix set_settings in python binding
- Added missing alert categories in python binding
- Added dht_get_peers_reply_alert alert in python binding
- fixed updating the node id reported to peers after changing IPs
libtorrent-1.1.0
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
libtorrent-1.0.9
- fix issue in checking outgoing interfaces (when that option is enabled)
- python binding fix for boost-1.60.0
- optimize enumeration of network interfaces on windows
- improve reliability of binding listen sockets
- support SNI in https web seeds and trackers
- fix unhandled exception in DHT when receiving a DHT packet over IPv6
libtorrent-1.0.8
- fix web seed request size
- fix bug where web seeds were not used for torrents added by URL
- fix support for symlinks on windows
- fix long filename issue (on unixes)
- fixed performance bug in DHT torrent eviction
- fixed win64 build (GetFileAttributesEx)
- fixed bug when deleting files for magnet links before they had metadata
libtorrent-1.0.7
1.0.7 release
* fix bug where loading settings via load_state() would not trigger all
appropriate actions
* fix bug where 32 bit builds could use more disk cache than the virtual
address space (when set to automatic)
* fix support for torrents with > 500'000 pieces
* fix ip filter bug when banning peers
* fix IPv6 IP address resolution in URLs
* introduce run-time check for torrent info-sections beeing too large
* fix web seed bug when using proxy and proxy-peer-connections=false
* fix bug in magnet link parser
* introduce add_torrent_params flags to merge web seeds with resume data
(similar to trackers)
* fix bug where dont_count_slow_torrents could not be disabled
* fix fallocate hack on linux (fixes corruption on some architectures)
* fix auto-manage bug with announce to tracker/lsd/dht limits
* improve DHT routing table to not create an unbalanced tree
* fix bug in uTP that would cause any connection taking more than one second
to connect be timed out (introduced in the vulnerability path)
* fixed falling back to sending UDP packets direct when socks proxy fails
* fixed total_wanted bug (when setting file priorities in add_torrent_params)
* fix python3 compatibility with sha1_hash
libtorrent-1.0.6
* fixed uTP vulnerability
* make utf8 conversions more lenient
* fix loading of piece priorities from resume data
* improved seed-mode handling (seed-mode will now automatically be left when
performing operations implying it's not a seed)
* fixed issue with file priorities and override resume data
* fix request queue size performance issue
* slightly improve UDP tracker performance
* fix http scrapes
* add missing port mapping functions to python binding
* fix bound-checking issue in bdecoder
* expose missing dht_settings fields to python
* add function to query the DHT settings
* fix bug in 'dont_count_slow_torrents' feature, which would start too many
torrents