docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.162
A big drop: write your own send-to-eReader email text, style the whole instance
with your own CSS, build Magic Shelves on your Calibre custom columns, and open
the same library in Calibre desktop while the server runs. Plus the Polish
LubimyCzytac.pl metadata provider works again, Hardcover sync recovers from
deleted/merged books, and DEBUG logs stop drowning in Magic-Shelf chatter.
Added
- Custom email body for books sent to an eReader and test emails — new
"Email Message Body" box under Edit Email Server Settings. (Requested by
@iroQuai, #428) - Custom CSS — Admin → Edit UI Configuration has a Custom CSS box that
injects your rules as the last stylesheet, surviving upgrades. (#323 by
@olskar) - Magic Shelves on custom columns — the rule builder now lists every
queryable Calibre custom column, with dropdowns for fixed-choice columns and
is-empty/is-not-empty operators. (PR #387 by @8bitgentleman) - Calibre desktop coexistence — set
NETWORK_SHARE_MODE=true+
DESKTOP_COMPAT_MODE=trueand the server releases its DB lock between
requests so Calibre desktop can open the same library. (PR #386 by
@8bitgentleman)
Changed
- Loading spinners are now crisp at any size, theme-colored, and respect
reduced-motion — the old pixelated GIFs are gone. (PR #384 by @jbelascoain)
Fixed
- LubimyCzytac.pl search returned no results after the site's 2026
redesign — search and metadata (publisher, description, language, rating,
date) work again. (Reported by @sltvtr, #431) - Hardcover sync now recovers when Hardcover deletes/merges a book: it
re-resolves the current ID from the edition or slug and retries, and the log
tells you the fix instead of only the raw API error. (Follow-up to #433,
reported by @SpookyUSAF) - DEBUG log spam from Magic Shelves is gone — the per-request "Hiding…"
block is now a single line that only appears when your shelf setup changes.
(Fix by @KucharczykL in #443; reported by @SpookyUSAF in #445, CWA #1060) - Calibre user-plugins (
CWA_CALIBRE_USER_PLUGINS=true) load reliably —
the image now sets Calibre's documentedCALIBRE_CONFIG_DIRECTORYper
subprocess instead of a misspelled global that Calibre ignored. (Diagnosed
by @jasonobrien, #434) - The library grid's read/unread hover button now uses the same checkbox
icons as the book page (not an eye that looked like hide/show), and the icon
shows what the click will do. (#319 follow-up, reported by @droM4X) - Dropping an
.acsmfile into ingest now explains what went wrong (it's a
download ticket, not a book) and the two ways forward, instead of Calibre's
cryptic "No plugin to handle input format: acsm". (Surfaced by @jbelascoain
in #388, #448)