Skip to content

v2.12.0

Choose a tag to compare

@shcizo shcizo released this 11 Aug 05:48
· 25 commits to main since this release

Features

  • feat: let a parked job state its own reason (#484)
  • feat: stop retrying after N identical candidate rejections (#472)
  • feat: add IMPORT_REFUSED for a permanent Lidarr refusal (#470)
  • feat: show restart progress after saving settings (#154)

Fixes

  • fix: read the park reason from a source the stream can't erase (#484)
  • fix: stop the parked copy pointing at events the row expansion lacks (#487)
  • fix: guard the store's filter allowlist and name the album-folder trap (#470)
  • fix: wire the importRefused facet through to the dashboard (#470)
  • fix: give one job at a time the right to a download folder (#471)
  • fix: register case-variant download folders as one row (#479)
  • fix: make dedup album-aware in multi-album folders (#280)
  • fix: guard InsertCandidates' job reset on WANTED (#294)
  • fix: keep live rows out of terminal job pages (#291)
  • fix: remember failed candidates across search cycles (#317)
  • fix: give job_failed a detail that says why the job gave up (#318)
  • fix: exclude the server's forbidden phrases from search responses (#324)

Refactoring

  • refactor: register the local download folder at write time (#314)

Documentation

  • docs: correct the controls-row width note against a measurement (#470)
  • docs: record that Lidarr sends the rejection type in lower case (#470)
  • docs: a compose example that brings Lidarr with it (#455)

Tests

  • test: pass the transfer deadline in the download-folder fixture (#314, #441)
  • test: close the review gaps on the excluded-phrase filter (#324)

Chores

  • chore: backlog triage report for 2026-08-10
  • chore: let backlog triage read the labels it already had (#489)
  • chore: don't let the new counts overstate what they know (#476)
  • chore: record the counts behind an incomplete-download rejection (#476)