github vavallee/bindery v1.47.0

2 hours ago

Bindery can now upgrade the ebooks you already have, find new books in a monitored series, undo a bad import in one step, prefer audiobook narrators and unabridged editions, and import from folders that are not library roots. Every new behaviour is off until you switch it on, so an upgrade changes nothing by itself. Adds database migrations 121 to 123, which run on startup. Migration 122 also switches off the long unused "upgrade allowed" flag on existing quality profiles, so only profiles you opt in afterwards start upgrading.

Added

  • Ebook format upgrades (#2420, #3661). A quality profile can now upgrade ebooks: tick "Upgrade ebooks that rank below the cutoff", pick a cutoff such as EPUB, and Bindery searches again for imported ebooks that only have a lower format, like a MOBI, and imports the better one. It is off by default, and profiles that existed before this release were switched off on update, so nothing changes until you opt in. The old file is kept next to the new one unless you also tick "Delete the old file after a verified upgrade". The old file is deleted only when the new file's title is identical to the book's title and its author matches by full name, so a sequel, a box set or a subtitled edition keeps the old file and is simply imported beside it. An upgrade is held to a stricter content check than a normal import: if the new file turns out to be a different book it is refused and blocklisted, and the file you have is never touched. A finished upgrade fires the Upgrade notification. Audiobooks are not upgraded. Thanks to kennethp1015 for the request and for the rule that a wrong book must never replace a good file.
  • Monitoring a series now finds and adds its new books (#2523, #3664). Turn on Settings, General, Series checking (off by default, because the Monitored switch did nothing until now and every series already switched on would start adding books) and Bindery checks each monitored series against its Hardcover link on a schedule. It adds what is missing the way Fill gaps does, so box sets and split editions are left out, and it leaves a row alone when it cannot tell it from a book you already have. What a series adds is set on its card: Upcoming only (the default) adds announced and newly released books and leaves older gaps to Fill gaps, All adds every missing book. A book with a future release date is listed as Upcoming on the Wanted page, which also gains an Upcoming filter, and the scheduled search leaves it alone until that date. Each check follows a moved date. The series card shows when it was last checked and how many books were added, or why it could not be checked, such as a missing Hardcover link. Requested by magrhino, who also proposed the Upcoming behaviour.
  • Reject import (#3250, #3660). A bookImported row in History and on the book page now has a Reject import button, requested by foobarbigtime. One confirmed action detaches the imported file, blocklists the release it came from for that book and puts the book back on Wanted, all or nothing. The file is deleted from disk only when it is inside a library folder, otherwise it is just untracked, and an import that recorded no release is still rejected without a blocklist entry. A file that a later import replaced at the same path is left alone.
  • Narrator and edition preferences for audiobooks (#1358, #3663). A quality profile can now prefer narrators and either prefer unabridged editions or reject abridged ones, both off by default so nothing changes until you set them. Interactive search shows the edition type and narrator a release name states, and the book page shows the narrators and edition type of its audiobook edition when Audiobookshelf supplied them. Editions now store a narrator list and an edition type. Narrator names read from a release title are a best effort: when a title is ambiguous the narrator is left unknown, and the design is written up in docs/narrator-edition-design.md.
  • Import source folders (#2168, #3659). Admins can list extra folders under Settings, General, Import that Import, From a folder may browse and import from, without making them root folders. Nothing is filed there and they are never scanned as a library. A move import still removes the files it imports from that folder, so mount it read only if you want a move to fail instead. Requested by WillowMist.

Changed

  • README screenshots match the current interface (#3546, #3614). The images and the tour GIF are regenerated, and make screenshots now rebuilds them from a demo library in a throwaway container. Thanks to francisrath.

Don't miss a new bindery release

NewReleases is sending notifications on new releases.