Releases: stickz/rtorrent
rtorrent-0.9.8-v7.2
Version 7.2 Release
This is anther hotfix for tinyxml2
to resolve compatibility with sonarr
and other indexer software.
What's Changed
Full Changelog: v7.1-0.9.8-0.13.8...v7.2-0.9.8-0.13.8
rtorrent-0.9.8-v7.1
Version 7.1 Release
This is a hotfix for tinyxml2
to resolve compatibility with sonarr
and other indexer software.
What's Changed
Full Changelog: v7.0-0.9.8-0.13.8...v7.1-0.9.8-0.13.8
rtorrent-0.9.8-v7.0
Version 7.0 Release
This a major new release that provides the option to replace xmlrpc-c with tinyxml2. Tinyxml2 is 2 to 3 times faster for smaller responses and up to 30 times faster for large responses than it's xmlrpc-c counterpart. It is fully compatible with ruTorrent. It results in a significant reduction of in overhead, by eliminating the requirement for xmlrpc-c and it's stack of dependences.
To use simply configure rTorrent --with-xmlrpc-tinyxml2
instead of --with-xmlrpc-c
. This will be the default option in the near future!
Tinyxml2 Benchmarks
xmlrpc-c
Benchmark Time CPU Iterations
---------------------------------------------------------
small_response 3417 ns 3413 ns 204332
large_response 46159260 ns 46074301 ns 15
tinyxml2:
Benchmark Time CPU Iterations
---------------------------------------------------------
small_response 1595 ns 1593 ns 462388
large_response 1512614 ns 1509299 ns 463
What's Changed
- rTorrent: Add tinyxml2 support by @stickz in #58
- tinyxml2: Fix commands without targets by @stickz in #60
Full Changelog: v6.3-0.9.8-0.13.8...v7.0-0.9.8-0.13.8
rtorrent-0.9.8-v6.3
Version 6.3 Release
This release is recommended for additional stability and performance.
- Fixed a possible crash on shutdown caused by improper termination of the curl stack.
- Improved software performance by using emplace instead of push on
std::array
objects.
What's Changed
- Replace push with emplace by @stickz in #56
- Fixed curl stack shutdown with active downloads by @stickz in #57
Full Changelog: v6.2-0.9.8-0.13.8...v6.3-0.9.8-0.13.8
rtorrent-0.9.8-v6.2
Version 6.2 Release
This release contains a few minor bug fixes and performance changes.
What's Changed
- Fix compile with GCC 14 by @stickz in 52693ae
- Drop CPPUNIT dependency by @stickz in 6f7bdfd
- Only write piece timestamp when required by @stickz in f671ae9
- Fix Handshake read buffer size by @stickz in faede8a
- Fix memory access compile warning by @stickz in 33495c4
Full Changelog: v6.1-0.9.8-0.13.8...v6.2-0.9.8-0.13.8
rtorrent-0.9.8-v6.1
Version 6.1 Release
This release resolves two reported software crashes and reverts to the __builtin_popcountll
wrapper for compatibility across platforms.
What's Changed
- Update README.md by @WagnerGMD in #46
- libtorrent: Use __builtin_popcountll for compatibility by @stickz in #49
- Fix two SIGPIPE crashes by @stickz in c9f61f1 and f391442
New Contributors
- @WagnerGMD made their first contribution in #46
Full Changelog: v6.0-0.9.8-0.13.8...v6.1-0.9.8-0.13.8
rtorrent-0.9.8-v6.0
Version 6.0 Release
This release includes a rewrite of the UDNS interface for libtorrent to increase performance and stability of UDP trackers. It can be enabled by configuring libtorrent with --enable-udns
. It is now more stable than rakshasa's resolver interface.
- The resolver callbacks are now handled by the connection manager to avoid a crash when the UDP tracker becomes invalid.
- The UDP trackers are now optimized with a fast-path to IPV4, since the UDNS interface can only support one DNS resolution method a time. This significantly reduces the amount of CPU instructions required to update a UDP tracker and avoids redundant network sockets.
What's Changed
- libtorrent: Move UDNS resolver callback to valid place by @stickz in #38
- libtorrent: Add m_tracker_udp_list by @stickz in #39
- libtorrent: Move resolver callback to connection manager by @stickz in #40
- libtorrent: Optimize UDP trackers for UDNS by @stickz in #41
- libtorrent: Optimize UDP trackers for UDNS by @stickz in #42
Full Changelog: v5.5-0.9.8-0.13.8...v6.0-0.9.8-0.13.8
rtorrent-0.9.8-v5.5
Version 5.5 Release
This release disables UDNS by default due to instability. It added an --enable-udns
development option to libtorrent configure to enable it for further development testing.
What's Changed
- libtorrent: Fix UDNS crash with null callback by @stickz in #35
- libtorrent: Disable UDNS by default by @stickz in #36
Full Changelog: v5.4-0.9.8-0.13.8...v5.5-0.9.8-0.13.8
[unstable] rtorrent-0.9.8-v5.4
Unstable: Reason UDNS crashes.
Version 5.4 Release
This release includes two hash threads instead of one to better split the load between multiple threads. For instance, instead of 30% on a single thread it will execute two threads with 15%. Half the downloads are assigned to one thread and the other half to the other thread.
UDNS now works as intended. A build issue is fixed for debugging. A handshake build mount is added for later for multi-threading support.
What's Changed
- libtorrent: Implement two hash queue threads by @stickz in #28
- libtorrent: Add handshake bind mount by @stickz in #29
- libtorrent: Add UDNS to configure.ac by @stickz in #32
- libtorrent: Fix instrumentation debug regression by @stickz in #33
Full Changelog: v5.3-0.9.8-0.13.8...v5.4-0.9.8-0.13.8
rtorrent-0.9.8-v5.3
Version 5.3 Release
The --disable-instrumentation
configure option for libtorrent now it's works properly. The threads still have instrumentation, so they work properly. All other source code instrumentation is disabled at compile time. This allows the software to perform tasks in the most efficient order and reduces scheduling overhead.
This configure option is an intermediary step. It's highly recommended to use it. In the future, instrumentation will be removed entirely for non-threaded tasks. In the very unlikely event a regression is found, please file an issue report.
What's Changed
- libtorrent: Optimize unsigned int datatypes by @stickz in #26
- libtorrent: Disable instrumentation properly by @stickz in #27
Full Changelog: v5.2-0.9.8-0.13.8...v5.3-0.9.8-0.13.8