github autobrr/qui v1.35.0

3 hours ago

Changelog

Breaking changes

  • New release signing key. If you skip this release and later update an older version with the in-app updater, the update fails with a signature error. Download the new release by hand one time, and the in-app updater then works again. Docker images are not affected.

Highlights

  • Cross-seed routes. Pick a Cross-seed instance on the Hardlink / Reflink Mode card, and qui adds the cross-seeds there and shows where each one went. The Cross-seed instance needs qBittorrent 5.0 or later.
  • Full-screen torrent details on a phone. The details view fills the screen and has a section bar at the bottom. The Peers tab also shows an icon for each peer client.
  • Smoother torrent table. A steady scroll in the desktop table no longer stops at every 100 rows.
  • Safer orphan scan. Orphan scan keeps the files and empty folders that a torrent or another instance reaches through a symlink or a bind mount.
  • Cross-seed and Dir Scan fixes. qui no longer uses a source that qBittorrent moves or checks, and it adds matches whose download name has no group. A Full Dir Scan reads the directory one time, so a scan over SSH no longer takes hours.
  • Fixes and polish. Arrow keys work in path autocomplete, dialogs keep a side margin on phones, the workflow preview shows translated states, the automation editor lists actions in run order, paused exports with checking on pass verification, the client proxy works with apps that send a Referer, cross-seed metrics show on /metrics, indexer health works on SQLite, season pack runs show Applied first, and native Torznab searches send the correct type.

Breaking Changes

New Features

  • feat(api): return the SSH tier and hardlink flag per instance (#3717) (@nitrobass24)
  • feat(automations): count routed links in hardlink scope (#3667) (@s0up4200)
  • feat(automations): list actions in the order a run applies them (#2999) (@ColinHebert)
  • feat(crossseed): add a Test route endpoint (#3665) (@s0up4200)
  • feat(crossseed): add routed cross-seeds to Cross-seed instance (#3668) (@s0up4200)
  • feat(crossseed): add season packs to the Cross-seed instance (#3675) (@s0up4200)
  • feat(crossseed): check that the Cross-seed instance sees data (#3671) (@s0up4200)
  • feat(crossseed): map route paths and count routed torrents (#3662) (@s0up4200)
  • feat(crossseed): show applied season pack runs by default (#3685) (@s0up4200)
  • feat(crossseed): sort routed candidates and check Library Scan (#3672) (@s0up4200)
  • feat(crossseed): store a route to a Cross-seed instance (#3651) (@s0up4200)
  • feat(dirscan): check the Cross-seed instance for duplicates (#3661) (@s0up4200)
  • feat(instances): refuse changes that break a cross-seed route (#3663) (@s0up4200)
  • feat(orphanscan): keep files that a Cross-seed instance uses (#3666) (@s0up4200)
  • feat(peers): show peer client icons in the Peers tab (#3720) (@s0up4200)
  • feat(web): add the route form to the cross-seed page (#3677) (@s0up4200)
  • feat(web): confirm before a change removes route protection (#3679) (@s0up4200)
  • feat(web): full-screen mobile details view and copy check icon (#3703) (@s0up4200)
  • feat(web): show where each cross-seed went (#3676) (@s0up4200)

Bug Fixes

  • fix(automations): translate states in the workflow preview (#3648) (@s0up4200)
  • fix(automations): verify paused exports with checking on (#3053) (@mvanhorn)
  • fix(crossseed): add matches whose download name has no group (#3698) (@s0up4200)
  • fix(crossseed): skip sources that qBittorrent moves or checks (#3650) (@s0up4200)
  • fix(indexers): parse SQLite latency aggregate timestamps (#2718) (@anupamking01)
  • fix(jackett): keep the caller's search type in native direct searches (#3093) (@thejdubb02)
  • fix(make): run test-openapi uncached, lint-json against develop (#3646) (@s0up4200)
  • fix(metrics): register cross-seed match metrics on the metrics endpoint registry (#3094) (@thejdubb02)
  • fix(orphanscan): keep an empty folder reached through an alias (#3686) (@com6056)
  • fix(orphanscan): keep files of another instance behind a symlink (#3681) (@s0up4200)
  • fix(orphanscan): recheck file identity before a delete (#3596) (@com6056)
  • fix(proxy): drop client Referer and Origin before forwarding to qBittorrent (#3172) (@thejdubb02)
  • fix(web): keep a side margin on dialogs on a phone (#3649) (@s0up4200)
  • fix(web): keep long names inside dialogs (#3644) (@s0up4200)
  • fix(web): make arrow keys move the path autocomplete highlight (#3701) (@s0up4200)
  • fix(web): name the After injection tab in Dir Scan help (#3684) (@s0up4200)

Other Changes

  • chore(build): add make mutation for local mutation testing (#3718) (@s0up4200)
  • chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 in the github group (#3655) (@dependabot[bot])
  • chore(deps): bump follow-redirects from 1.16.1 to 1.16.2 in /documentation (#3669) (@dependabot[bot])
  • chore(deps): bump joi from 17.13.8 to 17.13.9 in /documentation (#3670) (@dependabot[bot])
  • chore(deps): bump the golang group with 7 updates (#3704) (@dependabot[bot])
  • chore(deps): bump the npm group across 1 directory with 15 updates (#3705) (@dependabot[bot])
  • chore(macroscope): check PRs with UI changes for screenshots (#3660) (@s0up4200)
  • ci(release): lock published releases and record ADR 0036 (#3700) (@s0up4200)
  • ci: run the release build in the release environment (#3694) (@s0up4200)
  • docs(agents): trim the always-loaded agent files (#3645) (@s0up4200)
  • docs(crossseed): document the Cross-seed instance setup (#3680) (@s0up4200)
  • docs(orphanscan): say that deleting a hardlink frees no space (#3673) (@s0up4200)
  • perf(dirscan): walk a Dir Scan directory once per Full scan (#3613) (@com6056)
  • perf(web): make the desktop torrent table scroll smoother (#3657) (@s0up4200)
  • refactor(lint): fix errchkjson in service.go (#3654) (@qui-rabbit[bot])
  • refactor(lint): fix errchkjson in service.go (#3690) (@qui-rabbit[bot])
  • refactor(web): list controller owns the bulk actions (#3643) (@s0up4200)
  • refactor(web): one load-more window for both torrent lists (#3641) (@s0up4200)
  • test(crossseed): cover release tags present on one side only (#3712) (@s0up4200)
  • test(web): cover path separator helpers (#3711) (@s0up4200)

Full Changelog: v1.34.0...v1.35.0

Docker images

  • docker pull ghcr.io/autobrr/qui:v1.35.0
  • docker pull ghcr.io/autobrr/qui:latest

What to do next?

Thank you for using qui!

Don't miss a new qui release

NewReleases is sending notifications on new releases.