Weekly or manually triggered Shelfarr release.
Docker images:
- ghcr.io/pedro-revez-silva/shelfarr:2026.11.05.1
- ghcr.io/pedro-revez-silva/shelfarr:latest
- ghcr.io/pedro-revez-silva/shelfarr-libation:2026.11.05.1
- ghcr.io/pedro-revez-silva/shelfarr-libation:latest
Changes:
- 96333c6 Upgrade Rails to 8.1.4.1 for the November security release (#681)
- a4f7b7c feat: let admins delete stuck requests and replace a library file (#676)
- bced72b Let admins set the auto-select threshold and file-size limits (#675)
- 02567cb Add optional file and folder modes for library imports (#674)
- dfe477a Load credential environment variables from secret files (#671)
- 30f705c Import only the requested book files from completed downloads (#672)
- a83c71d fix(filenames): validate UTF-8 filename bytes consistently (#661)
- 31b0e67 Include the book cover URL in webhook notifications (#670)
- 09fd4bf Add a Both request format and a default format setting (#673)
- 55dd0bb fix: allow authorized NFS library deletion fallback (#678)
- c26df4b Drop cached connections after an integration is removed (#667)
- a5086ef fix: release an acquired book after a failed direct re-download (#666)
- b7b2cd3 fix: allow the bounded dispatch tag cleanup schedule
- e4b169b fix: finish partial cleanup after the client removes its directory
- d320e3f fix: preserve whole-tree and partial cleanup recovery
- 18d875c fix: retry partial-move cleanup when recovery cannot finish
- 7c57aa3 fix: resume partial move cleanup after a failed library check
- 19d2d55 fix: remove direct-download staging and imported usenet files
- a02a711 fix: keep directory cleanup when the volume or a child name is unfinished
- 05deff9 fix: release a missing source parent and restore child quarantines
- 395ad73 fix: release directory cleanup when the source parent is gone
- 775c902 fix: release directory cleanup blocked by a replacement path
- d08f92c fix: resume directory cleanup after a killed move
- dfacaf0 fix: release client ids superseded by a completed selected replacement
- 7d5e3e6 fix: keep a directory move's client id until source deletion finishes
- af3a2da fix: release client ids superseded by a queued replacement
- 56bae9d fix: release non-acquiring client ids and refresh expired sessions
- 8ecf30b fix: release retired client ids and persist configuration retries
- b899d33 test: cover cancelled retries, tag leaks, and expired configuration retries
- 82b8786 fix: keep duplicate torrents and release cancelled client ids
- 26820c9 fix: scope client ids and delete dispatch tags
- d0f8731 fix: don't bind a download to a torrent it did not add
- e0dc119 fix: continue HTML fallback after a mirror fails
- 04c0600 fix: handle failed redirects and exhaust HTML mirrors
- 022f070 fix: keep HTML-capable Z-Library mirrors and skip reauth on a wall
- ac6a010 fix: align Z-Library search probes, challenge cookies, and auth cache
- b2d49f0 fix: follow Z-Library search redirects past the bot wall
- 5f7a22c fix: preserve case-insensitive prose matching
- 0e90db0 fix: keep Roman-looking prose out of volume markers
- 5e452e0 fix: preserve higher Roman volume identities
- 034633c fix: mask extra initials and keep dotted scene volumes
- 2a42d3a fix: keep roman volumes before subtitles and language codes
- c9cde2a fix: keep cross-language titles, apostrophe offsets, and Book I queries
- 6f396ae fix: keep underscored volumes and author initials exact
- 625b228 fix: keep possessive titles, years, and initials out of volume markers
- 19f7136 fix: compare shared volume numbers across marker lists
- 9f8ac47 fix: match volume numbers across marker languages
- 6cb5486 Keep ready monitor leases and overdue post-scan deadlines
- 148f393 Keep download monitoring on each minute tick
- c9b28a3 Cover the single-chain clock and self-enqueue cop
- 3a8b19f Stop expecting client setup to enqueue the download monitor
- a5bfe1b Schedule recurring jobs from one clock
- d3c529b fix: keep template filenames within the filesystem byte limit
- 31eeb17 fix: keep the URL suffix when a filename contains mobi
- 96d755c test: expect an AZW3 path suffix to win over a mobi substring
- 5382179 fix: apply filename templates to direct downloads
- d71cf3a test: expect direct ebook downloads to apply series filename tokens
- 1d042fd fix: drop Grimmory's connection when a settings login fails
- 594ad1e fix: use a newly saved API key in job processes
- 414e334 fix: pin net-ssh to 7.3.8 for the SSH advisories
- 7d53cf4 fix: name which hardlink probe cleanup check failed