github vavallee/bindery v1.46.1

2 hours ago

An audiobook language check at import, author refresh that corrects the release date of books you already have, re-bind that empties values the new record lacks, a qBittorrent grab that can no longer pick up someone else's torrent, and Google Books only titles that can be added again

Added

  • Audiobooks are checked for language at import (#3497, #3502). The release name filter cannot tell that Dungeon Crawler Carl EspanolNeutro m4b is Spanish, and until now an audiobook never got a second look the way an EPUB does. When a download finishes, Bindery reads the language tags in the audio files (ID3 TLAN, an MP4 LANGUAGE atom, a Vorbis LANGUAGE comment) and, if most of the tagged tracks are in a language the author's metadata profile does not allow, blocks the import, blocklists the release and searches again. Files with no language tag are never rejected, one stray track will not block a release, and manual import is untouched. This is the second half of the language fix that began in v1.46.0 with names glued to another word. Thanks to jh11-web for the report.

Changed

  • Refreshing an author now corrects the release date of books you already have (#3105, #3534). Until now a date fixed upstream never reached a book that was already in your library unless you re-bound it by hand. This changes behaviour for every install: on an author refresh, a book from the same provider that the provider's record identifies by its own id takes the provider's current release date when it differs, and gets a description if it has none. The year feeds the {Year} naming token and the search year, so a corrected date can change a folder or file name the next time that book is imported or reorganised. A refresh never empties a field, never changes a field you edited (those are locked) or one you settled on the Audiobookshelf conflicts page, never replaces a description you already have, and skips excluded books, books from another provider, and books matched by title. This only partly closes #3105: language is not updated, because a catalogue language can be a guess, genres keep their existing backfill, and books matched by title or from another provider are left as they are. If you want a date to stay, edit it so it locks.
  • SQLite driver updated (#3510). The bundled modernc.org/sqlite goes from 1.60.1 to 1.61.0, which brings SQLite 3.54.1. No settings or data changes are needed.
  • Refreshed base images (#3508, #3509, #3511, #3516, #3517, #3518, #3519). The Go, Node and distroless base image digests used to build the main image, the telemetry server and the Discord stats tool were updated to their latest releases. Nothing changes in how Bindery behaves.

Fixed

  • qBittorrent grabs no longer adopt someone else's torrent (#3536, #3539). When Bindery had to work out which torrent it had just added, it picked the newest new one, and torrents have only one second timestamps. A torrent added by another tool in the same second could win, and Bindery would then move it into the books category and track it as the grab. Each add is now tagged with a unique marker and Bindery only accepts the torrent carrying it (the tag is removed again afterwards). A v2 only torrent, whose hash Bindery cannot derive, is found the same way. A failed list read before the add no longer makes every torrent a candidate. Only for a client that ignores tags (some API emulators) Bindery still compares the torrent list before and after, and there it fails the grab instead of guessing when several new torrents cannot be told apart; real qBittorrent echoes the tag, so it never reaches that fallback. Thanks to jdcrensh for the report.
  • A book only Google Books knows can be added again (#3538, #3540). Add Book used to answer "Author metadata unavailable" for a Google Books title whose author OpenLibrary has never heard of, and the "Add Author by name" it pointed to could not create the author either. When OpenLibrary is on, answers, and has no record of the name at all, Bindery now makes the author from the name on the volume and adds the book, and a second book by the same author reuses it. With OpenLibrary off, failing, or holding a same name record, the message stays. Refresh still asks Hardcover and Audible by name for such an author, two different people with the same name share one author, and the same person found later on OpenLibrary is a second author to merge by hand. Adding an author from a typed name on the Authors page is still not possible for an author no provider knows. Thanks to ngoc-minh-do for the report.
  • Re-bind no longer keeps values the new record does not have (#3104, #3532). Moving a book to a record without a release date, language, description or genres now empties the old value instead of leaving it behind, and the result lists what was emptied. A field you locked is left alone, and so is one the provider could not answer for. Values an import wrote that you did not lock count as the provider's, so they are emptied like any other.
  • Add Book now says when it made a book both formats (#3482, #3529). Adding the audiobook of a book you had as an ebook (or the other way round) widened your existing book to both formats, then told you only that it was already in your library. The dialog now says the book is tracked as both. The Norwegian and Swedish texts are translated, other languages show the English line until translated.
  • Library scan and multi author "Author - Title" files (#3494, #3530). A file like Stephen King, Peter Straub - The Talisman.epub in the Stephen King folder is now read as author then title, so it matches The Talisman (or stays unmatched under that title) instead of being linked to a catalogue row named after the author, such as "Stephen King 8". A near miss spelling of the folder author on the left of the dash is no longer matched as a title either. This only partly closes #3494: a spelling like Dostoyevsky in a Dostoevsky folder is not recognised as the author at all, so that file can still match on a name shaped title and needs a separate fix.
  • Last low contrast greys (#3084, #3531). The dot separators on the book page and the Calibre delivery panel, the duplicate and rename dialogs, the author bio hint, the collapse arrows in the Audiobookshelf settings and a few small buttons still used greys that were too faint in both themes. They now use the same readable secondary colour as the rest of the app, and a test keeps new ones from creeping back in. #3084 stays open: coloured text with no background in its class (amber, rose and sky), emerald status text and white text on the amber banner and emerald pills are not covered yet. Thanks to francisrath for the original report.

Security

  • Dependency security update (#3542). The bundled Go JOSE library goes from 4.1.4 to 4.1.6, which caps the size of RSA keys accepted when parsing web keys and adds further hardening to token parsing. It is used by OpenID Connect sign in. No settings changes are needed.

Don't miss a new bindery release

NewReleases is sending notifications on new releases.