github vavallee/bindery v1.42.1

2 hours ago

A patch release of import and library fixes after v1.42.0, plus one shared focus style for the web UI

Changed

  • Form controls share one focus and colour style (#3085). A focused field now shows a 2px emerald ring instead of the forms plugin's 1px blue one, and checkboxes and radio buttons are emerald everywhere instead of blue on most pages, with a focus outline that stays visible on a checked box. Disabled controls show the not-allowed cursor. The style lives in one base rule, so new controls pick it up without per-element classes. Thanks to @francisrath.
  • Buttons and links share one keyboard focus style (#3228). A button or link focused from the keyboard now shows a 2px emerald outline with a small gap, the same colours as the form fields since #3085, instead of each browser's default ring, which changed look from control to control and was hard to see in Safari's dark theme. A mouse click draws no ring. Controls that already had their own focus ring keep it. Thanks to @francisrath.

Fixed

  • Library scan keeps the best title match (#2941): a file is attached to the closest wanted title, so an exact title beats a shorter partial one that comes first in the library. Two near-tied titles that are not an exact match are left on Import → In your library for you to choose. Thanks to @foobarbigtime for the report and the follow up, and to @mvanhorn for the fix.
  • A book's language is stored the same way whatever it came from (#3086). Google Books, the Audiobookshelf import, the Calibre import and the book edit form saved the language exactly as it arrived, so one author could have books marked en, english and eng, or deu and ger, side by side in the API, the OPDS feed and anything grouping by language. All of them now save the three-letter code the other sources already use, and existing books and editions are brought into line once on the first start after upgrading. A language Bindery does not recognise is kept, in lower case, rather than dropped. The Norwegian codes nob and nno both become nor, which is visible on Norwegian libraries, and the National Library, OpenLibrary and DNB providers are covered too because the language is now settled when a book or edition is written, not by each source. Thanks to @johnistheman for the report and the fix.
  • A download grabbed without a book is no longer filed under an unrelated one (#3201). To find the book for such a download, Bindery read each file's name as a title. For a multi-disc audiobook that meant track files like 11. Track 11.mp3, read as the title "11 Track 11" with no author; the repeated "11" counted twice against a catalogue title holding "11", and that lone match was taken as certain, before the release title (which named the right book) was tried. Track files of a multi-file audiobook are no longer read as titles, a word repeated in a title counts once, and a file name only decides the book when it names it exactly or its author agrees. Otherwise the release title decides, or the download waits for you to match it. Thanks to @francisrath for the report and the fix.
  • RAR-packed torrent releases wait for an unpacker instead of being blocked (#3203). Bindery does not unpack archives, and a completed torrent holding only a RAR set spent an import retry on every poll and was blocked about 90 seconds after completing, before an unpacker such as unpackerr had started. It now waits without spending retries, says in the Queue that it is waiting for the archive to be extracted, and imports once the extracted files appear in the torrent's folder. In copy and hardlink mode the archive volumes stay out of the library, with the client; in move mode they move with the folder rather than being deleted, except in a per-file move, where they stay in the download folder. If nothing extracts it within about 30 minutes, the download is blocked with a message naming the archive. Storage and Hardlinks gains a section on setting up unpackerr. Thanks to @francisrath for the report and the fix.
  • Editing a metadata profile that allows any language no longer shows English ticked. The form defaulted an empty language list to English, so it showed a filter that was not applied, and saving it unchanged switched the profile to English-only. An existing profile now opens with exactly the languages it stores; only a new profile starts with English (#3212). Thanks to @francisrath for the report and the fix.
  • Prowlarr-synced indexers no longer search music, magazine and comics categories. With no Readarr or LazyLibrarian app in Prowlarr, Bindery took every audio and book category an indexer advertised, so audiobook searches also asked for MP3, lossless and music video releases, and ebook searches for magazines and comics. These are now dropped at sync, and the next Prowlarr sync corrects existing indexers (#3214). Thanks to @francisrath for the report and the fix.
  • Rename files can bring back an ebook's lost file extension (#3217). A template with no dot before {ext}, such as {Title}{ext}, turned Title.epub into Titleepub, and fixing the template afterwards could not restore it because the extension was read from the current name. Bindery now takes it from the file's rename history or its contents, and refuses any move whose ebook name would have no extension. The audiobook folder template no longer saves with {ext}, which left folders named Title., and the ebook template warns when there is no dot before {ext}. Reported by zoucet.
  • A download holding several books imports the one it was grabbed for (#3224): when several ebook files of one format would land in the same place, the one whose file name or EPUB title clearly matches the book is placed, rather than whichever came first on disk. Names that say nothing keep their order. The external drop folder does the same, in its flat and templated layouts. Thanks to @ionalexandru99 for the report and the fix.
  • More multi-book pack names are recognised (#3224): Foundation series by Isaac Asimov with only pack or format words or a list of titles after the author, Discworld Series 1-41, Series - Isaac Asimov 1-7, a bracketed count of two or more such as (11 Books), Books Collection (plural only), Series Pack and Saga eBooks are no longer auto-grabbed for a single book. A title after the author, as in Discworld Series by Terry Pratchett - Guards! Guards!, still is.
  • Release notes are not imported as a book format (#3224): an ebook file under 4 KiB in a download, like the 253 byte .txt some releases ship beside the book, is skipped instead of being tracked and pushed to Calibre. A download holding nothing else is blocked with a pointer to manual import, also with an external drop folder. Manual import still places a file that small, managed or drop, including when it is held for the other format of a book set to both.
  • Blocklist on a history event with no release GUID (#3249). Blocklisting an event that carries no release GUID, such as a book import or an old grab, used to store an entry keyed on the title that could never match a real release, so the release could still be grabbed. It now answers that there is nothing to blocklist and stores nothing, and the History page keeps the row and shows that message instead of removing it. Reported by foobarbigtime.

Don't miss a new bindery release

NewReleases is sending notifications on new releases.