You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHubβs verified signature.
Release Notes: v4.0.3
β¨ New Features
Redesigned Book Details Page:
Completely rebuilt the view to be modern, responsive, and data-rich.
Added the ability to delete books directly from the details screen (no longer requires entering "Edit" mode).
Displays more useful metadata at a glance.
OPDS & Magic Shelves Overhaul:
Magic Shelves Support: Added /opds/magicshelf routes. Magic Shelves now appear in the OPDS catalog.
Customizable OPDS Root: Replaced the static root with a dynamic, per-user list.
Drag & Drop Ordering: Users can now reorder OPDS entries and toggle their visibility via a new UI in User Settings (/me), similar to the Duplicate Format Priority ranking.
Manual Search Improvements:
Persistence: The UI now remembers your selected metadata fields for manual searches (#891).
File Sizes: Added file size badges to search results.
Feedback: Added toast notifications for better user feedback.
π Improvements
Hardcover Integration:
Reject All: Added a global "Reject All" button to dismiss all Hardcover ID matches at once (#964).
Precision Config: The "Match Confidence Threshold" setting now allows finer adjustments (steps of 0.01 instead of 0.05) (#965).
Metadata Enforcement: Inline edits and book-list updates now correctly trigger the metadata enforcer. This ensures changes (like Series info) are written into the EPUB files. The system also now coalesces duplicate logs to prevent redundant processing (#726).
π Bug Fixes
Kobo & Syncing
Unregistered Device Support: Added placeholder OAuth endpoints to fix connectivity for Kobo devices that cannot use the store proxy (#879).
Download Fix: Fixed EPUB OPF parsing (stripping BOM/whitespace) to resolve download failures on Kobo devices (e.g., Clara BW) (#975).
Magic Shelf Sync: Fixed an issue where books existing only in Magic Shelves were not syncing to Kobo. Reading states now also respect the Magic Shelf allow-list (#976).
Authentication & Permissions
OAuth Admin Roles: Fixed a bug where enabling OAuth could revoke admin rights if the provider returned an empty groups claim. The system now preserves existing roles if group data is missing (#978).
OAuth Email Collision: Fixed "UNIQUE constraint failed" errors. If an OAuth provider's email matches an existing user, the system now binds the login to that user instead of attempting to create a duplicate (#973).
Database & Stability
Calibre 9 Schema Fallback: Refined the database compatibility layer. Added a safe fallback for books.isbn by detecting the schema version at startup. This resolves lingering 500 errors for users on both Calibre 9 and older versions (#979).
π Translations
French: Major updates and corrections (merged PR #977).
Dutch: Updated server restart messages (merged PR #969).
π· CI/CD
ARM Runner: Added cleanup for zombie digests on the persistent ARM runner to improve build reliability.