Feature
- feat: add HappyFappy and Kufirc tracker support by @wastaken7 in #942
- feat: add Simurg tracker support by @wastaken7 in #931
- feat(bjshare): link animated XXX contact sheets in the description by @wastaken7 in #937
- feat(category): detect Switch 2 games and infer category from category-only args by @wastaken7 in #896
- feat(db): store statistics and API-key expiry in one application database by @wastaken7 in #899
- feat(docker): add Unraid and ZimaOS/CasaOS app templates by @wastaken7 in #908
- feat(history): export entries, limit retention and upload a release again by @wastaken7 in #904
- feat(history): record every processed release in a local upload history by @wastaken7 in #900
- feat(history): reuse confirmed IDs and saved answers in later runs by @wastaken7 in #903
- feat(history): search entries by ID by @wastaken7 in #906
- feat(qbittorrent): seed from an existing copy on a second client by @wastaken7 in #897
- feat(scheduling): add
--upload-atand--upload-intervalby @wastaken7 in #939 - feat(stats): add hashing, stage, upload problem, metadata, image host and post-upload statistics by @wastaken7 in #892
- feat(ulcx): use the blocked groups API and send trump reports by @wastaken7 in #928
- feat(webui): add a History page for the local upload history by @wastaken7 in #901
- feat(webui): make confirm-screen option groups collapsible by @wastaken7 in #943
- feat(webui): stop the screenshot demo at the ID confirmation by @wastaken7 in #909
- feat(xxx): fill XXX metadata from ThePornDB and BLVCKOUT by @wastaken7 in #907
- feat(xxx): find videos in pack subfolders and spread contact sheets across parts by @wastaken7 in #898
Fix
- fix: keep Sonarr/Radarr year out of manual_year by @wastaken7 in #925
- fix(amigosshare): upload movies, series and anime through the release name check by @gfrcr in #923
- fix(binaries): use static Linux bdinfo and mkbrr builds on Android by @wastaken7 in #890
- fix(bjshare): fall back to the common image host when the tracker host fails by @wastaken7 in #911
- fix(bjshare): match dual audio check per episode and ask before skipping by @wastaken7 in #924
- fix(btn): stop expecting the series premiere year for later seasons by @wastaken7 in #929
- fix(btn): use the configured announce URL in the downloaded torrent by @wastaken7 in #932
- fix(cross-seed): skip trackers that received the upload in this run by @clustered1651 in #938
- fix(docker): keep local config out of builds and drop unused compilers by @wastaken7 in #933
- fix(mediainfo): report unreadable files instead of no audio by @wastaken7 in #930
- fix(takescreens): render animated XXX contact sheets one tile at a time by @wastaken7 in #889
- fix(torrent): include external subtitles in early BASE_SUBS torrents by @wastaken7 in #913
- fix(torrent): keep the run's reuse torrent per tracker and rank candidates by recommended piece size by @clustered1651 in #940
- fix(ulcx): match MediaInfo bitrate rounding for size tiers and allow default forced subs by @wastaken7 in #935
- fix(webui): keep torrent client list menus from being clipped by @wastaken7 in #927
- fix(webui): save displayed template values when adding a tracker by @wastaken7 in #944
- fix(xxx): repair static contact sheets and mark sheets in the screenshot manifest by @wastaken7 in #936
- fix(zenith): disable per-item pack screenshots in descriptions by @wastaken7 in #926
Maintenance
- build(docker): use a slim runtime image and store bundled binaries once by @wastaken7 in #934
- refactor: tighten type narrowing for pyright in core modules by @wastaken7 in #919
- refactor: tighten type narrowing for pyright in tracker modules by @wastaken7 in #920
- refactor(trackers): centralize trump reports in one review per tracker by @wastaken7 in #915
- refactor(trackers): leave the upload-anyway decision to the tracker checks by @wastaken7 in #912
New Contributors
Full Changelog: v4.9...v5.0