Important
Python 3.15
Upload Assistant now runs on Python 3.15, and the Docker image is built on it.
Python 3.14 is still supported, so existing installs keep working without changes.
To move an existing install to Python 3.15 (optional):
- uv:
uv tool install --force --python 3.15 upload-assistant - Docker: pull the new image.
- Seedbox installer: rerun it with
--force-update. Without that flag, it keeps your current Python 3.14 environment.
Feature
feat: add Amigos Share Club tracker support by @wastaken7 in #886
feat: add CZTeam tracker support by @wastaken7 in #824
feat: add DirtyBytes tracker support by @wastaken7 in #844
feat: add ExoticaZ upload support by @wastaken7 in #845
feat: add FileIPlay tracker support by @wastaken7 in #885
- feat: add option to edit payload data by @wastaken7 in #861
- feat: clean UA, release group and upload tool boilerplate from imported descriptions by @wastaken7 in #822
- feat: enhance manual input handling by @wastaken7 in #846
- feat(bjshare): import IDs and descriptions from torrent comment links by @wastaken7 in #865
- feat(bluray): add --bluray-url to use an unlisted Blu-ray.com edition by @wastaken7 in #851
- feat(bluray): reuse the Blu-ray.com edition linked in tracker descriptions by @wastaken7 in #852
- feat(books): include the table of contents page in ebook screenshots by @wastaken7 in #870
- feat(trackers): add ZmPT support by @ChrisGray0626 in #820
- feat(usenet): label pesto season upload progress per episode by @gettheforkoff in #831
- feat(webui): add folder-scoped search by @colardocookie in #815
- feat(webui): add tracker pinning and customizable groups by @FortKnox1337 in #830
- feat(webui): collapse individual queue items in GUI results by @wastaken7 in #823
- feat(webui): graphite and amber visual refresh by @wastaken7 in #855
- feat(webui): show the selected tracker description and ask before using it by @clustered1651 in #818
Fix
- fix(aither): align upload fields with current API docs by @wastaken7 in #843
- fix(anthelion): align upload and search with current API spec (r22) by @wastaken7 in #841
- fix(args): make
--hardcoded-subs-languageimply--hardcoded-subsby @wastaken7 in #847 - fix(bluray): only look up Blu-ray.com when get_bluray_info is enabled by @wastaken7 in #859
- fix(clients): validate music torrent reuse against the whole release folder by @wastaken7 in #873
- fix(dvd): ignore IFO audio and subtitle slots no program chain plays by @wastaken7 in #882
- fix(hawkeuno): send explicit upload attributes per current API spec by @wastaken7 in #842
- fix(infinityhd): normalize AKA/year order in fallback names by @colardocookie in #825
- fix(music): require cover artwork only for trackers that need it by @wastaken7 in #872
- fix(qbit): fall back to WebUI credentials when the qui proxy fails by @wastaken7 in #881
- fix(qbittorrent): preserve client metadata when rejecting reuse candi… by @GamerGirlN6467 in #857
- fix(qbittorrent): qBittorrent 5.3 seed mode compatibility by @gizeto in #829
- fix(resource-coordinator): fall back when own process start time is access-denied by @wastaken7 in #848
- fix(screens): fill EPUB cover screenshots when MuPDF shrinks the cover image by @wastaken7 in #850
- fix(screens): stop re-hosting XXX contact sheets on reruns by @wastaken7 in #856
- fix(site-check): skip BDMV discs cleanly instead of failing the item by @wastaken7 in #871
- fix(tags): stop treating DUAL/MULTI suffixes as release groups by @wastaken7 in #869
- fix(takescreens): seek DVD screenshots within the longest program chain by @wastaken7 in #876
- fix(trackers): normalize TMDB original_language codes in language checks by @wastaken7 in #836
- fix(trackers): use --name verbatim in tracker release names by @wastaken7 in #827
- fix(unit3d): fit descriptions to the 65,535-byte column by dropping later disc MediaInfo by @wastaken7 in #874
- fix(webui): allow discarding hosted screenshots so fresh frames are re-hosted by @wastaken7 in #875
- fix(webui): remember collapsed Results items across reloads by @wastaken7 in #838
- fix(webui): reset the description draft state for each queue item by @clustered1651 in #817
- fix(webui): serialize description draft writes across processes by @clustered1651 in #879
- fix(webui): show missing-field text prompts as GUI form fields by @wastaken7 in #837
- fix(webui): show prompt context as GUI fields for remaining CLI prompts by @wastaken7 in #839
Maintenance
- build: default to Python 3.15 and test 3.14 and 3.15 by @wastaken7 in #884
- chore(deps): bump dependencies to their latest versions by @wastaken7 in #877
- chore(deps): update 7zip to 26.05 by @github-actions[bot] in #821
- chore(deps): update pesto to pesto-v0.10.6 by @github-actions[bot] in #849
- perf(upload): upload packs concurrently and cut fixed waits by @wastaken7 in #880
- perf(webui): speed up page startup and the tracker catalogue by @wastaken7 in #878
- refactor(languages): name languages with Babel and drop language-data by @wastaken7 in #883
New Contributors
- @ChrisGray0626 made their first contribution in #820
- @gettheforkoff made their first contribution in #831
- @clustered1651 made their first contribution in #817
Full Changelog: v4.8...v4.9