This release adds 3 notable features for engineering teams evaluating rollout.
Published 4d
Media Servers
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
calibre
ebook
ebook-manager
epub
Summary
AI summaryUpdates Metadata sources become plugins, Physical books, and Operating it all across a mixed release.
Full changelog
Paper books, and a metadata engine worth the name
The library stops pretending everything is an EPUB, and everything about where book data comes from — fetching, choosing, editing, operating — got rebuilt this cycle.
Physical books
- Add the books on your shelf. A paper book is now a first-class library entry — no file attached, no reader, but covers, metadata, tags, ratings and activity all work
- Creation is a form-first page: type a title or scan an ISBN, watch candidates arrive from every enabled source, pick one and the form prefills — with per-source provenance and a row of cover candidates to choose from
- A format lens filters the library between digital and paper
- Books without any cover get a generated pattern-and-label cover instead of the gray placeholder
Metadata sources become plugins
- The six sources (Goodreads, Readmoo, Google Books, Hardcover, 博客來, Open Library) are now drop-in plugins behind one contract — adding a source is one Python file, zero database or frontend changes
- ISBN and title lookups fan out to every enabled source with per-source results; Readmoo now supplies zh-TW descriptions and covers, 博客來 covers Taiwanese editions
- Google descriptions keep their paragraph breaks (including the CJK line breaks Google itself flattens), and scraped pages parse with lxml so long descriptions stop silently truncating
Edit metadata, one field at a time
- The edit page is field-first: tap the field you want to fix, compare every version side by side — your current value, the EPUB original, each source's archived record — or search for more, then pick one to fill. Nothing overwrites wholesale
- Covers get the same treatment: current cover, every source's candidate, or upload your own
- Each field remembers where its value came from — a small "filled from Goodreads" hint with a link to the source page
Operating it all
- /admin/metadata is a control matrix: per-source Enabled and Auto (background fetch) switches that apply instantly, capability icons you can scan vertically, and per-source health — last fetch, books with data, rate-limit cooldowns, consecutive-failure warnings — with API keys managed inline
- A backfill cut short by a rate limit now announces its continuation on the jobs page ("resuming at 14:30") with a cancel button, instead of silently re-running later
- Calibre auto-sync lost its interval setting: it simply syncs within a minute of Calibre changes, and a no-op pass over a 29k-book library now takes seconds instead of ten minutes
Also
- A fresh server greets you with an admin setup page instead of a login form for an account that doesn't exist
- An empty library says it's empty instead of looking like a 404, error pages center properly, and the edit page's back button no longer ping-pongs with the detail page
Upgrade notes
- Three database migrations (physical books, the plugin record store, per-field provenance) — applied automatically by the migrate service on startup
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About BeePub
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]