Triggarr now searches only what you scoped it to, grades every cycle honestly, survives bad records from your *arr apps, and credits Sonarr grabs to the right search exactly once.
What's new
- Sonarr v5 support (verified on isolated v5 and v4 test instances). v5 grab history no longer says which season a grab belongs to, so Triggarr looks it up in Sonarr's episode data and never guesses. Multi-season packs and alternate episode ordering are covered by tests but haven't been verified live.
- Honest cycle outcomes. Each instance's last cycle is graded Success, Partial, Failed or Nothing needed on the dashboard.
- Tag-scoped searches stay in scope. If a queue's tag can't be found, that queue is skipped rather than searching your whole library.
- More robust cycles. One malformed record from Radarr, Sonarr or Lidarr no longer stops a cycle, and a Sonarr season is searched at most once per cycle.
- Permanent instance IDs. Renaming an instance keeps its history and stats.
- Security: reset tokens never appear in the in-app log viewer, and *arr errors are always logged with secrets removed. certifi is updated for PYSEC-2026-4320.
- Fixes: the connection indicator no longer re-requests itself in a loop. The fourth stats card is now titled "Average time to grab". The version badge shows the real version again; v2.11.1 builds showed "v2.11.0".
How Sonarr grab counts change
Until now, Sonarr grab tracking had three flaws:
- It ignored the season. A grab for Season 3 could be credited to a search for Season 1 of the same show.
- It could credit the same grab more than once. The same grab could count for more than one search, or again on a later check.
- It counted grab events, not episodes. If Sonarr grabbed an episode twice (for example a season pack grabbed again), that episode counted twice.
From v2.12.0, a grab is credited only to a search for the same series and season. Each grab counts once, ever, and each episode counts once.
What you'll see after upgrading:
- Your existing totals don't drop. Triggarr doesn't recalculate the past. Sonarr's lifetime "episodes found" and "upgraded" totals keep their current values and grow correctly from now on.
- New Sonarr grabs will usually add up more slowly than before, because the over-counting has stopped, not because fewer episodes are found.
- Sonarr stats that include pre-upgrade data are labeled. Grab rate, the lifetime episode total and average time to grab carry "Includes historical estimates" or "Lifetime — includes historical estimates". A note reads: "Attribution corrected on . Earlier results may include misattributed or double-counted grabs." Fresh installs see neither.
- Searches still pending at upgrade time stop being tracked. They show "Legacy — tracking discontinued" in history and are left out of the grab rate from then on.
- Radarr and Lidarr counting is unchanged. The season problem was Sonarr-only.
- Stats now follow the instance, not its name. Renaming an instance keeps its stats.
Before you upgrade
- The config directory must be writable. On first start, Triggarr adds a permanent
idto each instance intriggarr.toml, and it won't start if it can't write the file. - The database moves to schema v10. You can't roll back by switching to an older image, because that double-counts stats. Back up
/configfirst. To recover from a problem, deploy a newer build. See the upgrade guide. - Tag-scoped queues with a missing tag now skip instead of searching everything.