Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 22:04
· 15 commits to master since this release

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_range and network.http.max_open were renamed in rtorrent 0.16, and the old names now exist only behind the -D flag (whose meaning flipped: deprecated names are opt-in now, method.use_deprecated defaults 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_scrape was renamed to d.tracker.has_active_not_scrape with 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 as has_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.