Library

libtorrent v2.1.1

Versionv2.1.1
Stars★ 6,013
Released2026-08-10

an efficient feature complete C++ bittorrent implementation

Release notes

Changelog 2.1.1

* fix merkle tree issue
* require webtorrent RTC offer IDs to be exactly 20 bytes
* fix point-to-point interfaces without a route to the internet being used for outgoing traffic
* apply IP filter to DHT node
* fix use of a stack buffer past its lifetime when sending i2p SAM commands
* optimize RC4
* fail validation of DHT mutable items whose salt exceeds the 64 byte limit
* improve dont-count-slow-torrents
* improve performance of checking files
* add ip_ban_alert for IPs banned internally by libtorrent
* fix peer DSCP marking on outgoing TCP connections

## What's Changed
* fix: validate peer-supplied endpoints against local addresses (SSRF) by @acts-1631 in https://github.com/arvidn/libtorrent/pull/8530
* persist BEP-21 upload_only on peer_list entry (RC_2_0) by @reardonia in https://github.com/arvidn/libtorrent/pull/8557
* Optimize CPU usage in the DH key exchange hot path by @anthonyryan1 in https://github.com/arvidn/libtorrent/pull/8565
* attempt to fix an invariant check failure by @arvidn in https://github.com/arvidn/libtorrent/pull/8572
* back-port want_peers_finished() invariant check failure by @arvidn in https://github.com/arvidn/libtorrent/pull/8575
* cache the results of enumerating ip interfaces by @arvidn in https://github.com/arvidn/libtorrent/pull/8567
* don't install vendored headers by @arvidn in https://github.com/arvidn/libtorrent/pull/8573
* fix mistake in workflows syntax by @arvidn in https://github.com/arvidn/libtorrent/pull/8577
* set NO_EXAMPLES=ON for bundled libdatachannel by @trim21 in https://github.com/arvidn/libtorrent/pull/8576
* Test merge by @arvidn in https://github.com/arvidn/libtorrent/pull/8580
* restore UPnP host validation to reject loopback by @arvidn in https://github.com/arvidn/libtorrent/pull/8578
* address flaky python test by @arvidn in https://github.com/arvidn/libtorrent/pull/8581
* experiment with bencher integration by @arvidn in https://github.com/arvidn/libtorrent/pull/8582
* disable clang-format for certain parts of settings by @arvidn in https://github.com/arvidn/libtorrent/pull/8584
* improve ABI compatibility in the C binding by @arvidn in https://github.com/arvidn/libtorrent/pull/8589
* fix formatting of libtorrent_alert.h by @arvidn in https://github.com/arvidn/libtorrent/pull/8591
* fix consistency between hash_value() and operator==() by @arvidn in https://github.com/arvidn/libtorrent/pull/8590
* add benchmark for RC4 crypto by @arvidn in https://github.com/arvidn/libtorrent/pull/8592
* handle ReadFile() returning a short read, by retrying by @arvidn in https://github.com/arvidn/libtorrent/pull/8597
* Test merge by @arvidn in https://github.com/arvidn/libtorrent/pull/8599
* Fix missing includes by @georgthegreat in https://github.com/arvidn/libtorrent/pull/8594
* fix destruction order of m_fence_flush and m_file_pool in pread_disk_io by @arvidn in https://github.com/arvidn/libtorrent/pull/8601
* merge reads into whole pieces when checking files by @arvidn in https://github.com/arvidn/libtorrent/pull/8598
* address flaky test; test_priority by @arvidn in https://github.com/arvidn/libtorrent/pull/8602
* fix undefined std::toupper on signed char in base32decode by @isl-Ramzi in https://github.com/arvidn/libtorrent/pull/8600
* bencher benchmark by @arvidn in https://github.com/arvidn/libtorrent/pull/8605
* abort trackers by @arvidn in https://github.com/arvidn/libtorrent/pull/8603
* Abort trackers 2.0 by @arvidn in https://github.com/arvidn/libtorrent/pull/8604
* add piece_picker benchmarks to bencher by @arvidn in https://github.com/arvidn/libtorrent/pull/8608
* fix out of bounds read in from_hex on odd number of digits by @isl-Ramzi in https://github.com/arvidn/libtorrent/pull/8611
* fix python binding for renamed files in resume data by @arvidn in https://github.com/arvidn/libtorrent/pull/8610
* fix external_ip_alert not being posted when UPnP/NAT-PMP succeeds by @rts-kotori in https://github.com/arvidn/l…

Share this resource


Discovered 2026-08-11 Source GitHub Archive 2026-08 →