What's new in v1.3.0
Highlights
- Replaced Readarr with DownloadOrchestrator — Admin-initiated approvals and background monitoring now use the same Prowlarr + download client pipeline as auto-approve, eliminating the Readarr dependency
- 11 color themes — Full theme editor with instant switching and localStorage persistence
- SABnzbd support — Proper API key handling for SABnzbd usenet download clients
- Smarter Prowlarr search — Flexible search queries with subtitle extraction, author validation, and indexer filtering
Features
- Replace Readarr with DownloadOrchestrator in request approval flow — Use local DB availability checks, DownloadTask-based monitoring, rename status requested → pending, add approve button animation feedback (f2934b7)
- Add theme editor with 11 color themes — Emerald Night, Sapphire, Amethyst, Rose Gold, Amber, Monochrome, Ocean Depths, Sunset Blaze, Forest Moss, Midnight Cherry, Arctic Frost (d1042b4)
- Add dynamic favicon — SVG book icon that updates to match the selected theme's primary color (d5ec54c)
- Add pending requests badge — Notification badge on Admin sidebar nav showing pending count, polls every 60s (2717da4)
- Add ability to restrict Prowlarr indexers — Per-server indexer selection with checkbox UI, new GET /prowlarr/{server_id}/indexers endpoint (7c73bd6)
- Add flexible Prowlarr search with author validation — Subtitle-first search strategy (e.g. "The Final Empire" before "Mistborn"), author name matching in release titles, multi-query with deduplication (0c8f872)
- Implement cache management for admin users — Endpoints and UI for viewing, clearing specific, and clearing all cache entries (61badcf)
- Enhance contribution handling in book saving — Better author extraction when multiple contributors exist, prioritize "Author" role (dc91804)
- Improve torrent task conflict handling — Allow re-downloading if previous task errored/failed, include state in error messages (683b944)
- Enhance torrent hash extraction — Magnet link hash extraction, exponential backoff for tag lookups, prevent race conditions (8bb4da4)
Bug Fixes
- Add api_key column to DownloadClient for SABnzbd — SABnzbd clients caused AttributeError because the model lacked an api_key column; added column, migration, dedicated frontend field, and backward-compat fallback to password (cd12b49,
d2b5d42) - Fix "Approved Today" stat — Was always 0 because approved requests immediately transition to processing; now counts post-approval statuses with today's updatedAt (2717da4)
- Filter search results by available download client protocols — Prevents showing usenet releases when only torrent clients are configured, and vice versa (aada102)
- Use format-specific qBittorrent categories — Ebook/audiobook downloads now use configured ebook_category/audiobook_category instead of the generic category (01c2564)
- Extract torrent hash before adding to qBittorrent — Download .torrent file first, parse info_hash, then add; fixes tracking failures for URL-based torrents (3339afb)
- Unify typography to Outfit font — Remove Crimson Pro serif from headings for consistent sans-serif typography (fcd246c)
- Fix series position badge number cutoff (a2d1e52)
CI/CD
- Simplify develop branch Docker tag to just develop (75b6a35)
Tests
- Fix indexerIds test to expect list instead of comma-separated string (fc9e4d4)
- Update tests for flexible search with author validation (07ebe63)
Full Changelog: v1.2.0...v1.3.0