Repository navigation
v0.3
Release v0.3 — Upload-awareness & History-driven Backfill
This release extends arr-tracker-source-tagger beyond event-based tagging and adds two major capabilities:
history-based backfilling and upload-aware protection tagging.
The focus of this version is library safety, traceability, and post-hoc correctness.
✨ New Features
History-based backfill (/backfill/history)
It is now possible to retroactively tag existing Sonarr and Radarr libraries.
- Uses Arr History instead of relying on active torrents
- Joins
grabbed→*Imported*events viadownloadId - Extracts indexer information from history (primary signal)
- Optional fallback to qBittorrent trackers if history is incomplete
- Sonarr tagging is applied per series (latest successful import only) to reduce noise
- Fully idempotent and dry-run capable
Configurable via request payload:
dry_runlimitonly_missingreapplypage_size
Upload-aware tagging (/backfill/uploading)
A new endpoint to protect content that is actively being uploaded to trackers.
- Reads torrents from a configurable qBittorrent category (default:
tracker_own_uploads) - Supports dedicated upload qBittorrent instances or fallback to the primary one
- Matches torrent names against Sonarr/Radarr using Arr’s native
/parseendpoint - Applies a dedicated tag (default:
uploading) - Sonarr tagging is restricted to full season packs only
- Designed to integrate cleanly with Maintainerr rules
This prevents accidental cleanup of content that is still in active upload/seed workflows.
🛠 Improvements & Fixes
- Sonarr season pack detection fixed
- Now relies on
parsedEpisodeInfo.fullSeasonandreleaseType=seasonPack - Compatible with Sonarr versions that populate top-level
episodeseven for season packs
- Now relies on
- qBittorrent tracker lookup during backfill is now non-fatal
- Missing torrents (HTTP 404) are handled gracefully
- qBittorrent fallback during history backfill is fully bomb-proof
- Network errors or missing torrents no longer abort the run
- Improved logging around decision paths (indexer vs tracker vs fallback)
⚙️ Configuration Additions
New environment variables introduced in this release:
# History backfill
HISTORY_FALLBACK_QBIT=true
# Upload protection
UPLOADING_TAG=uploading
UPLOAD_QBIT_CATEGORY=tracker_own_uploads
# Optional dedicated upload qBittorrent instance
QBIT_UPLOAD_URL=
QBIT_UPLOAD_USERNAME=
QBIT_UPLOAD_PASSWORD=
QBIT_UPLOAD_VERIFY_TLS=trueAll new features are optional and backward-compatible.
🧠 Design Notes
No Arr state is mutated unless explicitly requested (dry_run=false)
Existing source tags (pt-*, public) are never modified by upload tagging
The tool remains stateless and automation-friendly
Designed to work equally well with single- or multi-qBittorrent setups
🏷 Version
Tag: v0.3
Compatibility: Sonarr v3 / Radarr v3+, qBittorrent v4+