0.9.1 April 25, 2026 diff · release
- International discovery v1.0: full overhaul of curated lists in preparation for the international rollout
- "Activity" carousel: rebranded from "recently added", reading-first sort, "new" badge hidden when a status badge is already shown, ES/DE propagation
- Library: persistent sort control collapsed into a single pill with popup (empty-author entries at the bottom), collection grouping driven from settings, fixed progress bar
- Peer book sheet: draggable sheet with pinned header and persistent borrow CTA
- Covers: isolated peer cover cache with a user-controlled cap, warning badge when hub upload is pending retry, unified URL resolution via
CoverUrlResolver - Loans (ADR-034): typed loan metadata, reader-extraction helper, fixed reading of the
/api/copies/borrowedpayload - Statistics: count books marked read without a finished date, fix loan and pages-read cards stuck at 0
- Book detail: block deletion on active loans, preserve
addedAt/hubCoverUploadFailedAt, coerceDateTime→ ISO string in FFI updates - Network: stale-connection badge on peer cards (ADR-032)
- Collections: option to also delete associated books when removing a collection
- i18n: "Gamification" renamed to "Accomplissements" (FR), Activity carousel strings and new badges propagated to ES and DE
- Stability: tap-to-mark-read in the notifications popover, localized shelf-deletion confirmation, library-rename replay when config is not yet hydrated
0.9.0 April 17, 2026 diff · release
- Peer delta sync (ADR-028 / ADR-029): peer catalog refreshes now use incremental deltas (adds, updates, deletes) instead of full pulls, dramatically reducing bandwidth and speeding up discovery of peer changes
- Transparent fallback: automatic fallback to the legacy full pull when the peer does not yet support the delta protocol
- Local state preserved:
firstSeenAtand the online state are kept during delta refreshes (the "new" badge stays consistent) - Cross-device avatar sync (ADR-025): profile avatars now propagate across linked devices via
profile_changed - Peer library self-heal (ADR-030): library UUID recovery via E2EE manifest, delta cursor preserved after a reset-recovery
- Recently-added carousel: new carousel of latest additions on own and peer libraries, collapsible variant driven by scroll, auto-hidden on small libraries
- Sticky header: collapsing header with sticky tabs on Library and Loans
- Discover directory: ungated entry with in-tab publish CTA, cover-grid catalog view, reliable "new" badge, incoming follow requests surfaced on the Discover card, explicit confirmation snackbars, approval and borrowing toggles unlocked with privacy-first defaults
- Accessibility: tooltips on 13 IconButtons, semantic labels for screen readers,
Semanticsheaders on book detail - Settings: visual grouping of module toggles into 4 sections, neutralized jargon, explicit confirmation on destructive network actions
- Leaderboard: startup module sync and UI harmonization, client-side refresh timeout with user feedback
- Games hub: hangman link added on the dashboard
- Peer library UI: cover grid by default with bounded RAM, restored color variety on book placeholders, "new" badge now driven by owner-supplied
added_at - Hub directory: clients now report their app version to the hub on register
- Book cover: avoid the OpenLibrary grey placeholder for unknown ISBNs
- i18n: 24 missing strings translated in Spanish and German
0.8.9 April 13, 2026 diff · release
- Public hub directory: public directory enabled with UX guardrails and direct borrow requests from followed libraries
- Real-time leaderboard (ADR-023): live leaderboard push, cache-first display, pre-warm on startup, reset scores button, skip direct on cellular
- Loan reminders: due-date reminder notifications, fixed deep-link targets for lent/returned events
- Enriched book detail: active loan status (borrower, due date, overdue badge), contact notes, copies stepper, borrow button disabled when book is already lent or borrowed
- Live peer catalog: subscribe to peer changes to refresh the library without manual action, re-check peer connectivity before sync to avoid stale offline paths
- Controlled covers: cap at 300×450, JPEG re-encode on upload, ETag cache, evict on 404, hub proxy for peer covers, propagation of custom covers to the hub
- Page count: page count field on book details, add/edit forms and search
- Configurable loan duration: customize loan duration in settings, pick borrowing peer from loan dialog
- Book forms: redesigned add/edit book forms for better UX
- Network peers: peer avatars (LAN and relay via hub), tap peer card to open library directly, peer list polish (status dot, skeleton, full-screen QR), share invite button in add-connection sheet
- Relay robustness (5G/4G): reliable credential republish on reconnect, non-blocking sync, offline fallback, 502 circuit breaker, nodeId refresh, sync timeout
- Hub profile: profile recovery code, automatic recovery on 401 (retry with recovery code before purge), hardened Keychain backup, registration 401 back-off, Hub URL hidden in release, safeguards against permanent profile lockout
- Multi-device sync: fixed synchronization of authors, notes, copies and metadata between linked devices, library rename propagated to the hub
- Search: improved external source reliability, relevance scoring, protection against concurrent searches
- i18n: completed ES/DE translations (cover, loans, notes, recovery), "Copies" renamed to "Exemplaires" (fr)
- Security & stability: sensitive logs gated in debug and identifiers redacted, Inventaire deserialization fix, localized default library name fix
0.8.8 March 23, 2026 diff · release
- Multi-device sync (E2EE): end-to-end encrypted synchronization between linked devices, bidirectional pairing, backfill and deduplication
- Book notes: add notes to books with voice dictation support
- Private books: hide books from network peers
- Book descriptions: automatic retrieval from OpenLibrary and SUDOC
- Hangman game: new mini-game added to the games hub
- Onboarding: sequenced flash messages and welcome design overhaul
- Stability: fixed crashes on first launch and first scan, Android Keystore recovery
0.8.7 March 17, 2026 diff · release
- macOS DMG: distribution via DMG with hardened runtime and resilient Keychain fallback
- Device fingerprint: register device model and fingerprint on the hub
- Peer stability: catalog refresh, offline cache, peer name persistence
- Notifications: complete UX overhaul, borrowed filter, peer name fix
- Compatibility:
ClipRectfix for Flutter 3.38
0.8.6 March 13, 2026 diff · release
- Unified hub catalog: consistent rendering and faster peer library loading
- Mass scan: batch scanning feature with redirect to scanned shelf
- Statistics: enriched quantity and quality, colors harmonized with profile
- Localization: added Italian, Turkish fixes, i18n cleanup
- UI: logo, search toggle, bottom nav border, operation log dates
0.8.5 March 7, 2026 diff · tag
- Activity feed: new activity stream with "new" badges
- Borrow management: borrow requests, notification UX, tap-to-edit reading status badge
- Network discovery: cross-reference mDNS names with saved peers, 5G sync fallback
- UI: bottom navigation bar option, instant cover refresh, share quick action
0.8.4 March 4, 2026 diff · tag
- Hub directory: Explore screen, library follow/unfollow, incoming requests
- Collections: refactored to FFI direct, grouped in library view
- Web browsing: connect and browse peer libraries via web browser
- Device sync: sync safety module with review screen
- Covers: capture covers with device camera
0.8.2 February 26, 2026 diff · tag
- Short invite links: simplified profile sharing with short URL via the hub
- Share button: new profile share button
- Accessibility: accessibility prerequisites added (work in progress)
0.8.1 February 25, 2026 diff · tag
- Memory game: new mini-game using your library covers, with leaderboard and animations
- Sliding puzzle: cover-based puzzle game with dedicated screen and games hub
- Help: enriched help section
- Translations: added Portuguese and Turkish
0.8.0 February 20, 2026 diff · tag
- End-to-end encryption (E2EE): QR code v2 key exchange, E2EE indicator in UI, encrypted loan requests
- Relay hub: relay hub settings UI and API integration
- AGPL-3.0 license: project relicensed to AGPL-3.0
- CJK support: fallback fonts for Japanese, Chinese and Korean, .po skeleton files
- Languages: added Bulgarian, regional variant support (pt-BR, zh-TW...)
- Loans: configurable auto-approve, pending request counter
0.7.2 February 13, 2026 diff · tag
- Internationalization: translations migrated to .po files, multi-language search
- Theme: theme customization in settings, default theme optimization
- UX audit: persona-based fixes, search deduplication, 4 major friction points resolved
- Leaderboard: fixed leaderboard display on profile and between peers
0.7.1 February 10, 2026 diff · tag
- Leaderboard module: gamification leaderboard across connected libraries
0.7.0 February 6, 2026 diff · tag
- P2P discovery: mDNS hostname.local fallback, removed 127.0.0.1 fallback
- Clean architecture: migrated Flutter screens to Repository pattern
- Database path: installation folder migration
- Optimizations: reading status, online search, import, peer caching
0.6.6 January 25, 2026 diff · tag
- Borrowing and loans: fixes and improvements to the borrowing feature
- UX/UI: improved empty states, avatar visibility management, search enhancement
- Statistics: statistics page and dashboard display improvements
- Quick actions: new quick actions button in the top banner
- Simplified install: removed setup wizard, auto-initialization, ES/DE support
0.6.5 January 12, 2026 tag
- Initial alpha release: personal library management, book add/scan, online search
- Local network: peer discovery via mDNS, neighbor library browsing
- Interface: dashboard, collections, shelves, profile with gamification badges