Releases: arvidn/libtorrent
Releases · arvidn/libtorrent
libtorrent 2.0.11
What's Changed
- bump version for future release by @arvidn in #7621
- torrent_status::num_pieces counts pieces passed hash check by @arvidn in #7631
- Updated numerous action revisions by @xavier2k6 in #7590
- back-port fixes to brew on CI by @arvidn in #7648
- fix setup.py to not use distutils by @arvidn in #7649
- fix integer overflow in piece picker by @arvidn in #7647
- Send read_piece_alert after piece passes by @YakoYakoYokuYoku in #7642
- test for
set_piece_deadline()
by @arvidn in #7652 - default target windows 10 by @arvidn in #7662
- Make anti-leech choker never increase score for dishonesty by @Artoria2e5 in #7658
- fix the compilation failure caused by the failure to find std::max by @zzlhyly in #7664
- bump libsimulator submodule by @arvidn in #7673
- assume copy_file_range() exists on linux (unless old glibc) by @arvidn in #7670
- bump cibuildwheel action to v2.17.0 by @arvidn in #7672
- rely on the openssl version already installed on the runner by @arvidn in #7685
- ask msvc to report the correct C++ version in __cplusplus macro by @arvidn in #7545
- attempt to make CirrusCI job more efficient by @arvidn in #7697
- remove aligned storage, as it's deprecated in C++23 by @arvidn in #7698
- attempt to fix msvc version macro builds by @arvidn in #7709
- GHA workflow update by @arvidn in #7699
- apply DSCP setting to peers before connecting by @arvidn in #7696
- check settings_pack::max_out_request_queue before alert outstanding_r… by @tkittich in #7714
- improve debug facilities of swarm simulations by @arvidn in #7719
- Improve simulator determinism by @arvidn in #7720
- fix issue when closing a uTP connection by @arvidn in #7717
- fix test_copy_file to recognize overlayfs as supporting sparse files. by @arvidn in #7715
- Fix some typos by @xavier2k6 in #7728
- don't discard netlink messages for previously seen addresses by @ssiloti in #7737
- fix pre-allocation when changing priority by @arvidn in #7738
- limit the piece size in create_torrent constructor by @arvidn in #7739
- Updated numerous pre-commit hook revs. by @xavier2k6 in #7723
- fix BEP-40 peer priority for IPv6 by @arvidn in #7743
- GHA CI: Migrate to OpenSSL 3.x by @xavier2k6 in #7746
- minor fix on documentation by @joriscarrier in #7753
- allow connections while checking resume data if no_verify_files flag is set by @e1y4s in #7754
- don't hint
POSIX_FADV_RANDOM
by @arvidn in #7758 - fix tests to work on linux ZFS by @arvidn in #7759
- fix bug where file_progress could sometimes be reported as >100% by @arvidn in #7765
- cibuildwheel: Add macOS arm64 support by @xavier2k6 in #7727
- Move construct
std::shared_ptr
objects by @Chocobo1 in #7768 - Bump libsimulator submodule by @0xThiebaut in #7773
- fix performance bug in the file pool by @arvidn in #7779
piece_picker
updates by @arvidn in #7781- Add announce_port support by @0xThiebaut in #7771
- fix race condition when cancelling requests after becoming a seed by @arvidn in #7787
- abort_download() is OK in any state by @arvidn in #7788
- Bump some pre-commit-hook revs by @xavier2k6 in #7804
- Fix mmap error when reading empty file during resume check on Linux by @Doekin in #7808
- homebrew uses standard name for pre-built boost_system now by @arvidn in #7816
- bump ubuntu version in workflows by @arvidn in #7817
- remove use of std::aligned_union by @arvidn in #7818
- bump version by @arvidn in #7815
- Fix typos by @xavier2k6 in #7820
- add some possible values to the documentation for dht_bootstrap_nodes by @arvidn in #7827
- fix applying IP filter to DHT traffic (HanabishiRecca) by @arvidn in #7829
- cibuildwheel: update workflow by @xavier2k6 in #7805
- add invariant check to
socks5_stream
by @arvidn in #7785 - fix fcntl.h warning by @arvidn in #7830
- use stricter rules for what filenames are valid on Android by @arvidn in #7828
- validate add_torrent_params::save_path at run-time by @arvidn in #7826
New Contributors
- @YakoYakoYokuYoku made their first contribution in #7642
- @Artoria2e5 made their first contribution in #7658
- @zzlhyly made their first contribution in #7664
- @tkittich made their first contribution in #7714
- @e1y4s made their first contribution in #7754
- @0xThiebaut made their first contribution in #7773
- @Doekin made their first contribution in #7808
Full Changelog: v2.0.10...v2.0.11
libtorrent 1.2.20
What's Changed
- backport cibuildwheel fix of not running tests in win32 by @arvidn in #7442
- back-port posix timestamps by @stalkerok in #7446
- back-port updating test certs by @arvidn in #7467
- Allow to compile RC_1_2 branch in C++20 mode by @Chocobo1 in #7491
- FIX(peer_list): clear the m_candidate_cache when clear peer_list, and… by @Lwxiang in #7460
- avoid implicit this capture by @arvidn in #7502
- rely on RVO in C++20 by @arvidn in #7504
- (Backport) Treat CGNAT address range as local IPs by @Chocobo1 in #7531
- Allow to change save path without moving any files by @glassez in #7552
- bump python version on github actions to 3.12 by @arvidn in #7583
- Migrate away from deprecated functions in C++23 by @Chocobo1 in #7582
- Clean up MSVC compiler flags by @Chocobo1 in #7615
- fix issue when closing a uTP connection RC_1_2 backport by @arvidn in #7718
- fix piece size check when loading torrents by @arvidn in #7740
- use stricter rules for what filenames are valid on Android by @arvidn in #7832
- update test certs by @arvidn in #7833
- validate add_torrent_params::save_path at run-time by @arvidn in #7825
New Contributors
- @stalkerok made their first contribution in #7446
Full Changelog: v1.2.19...v1.2.20
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