Summary
This release contains a few minor bug fixes and cleanup, and is part of a stable release series.
Includes DHT IPv6 Support and minor performance optimizations.
Development Funding
Current development relies on donations, and as such is highly appreciated.
Donations make futher development possible, and as such are highly appreciated:
- Paypal
- Patreon
- SubscribeStar
- Bitcoin: 1MpmXm5AHtdBoDaLZstJw8nupJJaeKu8V8
- Ethereum: 0x9AB1e3C3d8a875e870f161b3e9287Db0E6DAfF78
- Litecoin: LdyaVR67LBnTf6mAT4QJnjSG2Zk67qxmfQ
- Cardano: addr1qytaslmqmk6dspltw06sp0zf83dh09u79j49ceh5y26zdcccgq4ph7nmx6kgmzeldauj43254ey97f3x4xw49d86aguqwfhlte
What's Changed
Bug Fixes / Cleanup / Improvements
- Add IPv6 DHT support (BEP 32) by @silasmariusz
- dht: use get_peers during announce walk and increase announce fanout by @silasmariusz
- Open the datagram listen socket only when checking the DHT port by @IvanShift
- Install linked_unordered_set.h and add iterators, find, back, pop_back and erase to it by @IvanShift
- Added back missing check in DownloadWrapper::receive_update_priorities(). by @rakshasa
- Moved DownloadWrapper::receive_update_priorities() check for chunk selector state by @rakshasa
- Keep user-added trackers flagged as extra when loading them from resume data by @IvanShift
- Fix rtorrent randomly crashes with inet6 peers by @rosset
- Remember a stop request that arrives while the thread is not polling by @IvanShift
- Replace sorted_vector with limited_vector by @rakshasa
- Fixed utils::copy_limited() handling of non-empty containers. by @rakshasa
- Optimized rebalancing of linux_unordered_set. by @rakshasa
- Allow AF_INET6 in set_generic_address_unsafe (fix #951) by @rosset
- Rotate a torrent's download slots when all are held, and keep a peer whose slot was taken back by @silasmariusz
- Group peer connection up/down members into state structs by @rakshasa
- Move ProtocolRead/Write into m_up/m_down state structs by @rakshasa
- Fix download slot rotation tests after state refactor by @rakshasa
- Sync with CONFIG-Template by @MarkusLange
- Modify logging levels and groups in rtorrent.rc.lua-example by @MarkusLange
- Do not assume libstdc++ in TestView::test_multicall_skips_moved_entries by @IvanShift
- Stop running commands on a download that an earlier command erased by @IvanShift
- Do not loop forever on a comment in parse_command_multiple by @IvanShift
- Do not touch a download an event handler erased in the command_events.cc loops by @IvanShift
- Build the unit test variants with --enable-extra-debug too by @IvanShift
- Keep DownloadList in a linked_unordered_set keyed by info hash by @IvanShift
- Do not start a session save while another save of the download runs by @IvanShift
- Show why a download failed to resume and release its active slot by @IvanShift