github irnutsmurt/Protectarr v0.9.1
v0.9.1 - ownership safety fix

latest release: v0.9.2
4 hours ago

An ownership safety fix. No new features.

What changed

Protectarr will no longer delete a torrent from qBittorrent as "unowned" when its own ownership store still records an application as the owner.

Until now the category fallback asked only whether an application claimed the torrent on the current scan. A stored owner counted for nothing. When the two disagreed, the torrent was removed from qBittorrent along with its files, with no blocklist entry and no replacement search, and the event recorded "no *arr owned it" while the ownership store named one.

Three situations reached that, and all three are fixed:

  • Paused or stopped torrents. Paused states are deliberately excluded from orphan handling, so that pausing a download is never mistaken for abandoning it. That exclusion also meant no orphan dwell ever started, so a paused torrent had no protection at all and pausing one was the quickest way to get it deleted.
  • A torrent whose owning application was unreachable on that scan.
  • A torrent whose owning application had been removed from Protectarr's configuration. The existing "could every application queue be read" check compares against configured applications, so a removed one is missing from both sides of the comparison and the check still passed.

The last case may leave torrents that no configured application can account for. Protectarr now leaves those alone and shows them as blocked, naming the application that used to own them. Removing them is a decision for you, not for Protectarr.

Deliberately unchanged

  • Orphan dwell behaviour. A torrent verifiably absent from its owner's queue while still downloading is still remediated once the dwell expires. That state is earned by watching the torrent leave a queue Protectarr actually read, which is a real observation; a stored owner with no current claim is not.
  • Genuinely unowned torrents in allowlist and either modes are still removed through the category fallback.
  • Live claims still route through the owning application, with a blocklist entry and a replacement search.
  • arr_tracked, the default mode, which has never removed anything directly.

Not fixed in this release

A newly observed torrent with no stored ownership at all is still affected by a separate race. Measured against Sonarr 4.0.20 and Radarr 6.4.4: a grabbed release reaches its application's queue about five seconds after qBittorrent has it. A scan landing inside that window sees a torrent nobody claims, and in allowlist or either mode can remove it.

This is a different problem with a different fix, and it is being worked on separately. If you run allowlist or either and want to avoid it entirely, arr_tracked is not affected.

Notes

  • The README screenshots still show v0.9.0. The interface is unchanged in this release apart from the version string and one refusal message.
  • No configuration changes are needed. No migration.
ghcr.io/irnutsmurt/protectarr:0.9.1

Don't miss a new Protectarr release

NewReleases is sending notifications on new releases.