BeePub v0.8.0
Local-first reading, now with receipts
Your offline reading finally counts. Reading activity is now a device-scoped ledger: read on the iOS app with no server in sight, and the minutes and streaks sync up the moment you reconnect — idempotently, so re-syncing never double-counts. (Migration 051 changes the reading_activity primary key; runs automatically on upgrade.)
Local library
- Download server books into the local library — the old offline cache is retired; downloads are real local books that auto-link back to the server copy by digest, so progress and highlights keep syncing both ways
- AI companion and illustrations work on linked local books while online
- Serverless mode got a real shell: Books / Highlights / Settings tab navigation, a local settings page (language, appearance, kosync, OPDS catalogs, connect-to-server), and a local highlights page with sharing
- Add books via action sheet (EPUB file or OPDS catalog); the home page shows your local shelf when offline
Library & shelves
- My Books folded into Shelves: reading statuses are pinned system shelves (Goodreads-style) above your custom shelves
- Cleaner book cards: nothing is stacked on covers anymore — reading status (with live %), warnings, and on-device marks live in a status line under the title
- Slimmer library header: this-device tab in the library selector, book count inline with the toolbar
- Library listings now carry your reading percentage everywhere
Fixes & polish
- Reader chrome follows the reader's own light/dark choice instead of the app theme (no more mismatched toolbar)
- Reader gesture hints dismiss on any interaction and adapt to touch devices
- Native scrollbars and form controls follow the app theme in dark mode
- Reading progress shown on the book detail page
- Cover extraction fallback for EPUBs without a standard cover declaration
- Permission flags carry through login on native clients
- A pile of i18n/copy fixes (localized date picker, weekday letters, durations, language names, punctuation)