docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.1.42
Nineteen user-facing changes since v4.1.41 — mostly hardening around ingest, restores and duplicate cleanup, plus two things people asked for directly.
The Delete book control no longer looks like a page-wide warning. It stays visible and separate from everyday book actions, but sits in a quiet labelled region instead of a filled red banner. The confirmation step is unchanged. Reported by @iroQuai, @KucharczykL and @chloeroform (#1862, #1904).
Runtime data folders can be set from the environment. CWA_INGEST_FOLDER, CWA_CALIBRE_LIBRARY_DIR and CWA_TMP_CONVERSION_DIR now work without editing the installation; dirs.json still works as a fallback and unsafe paths are rejected before services start. Requested with @chloeroform and @Thovi98 (#1611).
An .acsm is fulfilled even when Auto-Convert is off. An Adobe fulfilment ticket only reached its Calibre plugin with Auto-Convert enabled, so ingest stopped short and told you to install a plugin you already had. Reported by @jakejoh, following @auspex's original report.
Opt-in repair for comics whose ComicInfo.xml sits one folder too deep — off by default; turn it on in CWA Settings and ingest repackages a copy with the file at the archive root. Your original download is never touched.
Also fixed
- Local-only accounts can sign in through the classic login form when LDAP rejects them, without the extra misleading password message. Reported by @justemu (#1903).
- "Make public" is hidden on shelves you lack permission to share, instead of offering a button that could only fail. Reported by @iroQuai (#1734).
- Two ingest runs can no longer overlap, ingest keeps working after its post-batch follow-up, and the persistent lock can't be stolen from a live holder.
- Database restores recover from stale locks and refuse to run while ingest or cover enforcement is active.
- Automatic duplicate resolution no longer deletes a book whose reading data could not be moved — the group stays unresolved and retryable.
- Annotations imported from a Kobo keep their original creation time.
- A failed local annotation save no longer queues the remote update anyway.
- The container healthcheck can no longer freeze the app it measures.
- Settings-database saves keep their rollback boundaries without blocking unrelated reads or startup.
- Bare-metal installs survive read-only profile storage and invalid
PUID/PGID, and ownership uses your configured values instead of1000:1000. Contributed by @Thovi98 (#1882). - The tag browser uses a 300px column floor so names have room. Contributed by @0x5t4l1n (#1693).
- Russian translation: 31 more strings, contributed by @standhaftsohnsergius.
Full detail in CHANGELOG.md, and in the app under Help → What's New.