What's Changed
Fixed
- Queue Cleaner Misses Radarr importBlocked Items — Queue Cleaner now detects all
importBlockeditems regardless of cleanup level. Previously items were silently dropped at "safe" level when status messages didn't match known keywords. Also handlesfailedPendingstate and countsimportBlockedin queue summary (#129) - Prisma Client Regeneration Fails on PostgreSQL in Docker — Replaced the monorepo
tsconfig.json(which extends a base file not present in the container) with a standalone version for the Docker runtime image. Fixes Prisma 7 failing to transpileprisma.config.tsduring provider switch ordb push(#130) - Sonarr Missing Episode Stats Overcount — Statistics page now uses Sonarr's
episodeCount(monitored episodes only) instead oftotalEpisodeCount(all episodes including unaired, unmonitored, and specials) when calculating missing episodes (#131) - Queue Remove Dropdown Clipped — Replaced inline-positioned dropdowns with portaled Radix DropdownMenu for proper rendering above
overflow-hiddencard containers (#132) - LOG_LEVEL Environment Variable Ignored — Now wires the custom logger into Fastify via
loggerInstance, supports all standard levels (fatal/error/warn/info/debug/trace), and includes log file rotation and sensitive field redaction (#133)
Added
- Sonarr Statistics Unit Tests — Comprehensive test suite for missing episode calculation covering edge cases and multi-instance aggregation
- Comprehensive Structured Logging — 35 debug-level log statements across 18 modules provide meaningful output when
LOG_LEVEL=debug - Security Dependency Updates — Patched minimatch ReDoS (CVE) and rollup path traversal via pnpm overrides
New Feature
- Skip Future Episodes — Queue Cleaner can now skip Sonarr episodes that haven't aired yet, preventing premature removal of pre-release grabs
Full Changelog: https://github.com/Kha-kis/arr-dashboard/blob/main/CHANGELOG.md