🎉 Release v1.2.11
Features:
- ✅ organized audiobooks also get the publisher, subtitle and language tags
- #208
- #440
- #426
- Thanks https://github.com/N0cky !
- with metadata tagging on, from Audible (M4B, MP3 and FLAC). The language is written as its name ("English"), replacing an existing "eng".
Fixes:
-
✅ Manual and Bulk Import bring in every disc of a book stored in Disc/CD folders, as one book
-
✅ multi-disc books keep disc-then-track order when merged, copied and renamed
- #331
- #443
- #294
- Thanks https://github.com/ColeTown !
- with metadata tagging on, each file also gets its disc and track number, so players such as Audiobookshelf play it in order
-
✅ updated zod (request validation) to version 4, which includes the fix for advisory GHSA-mrhx-c7xc-m3w5
- #444
- validation errors return only each issue's code, field, message and limits, and some codes and messages changed (for example,
invalid_enum_valueis nowinvalid_value). An API token's expiry date must include seconds, as the web UI already sends. Text length limits count characters as written (an emoji counts once), and a cover image URL with surrounding whitespace is stored trimmed.
-
✅ seeded-torrent cleanup and request delete no longer remove a torrent that was already in your download client
- #423
- #441
- the post-import category is only applied to RMAB's own torrents. Torrents grabbed before this release are kept unless the client's added time shows RMAB added them.
- downloads still in progress when you upgrade won't get the post-import category. After switching to a new client of the same type, RMAB won't clean torrents it grabbed before.
-
✅ the Cleanup Seeded Torrents job checks every finished download, not just the first 100
- #258
- #441
- #321
- Thanks https://github.com/ZillaGit104 !
- it stops early if the download client doesn't answer, and stops re-checking torrents that are already gone
-
✅ Transmission: a tracker warning no longer fails the download
- #286
- #436
- #321
- Thanks https://github.com/ZillaGit104 !
- a torrent stopped at 100% is now imported, and cancelling a request sticks even when it lands mid-search or mid-download
-
✅ in Audiobookshelf mode, a book that was just matched can no longer be requested again before the next full scan
-
✅ releases whose author is written with spaced or joined initials ("T J Klune", "JK Rowling") now match the requested author
- #435
- #235
- Thanks https://github.com/NichCodes !
-
✅ ebook searches send the title and the author to your indexers, like audiobook searches
- #437
- #430
- Thanks https://github.com/RatonDeRepoteca !
- the right book is found for short or common titles. Each ebook search uses two indexer queries instead of one.
-
✅ request size limits on API routes
- #438
- #442
- 64 KiB for sign-in, 1 MiB by default, 32 MiB for bulk import. List fields have size limits too, and validation errors are logged in a shorter form.
Upgrade:
docker pull ghcr.io/kikootwo/readmeabook:latest docker compose down docker compose up -d
What's Changed
- fix: store the ASIN from the Audiobookshelf match in the same scan by @kikootwo in #433
- fix: match authors written with spaced or joined initials by @kikootwo in #435
- fix: Transmission tracker errors, stopped torrents and cancelled requests by @kikootwo in #436
- fix: search ebook indexers with title + author by @kikootwo in #437
- fix: limit list sizes in request bodies and shorten validation errors by @kikootwo in #438
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 in the github-actions-minor-patch group by @dependabot[bot] in #439
- feat: write publisher, subtitle and language tags (#208) by @kikootwo in #440
- fix: only remove or re-categorize torrents RMAB added by @kikootwo in #441
- fix: add request size limits to API route bodies by @kikootwo in #442
- fix: import every disc of a multi-disc book folder, in disc-then-track order by @kikootwo in #443
- chore(deps): upgrade zod to 4.6.7 by @kikootwo in #444
- chore: release v1.2.11 by @kikootwo in #445
Full Changelog: v1.2.10...v1.2.11