github new-usemame/Calibre-Web-NextGen v4.0.29
v4.0.29 — KOReader cross-device sync + Duplicate Manager race fix

latest releases: v4.0.170, v4.0.169, v4.0.168...
one month ago

What's fixed

KOReader cross-device sync stays converged. If you read the same book on two devices with different file checksums (different download paths, kepubify converted vs source EPUB, etc.), progress records used to fragment per-checksum and the devices drifted apart. Now they share one progress record keyed on the calibre book id. Backport of crocodilestick/Calibre-Web-Automated#1225 by @SethMilliken.

Duplicate Manager bulk delete/merge no longer freezes the UI. Cache invalidation used to fire once per book in tight succession, and the success-modal reload would race the in-flight DB cleanup on large batches. Cache invalidation now batches into one call after the loop, and the reload waits 800ms for the server to finish. Backport of crocodilestick/Calibre-Web-Automated#1095 by @cd-dr.

Run it

docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.29

Or use :latest to track the rolling tag. Same compose, swap the image, restart.

Regression coverage

15 new unit tests landed in this release: 6 pin the KOReader cross-key lookup behavior end-to-end via in-memory SQLAlchemy, 9 pin the Duplicate Manager batch-invalidation contract through signature + AST checks. Future edits that quietly drop either fix get caught at CI.

Credits

Original patches: @SethMilliken and @cd-dr. Reporters whose threads we'll follow up on once the GHCR image publishes: anyone hitting cross-device KOReader drift or large-batch Duplicate Manager freezes.

Don't miss a new Calibre-Web-NextGen release

NewReleases is sending notifications on new releases.