🎉 Release v1.2.12
If you might roll back to v1.2.11: this release adds two database columns. Before downgrading, turn off "Check Watched Lists" in Admin > Jobs and remove or switch any "New releases only" watches, or the older build requests their whole backlog.
Features:
- ✅ watch an author or series for new releases only
- #302
- #451
- watching now asks: Entire catalog (the default, as before) or New releases only, which requests books released from today on (preorders count) and skips undated books. Each watch can be changed later from the Profile cards.
- adding one watch now checks only that author or series, not every watch
- ✅ the automatic ebook fetch skips a book whose folder already holds an ebook
- #313
- #496
- covers the auto-grab after an audiobook import and the nightly missing-ebooks job. A lone PDF booklet, or a folder that another book also uses, does not count. Manual Fetch Ebook, Interactive Search and Manual Import are unchanged.
- this is one part of #313; importing ebook files already on your system is still open there
Fixes:
-
✅ automatic search stops grabbing the wrong book
-
✅ automatic search skips a release numbered as another book of the same series
- #330
- #482
- #307
- Thanks https://github.com/connor2k !
- uses the book's series position from Audible, unless the release names the book by its own title. Interactive search still lists everything.
-
✅ automatic search skips releases far too small for the book's runtime
- #479
- #311
- Thanks https://github.com/H0tChicken !
- such as one chapter file of a multi-file Usenet post. Interactive search still lists these.
-
✅ search and ranking handle titles with apostrophes
- #316
- #469
- #304
- Thanks https://github.com/connor2k !
- Thanks https://github.com/Eyji !
- Thanks https://github.com/thehaven !
- when the first search finds nothing, it tries the title without its apostrophes, then without its subtitle. Releases such as "Enders.Game" and "L.Intruse" now match their titles.
-
✅ ranking treats text after ". " or " - " in a request title as an optional subtitle, like text after a colon
-
✅ automatic search compares titles and authors written in non-Latin scripts instead of matching every release
-
✅ bulk import keeps books apart when their tags are in non-Latin scripts
-
✅ bulk import reads all-digit ASINs in folder names
-
✅ Manual Import from an ebook request imports the ebook and leaves the audiobook alone
-
✅ interactive ebook search lists results over 20 MB
-
✅ Interactive Search from My Requests picks for that request instead of failing with "already requested"
- #281
- #463
- #291
- Thanks https://github.com/zpersichetti !
- works for audiobook and ebook requests. Picking a book that is already downloading or awaiting approval now says so.
-
✅ series search uses the Audible catalog and says when Audible can't be reached
-
✅ book details show the series for books where Audnexus has none
-
✅ author pages keep loading past a page with no matching books
-
✅ shelf sync and watched lists no longer re-create cancelled requests, and back off after failures
-
✅ a book removed from the library frees its request
-
✅ qBittorrent: hybrid (v1+v2) torrents and base32 magnets are tracked under the right ID
-
✅ Transmission and Deluge track torrents added from base32 magnet links
-
✅ Deluge finds a torrent whatever the letter case of its stored hash
-
✅ qBittorrent puts RMAB's downloads in the category folder when the default Torrent Management Mode is Manual
-
✅ seeding cleanup removes a torrent shared by several requests once all of them are finished and done seeding
-
✅ SABnzbd: a duplicate NZB no longer fails the request, and a retried upload is not added twice
- #329
- #480
- #252
- #305
- Thanks https://github.com/thehaven !
- Thanks https://github.com/connor2k !
- RMAB uses the job SABnzbd already has, imports its files if they are on disk, or skips that release and tries the next one. A job RMAB did not add is never deleted.
-
✅ folder and file names stay within the 255-byte filesystem limit
-
✅ ebook and direct download names stay within the 255-byte limit
-
✅ multi-file request downloads keep every file at the top of the zip under its full name
-
✅ library scans no longer fail when two jobs add the same book at once, and startup clears leftover jobs of deleted schedules
-
✅ the Audiobookshelf connection test says why it could not connect
-
✅ a deleted request no longer accepts a torrent pick, a search or an approval
-
✅ GET /api/requests/:id no longer returns 500 for a request with a selected download
-
✅ the admin dashboard's user count leaves out deleted users, matching the Users page
-
✅ account checks on sign-in, sessions and API routes are applied the same way everywhere
- #472
- #475
- #477
- #481
- #483
- #484
- #489
- admin sign-in, admin job routes, author and series pages, browse and search, and download links now check that the account still exists, is still allowed in and still has access. Sessions and API tokens stop working for a pending or rejected account, and admin access follows a role change on the next request.
Upgrade:
docker pull ghcr.io/kikootwo/readmeabook:latest docker compose down docker compose up -d
What's Changed
- fix: fill a book's series from the Audible catalog when Audnexus has none by @kikootwo in #447
- fix: automatic re-requests skip cancelled requests and back off after failures by @kikootwo in #448
- feat: watch authors and series for new releases only by @kikootwo in #451
- fix: match titles and authors written in non-Latin scripts by @kikootwo in #452
- fix: track qBittorrent hybrid torrents and base32 magnets under the right ID by @kikootwo in #455
- ci: install the pinned static ffmpeg in PR Tests instead of apt by @kikootwo in #454
- fix: keep bulk import books apart when their tags are in non-Latin scripts by @kikootwo in #453
- fix: search series through the Audible catalog API and show failures by @kikootwo in #456
- fix: Transmission and Deluge track base32 magnet torrents under the right hash by @kikootwo in #458
- fix: Deluge lookups and the shared-torrent guard ignore the letter case of a hash by @kikootwo in #461
- fix: GET /api/requests/:id returns 200 for requests with a selected download by @kikootwo in #462
- fix: automatic search stops grabbing the wrong book (stricter title and author matching) by @kikootwo in #459
- fix: author pages keep loading past a page with no matching books by @kikootwo in #465
- fix: seeding cleanup removes a torrent shared by finished requests by @kikootwo in #464
- fix: qBittorrent uses the RMAB category's save path in Manual mode by @kikootwo in #467
- fix: admin dashboard and local-login checks skip deleted users by @kikootwo in #468
- fix: interactive search from My Requests picks for that request by @kikootwo in #463
- fix: admin sign-in applies the same account checks as the regular sign-in by @kikootwo in #472
- fix: folder and file names stay within the 255-byte filesystem limit by @kikootwo in #473
- fix: a book removed from the library frees its request by @kikootwo in #471
- fix: search and ranking handle titles with apostrophes by @kikootwo in #469
- fix: admin job routes use the same session checks as the other admin routes by @kikootwo in #475
- fix: signed-in sessions and tokens follow the account's approval status by @kikootwo in #477
- fix: a deleted request no longer accepts a torrent pick or a search by @kikootwo in #476
- fix: automatic search skips releases too small for the book's runtime by @kikootwo in #479
- fix: ebook and direct download names stay within the 255-byte limit by @kikootwo in #478
- fix: author and series catalog routes check the account like the other signed-in routes by @kikootwo in #481
- fix: admin checks use the account's current role by @kikootwo in #483
- fix: automatic search skips releases numbered as another book of the series by @kikootwo in #482
- fix: download links check the account like a sign-in does by @kikootwo in #484
- fix: bulk import reads all-digit ASINs in folder names, confirmed by the catalog title by @kikootwo in #485
- fix: the Audiobookshelf connection test says why it could not connect by @kikootwo in #486
- fix: interactive ebook search lists results over 20 MB by @kikootwo in #487
- fix: library scans survive a duplicate insert, and startup removes repeat jobs of deleted schedules by @kikootwo in #488
- fix: browse and search routes add request details only for a checked account by @kikootwo in #489
- chore(deps): move request downloads to archiver 8 and keep zip entry names flat by @kikootwo in #491
- docs: the size score gives full points from about 140 kbps, not 64 by @kikootwo in #493
- fix: Manual Import from an ebook request imports the ebook and leaves the audiobook alone by @kikootwo in #492
- fix: SABnzbd duplicates no longer fail the request, and a retried upload is not added twice by @kikootwo in #480
- fix: ranking treats text after ". " or " - " in a request title as an optional subtitle by @kikootwo in #494
- fix: an ebook already in the audiobook's folder stops the automatic ebook fetch by @kikootwo in #496
- chore: release v1.2.12 by @kikootwo in #505
Full Changelog: v1.2.11...v1.2.12