π What's New in v1.17.0
This release brings some exciting new features! Highlights include:
- Custom Fonts in the EPUB Reader: Users can now upload and use up to 10 of their favorite fonts for a personalized reading experience.
- Reading Progress Sync: Progress (in percent) now syncs to hardcover books and is tracked per user.
- Revamped Metadata Search: The search UI has been redesigned to provide live, real-time results for a smoother and faster experience.
Plus, numerous performance improvements and bug fixes across the app. Enjoy!
π New Features
- feat: Add custom font support for EPUB reader (#2120) by @darkraise
- Revamp metadata search UI to display live results (#2195) by @acx10
- Feature/koreader hardcover sync (#2204) by @boludo00
β¨ Enhancements
- feat(series-page): implement multi-select functionality for book selection and add footer actions (#2167) by @balazs-szucs
- Add per-user font management permission (#2210) by @acx10
- Support individual βwrite to fileβ settings per book type, with configurable file size limits (#2206) by @acx10
- feat(ComicVine): use structured search for ComicVine metadata fetching instead of generic /search (#2193) by @balazs-szucs
- refactor(images): migrate to TwelveMonkeys ImageIO with graceful unsupported format handling (#2188) by @balazs-szucs
- Show a persistent loader while a large library is being created (#2200) by @acx10
- feat(magic-shelf): add ISBN-10 and ISBN-13 metadata fields to book rules (#2196) by @balazs-szucs
- Implement memoization in the book card to reduce CPU usage during scrolling (#2198) by @acx10
- feat(metadata): enhance XML parsing with secure processing and improved error handling (#2163) by @balazs-szucs
- feat(magic-shelf): add genre filter support and improve category labeling in rule fields (#2075) by @balazs-szucs
- feat(cover-generator): enhance cover resolution and redesign layout for improved aesthetics (#2125) by @balazs-szucs
π Bug Fixes
- fix(ui): use view preference override for magic shelves (#2215) by @xcashy
- fix(kobo-sync): fix Kobo series handling for empty names and series number formatting (#2185) by @xcashy
- fix(cbx): "Archive too large" error for invalid/corrupt CBX files (#2205) by @balazs-szucs
- Fix: correctly update book cover hash on metadata refresh (#2149) by @acx10
π οΈ Refactoring & Maintenance
- fix: Ignore access denied when doing library scan instead of failing (fixes #1342, #2122) (#2132) by @halkeye
- feat(ui): add series number overlay for More in Series (#2208) by @xcashy
- refactor(frontend): resolve linting errors, and EPUB reader lifecycle errors (#2127) by @balazs-szucs
- Test (#2201) by @acx10
- fix(parser): handle missing results table in GoodReads search and log a warning (instead of erroring) (#2187) by @balazs-szucs
- fix(lubimyczytac): Fix Lubimyczytac metadata lock persistence (#2194) by @balazs-szucs
- Move custom fonts management to Reader tab (#2161) by @acx10
- fix(api): kobo proxy server unit tests (#2136) by @CounterClops
- fix(docs): update issue report links to use specific templates (#2156) by @balazs-szucs
- Add Vitest frontend tests to CI with JUnit reporting and coverage (#2151) by @acx10
- Introduce Vitest as the frontend Angular testing framework for Booklore (#2150) by @acx10
π¦ Dependencies
- chore(deps): bump qs and body-parser in /booklore-ui (#2088) by @dependabot[bot]
π³ Docker Images
- Docker Hub:
booklore/booklore:v1.17.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.17.0
Full Changelog: v1.16.5...v1.17.0
πΈ Screenshots:
