Calibre plugin integration mode, decision engine, pending releases, and state machine for downloads.
Added
- Calibre plugin integration mode (#212) — new
pluginmode alongsidecalibredb. When selected, Bindery POSTs imported file paths to the Bindery Bridge Calibre plugin over HTTP instead of shelling out tocalibredb. Allows Calibre to run in a separate pod/container from Bindery without requiring a shared binary or library volume. Configure via Settings → Calibre → Mode: Plugin, with Plugin URL and API Key fields. - Release decision engine (#218) — specification-pattern engine evaluates candidate releases against per-profile rules before grabbing, replacing ad-hoc inline checks.
- Pending releases table (#219) — delay-held results are tracked in a dedicated pending table with UI, replacing the previous silent-drop behaviour.
- Prowlarr native indexer sync (#215) — Bindery can now sync indexer configurations directly from a Prowlarr instance.
- Add book by title or ISBN (#216) — search bar accepts ISBNs and free-text titles in addition to author queries.
- qBittorrent hash retry (#209) — retries hash lookup for 10 s after torrent URL add, fixing race where hash was not yet visible after
.torrentfetch.
Changed
- Download state machine (#217) — formalises download lifecycle states; replaces ad-hoc string constants with typed enum.
- Calibre settings tab (#220) — shared
library_pathfield hoisted to top of Calibre tab for clarity.
Upgrade notes
- No breaking schema migrations — additive only. Safe drop-in replacement.
- Calibre plugin mode requires the Bindery Bridge Calibre plugin installed in your Calibre instance.