Changelog
New Features
- 9ad7ffe: feat(automations): add include/exclude for trackers (#1953) (@martylukyy)
- e73867f: feat(ci): build binaries for develop branch (#1969) (@martylukyy)
- 2020847: feat(crossseed): match cross-tracker relabels and alternate and/& title spellings (#1990) (@nitrobass24)
- 719866b: feat(crossseed): route season packs to categories by resolution and source (#1972) (@s0up4200)
- a6e22ba: feat(i18n): add French translation, dynamic loading, and browser locale auto-detect (#1956) (@OlziYT)
- 77c6ea8: feat(i18n): add German (de) translation (#1965) (@s0up4200)
- fc8664b: feat(i18n): add multi-language support with Simplified Chinese (#1732) (@s0up4200)
- 11ace50: feat(sse): stream torrent and activity updates, replacing background polling (#551) (@s0up4200)
- 9b7ed6c: feat(torrents): filter for torrents with other tracker errors (#1945) (@martylukyy)
- 62bbdb4: feat(web): virtualized and memoized the indexer search results (#1944) (@GtwoK)
Bug Fixes
- b10ef98: fix(api): remove WriteTimeout that aborted downloads and SSE at 120s (#1964) (@s0up4200)
- 255bb3e: fix(arr): make arr_id_cache expiry timezone-independent (#1986) (@nitrobass24)
- 4c1d743: fix(crossseed): harden filesystem fallback and post-add rechecks (#1912) (@Audionut)
- 8b278e5: fix(crossseed): pin explicit savepath when cross category save path diverges (#1993) (@s0up4200)
- cab1e0f: fix(gazelle): pre-search content matching and api limits (#1981) (@Audionut)
- c3fa169: fix(i18n): translate torrent state labels (#1955) (@s0up4200)
- ccb601d: fix(proxy): forward API key auth to qBittorrent on passthrough requests (#1948) (@nitrobass24)
- 3cba046: fix(qbittorrent): match 'repack available'/'grab internal' as unregistered (#1960) (@s0up4200)
- 591941a: fix(sse): pause torrent-list stream while the tab is hidden (#1994) (@s0up4200)
- f75a1eb: fix(sse): stop intermittent "offline" flips that fall back to polling (#1992) (@nitrobass24)
- c720c39: fix(web): emit allowSubcategories from the filtered-data callback (#1979) (@nitrobass24)
- 602d440: fix(web): preserve paginated rows on unified-view SSE updates (#1985) (@nitrobass24)
Other Changes
- 1006338: chore(deps): bump actions/checkout from 6 to 6.0.2 in the github group (#1999) (@dependabot[bot])
- 667d654: chore(deps): bump rls to v0.8.1 (#2007) (@s0up4200)
- cc7d70a: chore(deps): bump the github group with 5 updates (#1937) (@dependabot[bot])
- cc49a49: chore(deps): bump the github group with 5 updates (#1959) (@dependabot[bot])
- eff1a65: chore(deps): bump the golang group with 14 updates (#1988) (@dependabot[bot])
- 11da2c7: chore(deps): bump the npm group in /web with 11 updates (#1989) (@dependabot[bot])
- 33aad41: chore(deps): bump the npm group in /web with 28 updates (#1946) (@dependabot[bot])
- 5c74fcf: chore(refactor): remove explicit any and enable no-explicit-any rule (#1966) (@nitrobass24)
- fefa624: chore(web): add vitest test infrastructure and CI gating (#1936) (@nitrobass24)
- 90b573a: chore(web): remove unused code and packages (#1957) (@martylukyy)
- 078fae9: docs(agents): scope agent guidance (#1995) (@Audionut)
- 264ccfb: refactor(go): remove dead code (#1740) (@s0up4200)
- 48d6f57: refactor(web): extract TorrentTableDialogs from TorrentTableOptimized (#1980) (@nitrobass24)
- 022f553: refactor(web): extract compact-sort, cross-seed, and hotkey hooks (#1976) (@nitrobass24)
- 298c78c: refactor(web): extract torrent-table display helpers and row components (#1970) (@nitrobass24)
- a5b741a: refactor(web): extract useBulkActionWrappers (#1977) (@nitrobass24)
- d4a051e: refactor(web): extract useTorrentSelection (#1974) (@nitrobass24)
- cf84390: refactor(web): extract useTorrentSelectionDerivations (#1975) (@nitrobass24)
- 18adff9: refactor(web): extract useTorrentTableColumns and useTorrentTableNotifications (#1978) (@nitrobass24)
- eb336ac: refactor(web): extract useTorrentTableFilterExpr (#1973) (@nitrobass24)
- f1556e8: refactor(web): extract useTrackerIconCache and useEffectiveServerState (#1971) (@nitrobass24)
- 31f2cd9: refactor(web): extract virtualization, filter-lifecycle FSM, and column DnD from TorrentTableOptimized (#1982) (@nitrobass24)
- fdd0e56: refactor(web): split types/index.ts into domain modules behind a barrel (#1968) (@nitrobass24)
- 2cca076: test(db): speed up migrated database tests (#1938) (@Audionut)
- a10e697: test(sse): warm up subscription before coalescing burst (#1987) (@s0up4200)
- 05fda2a: test(web): add unit tests for Priority 1 pure utilities (#1940) (@nitrobass24)
- 8df70a5: test: fan out testdb helper to remaining database.New callers (#1962) (@nitrobass24)
Full Changelog: v1.19.0...v1.20.0
Docker images
docker pull ghcr.io/autobrr/qui:v1.20.0docker pull ghcr.io/autobrr/qui:latest
What to do next?
- Join our Discord server
Thank you for using qui!