v2.0.0
rtorrent 0.16.x support
rtremote v2.0.0 targets rtorrent 0.16.x and newer (system.api_version >= 26).
v2.0.0 is NOT compatible with rtorrent 0.9.x. If you run rtorrent 0.9.x, use v1.5.0 - the last release that supports it. The Android app is unaffected either way: the wire protocol is unchanged, so any app version works with both server releases.
Compatibility fixes for rtorrent 0.16
rtorrent 0.16 renamed or removed several XML-RPC commands rtremote relied on; older rtremote versions cannot even start against it (the first poll crashes the server). v2.0.0 fixes all of it:
network.port_rangeandnetwork.http.max_openwere renamed in rtorrent 0.16, and the old names now exist only behind the-Dflag (whose meaning flipped: deprecated names are opt-in now,method.use_deprecateddefaults to false). rtremote requests the new commands -network.listen.port.range,network.http.max_total_connections- and still reports them under the JSON field names the app knows (network_port_range,network_http_max_open).d.has_active_not_scrapewas renamed tod.tracker.has_active_not_scrapewith no compatibility redirect at all; requesting the old name made rtorrent fail the entire torrent-list query. rtremote now uses the new command, still reported ashas_active_not_scrape.- rtorrent 0.16 emits compact XML (
<data/>for empty results), which crashed response parsing on every empty view and empty peer list. Parsing handles it now. - A command the running rtorrent does not know is reported clearly in the log (with the command name) instead of crashing the poll loop.
Removed
- rtorrent 0.9.x support: the per-API-version command branching, the tracker-digest fallback for API < 11, and the bundled rtorrent 0.9.6/0.9.7/0.9.8 test binaries. CI now runs the full suite against a prebuilt static rtorrent v0.16.22 from Trogious/rtorrent-static.
Requirements
- rtorrent >= 0.16, compiled with XML-RPC support (
--with-xmlrpc-tinyxml2) - Python 3.9+
v2.0.0 also includes all fixes and hardening from v1.5.0.