Releases: arvidn/libtorrent
Releases · arvidn/libtorrent
libtorrent-2.0.10
What's Changed
- don't run win32 tests when building python wheel by @arvidn in #7437
- fix missing python converter for dht::announce_flags_t by @arvidn in #7443
- Bump boost version to enable Python 3.11 package builds by @cas-- in #7445
- cmake: don't define _FILE_OFFSET_BITS on Windows by @lazka in #7449
- update SSL certificates for tests by @arvidn in #7466
- Updated numerous repo addresses & revs of pre-commit-hooks by @arvidn in #7468
- Fixes various typos by @luzpaz in #7482
- Fix dht_announce_interval not being followed accurately in some cases by @thrnz in #7476
- suppress new GCC warning from 3rd party code (openssl) by @arvidn in #7494
- update FreeBSD dependency on boost_build to boost-build by @arvidn in #7495
- README: Remove LGTM badges by @luzpaz in #7500
- Forward port candidate cache by @arvidn in #7496
- hidden dllexport by @arvidn in #7497
- reset_save_path by @arvidn in #7498
- fix unnecessary capture of this in lambda expressions by @arvidn in #7503
- run thread-sanitizer on Ubuntu-22.04 on CI by @arvidn in #7499
- make sure the library builds with C++17 and C++20, in addition to C++14 by @arvidn in #7501
- improve TORRENT_RVO feature detection by @arvidn in #7506
- add python bindings by @rcarpa in #7509
- fix use of python ssl module by @arvidn in #7547
- address issue in boost.asio building on iOS by @arvidn in #7546
- improve checking and testing of max piece size by @arvidn in #7514
- fix MingW64 CI build by @arvidn in #7549
- fix assert in uTP resend_packet() by @arvidn in #7574
- bump python version on github actions to 3.12 by @arvidn in #7579
- Color theme revamp by @sledgehammer999 in #7561
- allow execution of
on_unknown_torrent
method in the absence of active torrents by @joriscarrier in #7537 - migrate awy from aligned_storage by @arvidn in #7584
- minor fixes by @arvidn in #7581
- allow I2P leaseset encryption type 4 by @Vort in #7585
- Fix the wrong port is being announced to tracker by @glassez in #7596
- Remove obsolete LGTM config file by @xavier2k6 in #7591
- Update Cirrus CI config by @xavier2k6 in #7589
- Restore file priorities in POSIX storage by @HanabishiRecca in #7594
- fix and suppress some new clang warnings util addressed (in master) by @arvidn in #7609
- Reject resume data if it contains mismatching info hashes by @glassez in #7597
- add test coverage for read_resume_data() by @arvidn in #7610
- fix test_copy_file for tmpfs by @arvidn in #7611
- add missing test file to tarball by @arvidn in #7612
- Updated numerous pre-commit hook revs. by @xavier2k6 in #7605
- forward-port of #7615 by @arvidn in #7616
- recreate the SSL test certificates with long expiration time by @arvidn in #7618
- bump version to 2.0.10 by @arvidn in #7619
New Contributors
- @lazka made their first contribution in #7449
- @luzpaz made their first contribution in #7482
- @rcarpa made their first contribution in #7509
- @HanabishiRecca made their first contribution in #7594
Full Changelog: v2.0.9...v2.0.10
libtorrent-2.0.9
Changes since previous release:
- fix issue with web seed connections when they close and re-open
- fallocate() not supported is not a fatal error
- fix proxying of IPv6 connections via IPv4 proxy
- treat CGNAT address range as local IPs
- add stricter checking of piece layers when loading torrents
- add stricter checking of v1 and v2 hashes being consistent
- cache failed DNS lookups as well as successful ones
- add an i2p torrent state to control interactions with clear swarms
- fix i2p SAM protocol parsing of quoted messages
- expose i2p peer destination in peer_info
- fix i2p tracker announces
- fix issue with read_piece() stopping torrent on pieces not yet downloaded
- improve handling of allow_i2p_mixed setting to work for magnet links
- fix web seed request for renamed single-file torrents
- fix issue where web seeds could disappear from resume data
- extend save_resume with additional conditional flags
- fix issue with retrying trackers in tiers > 0
- fix last_upload and last_download resume data fields to use posix time
- improve error messages for no_connect_privileged_ports, by untangle it from the port filter
- fix I2P issue introduced in 2.0.0
- add async tracker status query, post_trackers()
- add async torrent status query, post_status()
- support loading version 2 of resume data format
- fix issue with odd piece sizes
- add async piece availability query, post_piece_availability()
- add async download queue query, post_download_queue()
- add async file_progress query, post_file_progress()
- add async peer_info query, post_peer_info()
libtorrent-1.2.19
Changes since previous version:
- back-port load_torrent_*() functions
- fix issue with odd piece sizes
libtorrent-2.0.8
changes since previous 2.0.x release:
- fix uTP streams timing out instead of closing cleanly
- add write_torrent_file_buf() overload for generating .torrent files
- add create_torrent::generate_buf() function to generate into a buffer
- fix copy_file when the file ends with a sparse region
- uTP performance, fix packet loss when sending is stalled
- fix trackers being stuck after session pause/resume
- fix bug in hash_picker with empty files
- uTP performance, prevent premature timeouts/resends
- add option to not memory map files below a certain size
- settings_pack now returns default values when queried for missing settings
- fix copy_file fall-back when SEEK_HOL/SEEK_DATA is not supported
- improve error reporting from file copy and move
- tweak pad file placement to match reference implementation (tail-padding)
- uTP performance, more lenient nagle's algorithm to always allow one outstanding undersized packet
- uTP performance, piggy-back held back undersized packet with ACKs
- uTP performance, don't send redundant deferred ACKs
- support incoming SOCKS5 packets with hostnames as source address, for UDP trackers
- ignore duplicate network interface change notifications on linux
- fix total_want/want accounting when forcing a recheck
- fix merging metadata with magnet links added on top of existing torrents
- add torrent_flag to default all file priorities to dont_download
- fix &so= feature in magnet links
- improve compatibility of SOCKS5 UDP ASSOCIATE
- fix madvise range for flushing cache in mmap_storage
- open files with no_cache set in O_SYNC mode
libtorrent-1.2.18
Changes since previous 1.2.x release.
- fix issue where stop-when-ready would not close files
- uTP performance, fix packet loss when sending is stalled
- uTP performance, prevent premature timeouts/resends
- uTP performance, more lenient nagle's algorithm to always allow one outstanding undersized packet
- uTP performance, piggy-back held back undersized packet with ACKs
- uTP performance, don't send redundant deferred ACKs
- fix wanted_done/done accounting when force-rechecking
- expose userdata via torrent_handle (back-port from 2.0)
- fix renaming of filenames that are too long for the filesystem
- made UPnP and LSD code avoid using select_reactor (to work around an issue on windows in boost.asio < 1.80)
libtorrent-2.0.7
Changes since last release:
- fix issue in use of copy_file_range() on linux
- avoid open-file race in the file_view_pool
- fix issue where stop-when-ready would not close files
- fix issue with duplicate hybrid torrent via separate v1 and v2 magnet links
- added new function to load torrent files, load_torrent_*()
- support sync_file_range() on linux
- fix issue in write_torrent_file() when file size is exactly piece size
- fix file_num_blocks() and file_num_pieces() for empty files
- add new overload to make_magnet_uri()
- add missing protocol version to tracker_reply_alert and tracker_error_alert
- fix privilege issue with SetFileValidData()
- add asynchronous overload of torrent_handle::add_piece()
- default to a single hashing thread, for full checks
- Fix bug when checking files and the first piece is invalid
As well as changes merged in from the 1.2.x branch:
- fixed tracker connections spinning when hostname lookups stall
- fixed error in pkg-config file generation in Jamfile
- improve backwards compatibility with loading magnet link resume files
- fix bind-to-device for tracker announces and UPnP
- rename peer_tos setting to peer_dscp
- fix bdecode support for large strings (>= 100 MB)
libtorrent-1.2.17
Changes since last release:
- fixed tracker connections spinning when hostname lookups stall
- fixed error in pkg-config file generation in Jamfile
- improve backwards compatibility with loading magnet link resume files
- fix bind-to-device for tracker announces and UPnP
- rename peer_tos setting to peer_dscp
- fix bdecode support for large strings (>= 100 MB)
libtorrent-2.0.6
Changes since 2.0.5:
- fix issue creating a v2 torrent from torrent_info containing an empty file
- make recheck files also update which files use partfile
- add write_through disk_io_write_mode, which flushes pieces to disk immediately
- improve copy file function to preserve sparse regions (when supported)
- add function to truncate over-sized files part of a torrent
- fix directory creation on windows shared folders
- add flag to make add_files() not record file attributes
- deprecate (unused) allow_partial_disk_writes settings
- fix disk-full error reporting in mmap_disk_io
- fixed similar-torrents feature for v2 torrents
- fix potential unbounded recursion in add_completed_job, in disk I/O
- deprecated (unused) volatile_read_cache setting
- fix part files being marked as hidden on windows
libtorrent-1.2.16
changes since 1.2.15:
- send User-Agent field in anonymous mode
- fix python binding for settings_pack conversion
- fix DHT announce timer issue
- use DSCP_TRAFFIC_TYPE socket option on windows
- update default ToS setting according to RFC 8622
- keep trying to announce to trackers even when all fail
- don't disable announcing from local endpoints because of temporary failures
- fix issue in parsing UPnP XML response with multiple forwarding services
libtorrent-2.0.5
- on windows, explicitly flush memory mapped files periodically
- fix build with WolfSSL
- fix issue where incoming uTP connections were not accepted over SOCKS5
- fix several issues in handling of checking files of v2 torrents, esp. from magnet links
- make the token limit when parsing metadata from magnet files configurable
- fix issue with stalled pieces on disk full errors
- fix missing python binding for file_progress_flags
- fix torrent_file_with_hashes() to fail when we don't have the piece layers
- restore path character encoding conversion for non UTF-8 locales on linux
- fix use-after-free bug in make_magnet_uri
- add write_torrent_file() to produce a .torrent file from add_torrent_params
- allow loading v2 .torrent files without piece layer
- fix issue with adding v2 torrents with invalid file root hash