github vavallee/bindery v0.7.0

latest releases: v1.15.3, v1.15.2, v1.15.1...
one month ago

Warning

Binary archives in this release are broken — the frontend was not copied into the embed path during GoReleaser build, so http://localhost:8787 serves only a .gitkeep placeholder. Use v0.7.1 instead; it is a binary-only re-cut with identical behaviour. The Docker image ghcr.io/vavallee/bindery:v0.7.0 is built from a different pipeline and is not affected.

Polish & onboarding release. Fixes the "added an author, nothing happened for 12 hours" gap that new Sonarr/Radarr migrants hit on day one, fills in the long-broken Series view, and tightens the list-page experience with filters, sorting, and cross-page navigation.

Fixed

  • Series view always empty (#46) — the /series endpoint returned nothing because series and series_books rows were never populated during author ingestion. OpenLibrary's series field is now parsed from author-works responses and single-work lookups; after a successful book insert the corresponding series row is upserted (by a stable title-derived slug) and a series_books link is created with the book's position and primary-series flag.
  • Books page "Sort by newest/oldest" broken — sort now uses the book's release date rather than its DB insertion timestamp, so chronological ordering matches the year shown in the UI.
  • Books page missing author — the table now shows an Author column (linked to the author page) and the grid view shows the author name under each cover.

Added

  • Auto-search on author add (#11) — when an author is added with "Start search for books on add" enabled (default on), Bindery immediately fires an indexer search for each wanted book after fetching the author's catalogue from OpenLibrary. Previously users had to wait up to 12 hours for the first automatic grab. The search is gated on the author being monitored; unmonitored authors are unaffected.
  • Auto-search on book status transition to wanted — updating a book's status to wanted (e.g. via "Delete file" → flips imported → wanted, or a manual status edit via the API) now triggers an immediate indexer search. Same logic as the 12-hour scheduler job. Always-on for v0.7.0; a search_on_status_change setting can be added later if opt-out is requested.
  • "Start search for books on add" checkbox in the Add Author modal (default checked), matching Sonarr's phrasing. Uncheck to add an author without an immediate search.
  • bindery reconcile-series CLI subcommand — re-fetches OpenLibrary series data for every already-ingested author and backfills the series/series_books tables. Run once after upgrading from any version that did not populate series during ingestion. Idempotent; prints {"linked":<n>,"skipped":<n>} on completion. See docs/DEPLOYMENT.md for usage.
  • Authors page filter by monitored status — filter chips for Monitored / Unmonitored / All, persisted per-page to localStorage.
  • Author Detail page — publication dates, filters, sort — books now show a Published column (sortable asc/desc by release date), with filter chips for Type (Ebook/Audiobook), Status (Wanted/Downloaded/Imported/Missing), and Publication state (Released/Upcoming).
  • Book Detail page shows full metadata — author (linked), series (linked), description, publication date, language.
  • Wanted page navigation — the book title and author on each Wanted row are now clickable links into the Book Detail and Author Detail pages.

Changed

  • NewAuthorHandler signature — now takes *db.SeriesRepo and BookSearcher arguments (added for series upsert and auto-search). Internal API; only callers in cmd/bindery/main.go are affected. No REST API change.
  • NewBookHandler signature — now takes a BookSearcher argument for the wanted-transition hook. Same scope note.

Don't miss a new bindery release

NewReleases is sending notifications on new releases.