Changelog
New Features
- 9ad7ffe737e74415d5fd8dc79a7c35ff6162d523: feat(automations): add include/exclude for trackers (#1953) (@martylukyy)
- e73867fa21201949e665a37f776bd369d2aa7ecb: feat(ci): build binaries for develop branch (#1969) (@martylukyy)
- 2020847aab4840f63e27f85ba1b374ef4741fd99: feat(crossseed): match cross-tracker relabels and alternate and/& title spellings (#1990) (@nitrobass24)
- 719866bfd3d70a01a64c478d580a2e2f62d1ac93: feat(crossseed): route season packs to categories by resolution and source (#1972) (@s0up4200)
- a6e22bae0daecfd305900ce9c589ca4b8a069afc: feat(i18n): add French translation, dynamic loading, and browser locale auto-detect (#1956) (@OlziYT)
- 77c6ea8331c4e6f4169a7453cc62ead96f41b184: feat(i18n): add German (de) translation (#1965) (@s0up4200)
- fc8664bc8e9e7322f3666dab033eb082b4c03f11: feat(i18n): add multi-language support with Simplified Chinese (#1732) (@s0up4200)
- 11ace505344f796fc20a53c94258dec556599667: feat(sse): stream torrent and activity updates, replacing background polling (#551) (@s0up4200)
- 9b7ed6c14e8d5b8f28e0a7aa6cef335ae793d68f: feat(torrents): filter for torrents with other tracker errors (#1945) (@martylukyy)
- 62bbdb427ab6f811ded3eaa5f5613b256ed08e80: feat(web): virtualized and memoized the indexer search results (#1944) (@GtwoK)
Bug Fixes
- b10ef989b730090e89e3550d1bb42d0ce22bb18f: fix(api): remove WriteTimeout that aborted downloads and SSE at 120s (#1964) (@s0up4200)
- 255bb3ec0863ccfb6b1fdec9917b509f8093ef58: fix(arr): make arr_id_cache expiry timezone-independent (#1986) (@nitrobass24)
- 4c1d743d41274c2c53a5ee19c298e519b451a9e6: fix(crossseed): harden filesystem fallback and post-add rechecks (#1912) (@Audionut)
- 8b278e554847c95c00c0ababf2f78da0dbea15aa: fix(crossseed): pin explicit savepath when cross category save path diverges (#1993) (@s0up4200)
- cab1e0fa299d22fc6e1a208694db3dfdd4f6d93e: fix(gazelle): pre-search content matching and api limits (#1981) (@Audionut)
- c3fa1693f9785fd94ea70671d5352321489dc261: fix(i18n): translate torrent state labels (#1955) (@s0up4200)
- ccb601dacb46fdb454222fcb4914900885664bbc: fix(proxy): forward API key auth to qBittorrent on passthrough requests (#1948) (@nitrobass24)
- 3cba046b8d93263df9a01f3ed1b7380b935a33b8: fix(qbittorrent): match 'repack available'/'grab internal' as unregistered (#1960) (@s0up4200)
- 591941a7466073d8048491236b1b0a779e04dea9: fix(sse): pause torrent-list stream while the tab is hidden (#1994) (@s0up4200)
- f75a1eb56df271ced3b2d0602c5df5ad46aac037: fix(sse): stop intermittent "offline" flips that fall back to polling (#1992) (@nitrobass24)
- c720c395898a96b4fa5cda2210dee2300f6fa3d3: fix(web): emit allowSubcategories from the filtered-data callback (#1979) (@nitrobass24)
- 602d440de345489f02f8c4812d57c1c712f84094: fix(web): preserve paginated rows on unified-view SSE updates (#1985) (@nitrobass24)
Other Changes
- 10063388f8403ee9cae34a29e8f1e92d0d90582e: chore(deps): bump actions/checkout from 6 to 6.0.2 in the github group (#1999) (@dependabot[bot])
- 667d6541963a1e809b5a6f77a8ac2e8682d2202c: chore(deps): bump rls to v0.8.1 (#2007) (@s0up4200)
- cc7d70a9f1355e4773ead930bba333c616d370c5: chore(deps): bump the github group with 5 updates (#1937) (@dependabot[bot])
- cc49a490d58536a2d1ec261f838aa07289681819: chore(deps): bump the github group with 5 updates (#1959) (@dependabot[bot])
- eff1a65d9bb82daeabf5443725dfe7a6615ced2c: chore(deps): bump the golang group with 14 updates (#1988) (@dependabot[bot])
- 11da2c78e41ebbdbd31fc348ee54eafab1f0ef4b: chore(deps): bump the npm group in /web with 11 updates (#1989) (@dependabot[bot])
- 33aad411c426fbcf6e4beb757c99138d10d8cebe: chore(deps): bump the npm group in /web with 28 updates (#1946) (@dependabot[bot])
- 5c74fcf66d9744d23da11ebbaf0ad493f6d2ccf3: chore(refactor): remove explicit any and enable no-explicit-any rule (#1966) (@nitrobass24)
- fefa6247eff2fa2b4e4de0ca12f0870453c038fe: chore(web): add vitest test infrastructure and CI gating (#1936) (@nitrobass24)
- 90b573a4b37667700516957fe1d56aaf2a9a0b75: chore(web): remove unused code and packages (#1957) (@martylukyy)
- 078fae9ccfeead43a4b16daeae51f47bd5879fc5: docs(agents): scope agent guidance (#1995) (@Audionut)
- 264ccfb0ca7f0c09efbcbd2df37b2fff95758b4f: refactor(go): remove dead code (#1740) (@s0up4200)
- 48d6f570b9c289845dc88713d00f0cdcae212628: refactor(web): extract TorrentTableDialogs from TorrentTableOptimized (#1980) (@nitrobass24)
- 022f5533d7a51856bcd33d1c40115f6c114cd11f: refactor(web): extract compact-sort, cross-seed, and hotkey hooks (#1976) (@nitrobass24)
- 298c78c103a539011f5316b7ba04e8346d29324b: refactor(web): extract torrent-table display helpers and row components (#1970) (@nitrobass24)
- a5b741a1f62415f0764927bcce003cfae5876b47: refactor(web): extract useBulkActionWrappers (#1977) (@nitrobass24)
- d4a051e6ea6543df6a338b454bb0b5ee9da644b6: refactor(web): extract useTorrentSelection (#1974) (@nitrobass24)
- cf84390590620efe6eb81be3d5303b8a4f6c09a0: refactor(web): extract useTorrentSelectionDerivations (#1975) (@nitrobass24)
- 18adff9919c40e90df1bec0420d473f98e559467: refactor(web): extract useTorrentTableColumns and useTorrentTableNotifications (#1978) (@nitrobass24)
- eb336aca3237aeeb59e5844360854f647d96ec2b: refactor(web): extract useTorrentTableFilterExpr (#1973) (@nitrobass24)
- f1556e8da6d3d1f120859cb345ab3ac886f28ba9: refactor(web): extract useTrackerIconCache and useEffectiveServerState (#1971) (@nitrobass24)
- 31f2cd9f866b658bcf6a6eef257c282b8cff2692: refactor(web): extract virtualization, filter-lifecycle FSM, and column DnD from TorrentTableOptimized (#1982) (@nitrobass24)
- fdd0e566c7010da58bad87192c9a4e9ae825f71a: refactor(web): split types/index.ts into domain modules behind a barrel (#1968) (@nitrobass24)
- 2cca076c6157e55e09c016b51be5d2fab928d140: test(db): speed up migrated database tests (#1938) (@Audionut)
- a10e697802e9bb76cfea60090bbe3f312576bacd: test(sse): warm up subscription before coalescing burst (#1987) (@s0up4200)
- 05fda2a0981e527c69df2f0bb7a06f2a92cc75dc: test(web): add unit tests for Priority 1 pure utilities (#1940) (@nitrobass24)
- 8df70a5543b8b750d854476b5f89a79c609e2371: test: fan out testdb helper to remaining database.New callers (#1962) (@nitrobass24)
Full Changelog: https://github.com/autobrr/qui/compare/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!