Calibre-Web
Web app for browsing and reading a Calibre ebook library
A yearly release cadence spent almost entirely on Kobo sync and self-hosting hardening.
◆Recent moves
- 10d ago
MOBI metadata on upload, reverse-proxy shared-secret login
The first release in six months, and it fits the established pattern: two new features against roughly thirty fixes. MOBI metadata extraction closes a gap in upload handling, while reverse-proxy login via a shared secret header gives self-hosters an authentication path that bypasses the app's own login form. A large share of the fixes touch Kobo sync alone, which is where this project's maintenance burden has consistently landed.
View source ↗ - 6mo ago
Multi-book editing, Calibre 9 compatibility, API-key leak fixed
Multi-edit in the book list and Calibre 9 compatibility lead the release, though the latter is table stakes rather than a feature — Calibre-Web is only useful against a current Calibre library. The security fix matters more than its placement at the bottom suggests: API keys were being included in config exports. Instapaper configuration lands inside Kobo sync, continuing that area's outsized claim on each release.
View source ↗ - 0y ago
Kepub reading, bulk book actions, official Python 3.12 support
A year after 0.6.24 and carrying the widest new-feature list in this window: Kepub support in the EPUB reader, bulk delete/archive/mark-read, lazy-loaded covers, and FreeBSD binary paths. Official Python 3.12 support is the load-bearing item, since packaging compatibility is what keeps a self-hosted project installable at all. Even at its most expansive, the additions are convenience and platform coverage rather than new capability.
View source ↗ - 1y ago
Audio-file metadata extraction and multi-format uploads
Extends upload handling to audio metadata across ten formats and adds multi-format upload with metadata merging on the book edit page — the clearest widening of the capability surface in this window, though it builds on audio support that already existed rather than opening a new one. The cookie-prefix environment variable is a small tell about the intended operator: someone running several instances on one server. Python 3.12 work starts here and completes in 0.6.25.
View source ↗ - 1y ago
EPUB reader themes and font sizing, multi-address Kindle sending
A reader-experience release: locally stored EPUB themes, a font-size switch, and sending to several Kindle addresses at once. Failed tasks now surface their error in the UI rather than hiding it, the kind of change that reduces support load for self-hosters running the app unattended. Its recorded timestamp sits seconds from 0.6.22's because both were captured in a single crawl, not because they shipped together.
View source ↗ - 1y ago
Split library locations, metadata backup, upload mimetype checks
Split library locations and scheduled metadata backup both target operators with large or awkward library layouts rather than readers, which is consistent with where this project spends its attention. Two security fixes land here: mimetype validation on upload, and a move from lxml to bleach to contain stored XSS in the comments field. Treat its publish date as a crawl artifact — it was captured alongside 0.6.23 and predates it by considerably more than the timestamps imply.
View source ↗