Releases: booklore-app/booklore
Release v1.14.1
🌟 What's New in v1.14.1
The v1.14.1 release is packed with lots upgrades, brand-new capabilities, and a long list of quality-of-life improvements. Here are the headline features you’ll notice right away:
- Custom SVG Icons: Libraries, shelves, and magic shelves can now have fully custom SVG icons, giving users complete creative freedom and a far richer visual experience.
- Personal Book Ratings: Ratings are now truly personal. Each user has their own individual rating for every book. (Thanks to @Muppetteer)
- EPUB Reader Bookmarks: The EPUB reader now supports bookmarks, making it easier than ever to mark important passages and jump back to them later. (Thanks to @balazs-szucs)
- Automatic Kobo Shelf Sync: Newly added books can now be automatically added to your Kobo shelf, no more manual syncing or missed additions. (Thanks to @armandocerna)
- OPDS Author Hierarchy: OPDS feeds now offer a complete author hierarchy, letting you quickly explore and navigate books by your favorite authors. (Thanks to @shiggsy365)
🚀 New Features
- Add support for uploading and assigning custom SVG icons to libraries… (#1788) by @adityachandelgit
- Automatically add newly added books to Kobo shelf (#1826) by @adityachandelgit
- Per user personal ratings (#1820) by @Muppetteer
- Random sort option for libraries and shelves (#1817) by @Muppetteer
- feat(bookmark): implement bookmark management with CRUD operations (#1795) by @balazs-szucs
- Add authors hierarchy and series metadata to OPDS feed (#1777) by @shiggsy365
✨ Enhancements
- feat(search): Add denormalized search_text column for better book search (#1791) by @balazs-szucs
- Enable java remote debug on dev docker stack (#1808) by @Muppetteer
- fix(book-card): add menu toggle events and update styles for open state (#1813) by @balazs-szucs
- Allow uploading multiple SVG icons and render them directly as inline… (#1796) by @adityachandelgit
- fix(book-card): indicate collapse series number on the library tooltip (#1800) by @balazs-szucs
- Feat: Improve metadata edit UI (#1792) by @Muppetteer
- fix(epub): fix and improve cover image extraction from EPUB files (specifically support for: EPUB 3 specification) (#1773) by @balazs-szucs
- Add OIDC mobile redirect support for mobile apps (#1767) by @rmellmer
- Improve bookdrop UI (#1768) by @Muppetteer
- Feat: Hide empty filter categories from sidebar (#1759) by @Muppetteer
🐛 Bug Fixes
- fix(bookdrop): fix 'Select All' query logic and improve filename fallback for missing metadata (#1828) by @balazs-szucs
- Fix vertical overflow on metadata edit form dialog: part deux (#1816) by @Muppetteer
- Fix issues with library scans and file moves with a focus on SMB usage (#1744) by @CounterClops
- Fix vertical overflow on metadata edit form dialog (#1810) by @Muppetteer
- fix(metadata): Fix genre/category disappearing bug in metadata updates (#1807) by @balazs-szucs
- Fix: locking fields discards unsaved changes (#1799) by @Muppetteer
- fix(path): remove trailing dots from path components for Windows compatibility (#1786) by @balazs-szucs
- fix(bookdrop): improve file filtering to ignore .caltrash (calibre generated trash file) (#1785) by @balazs-szucs
- Fix: Assign Books to Shelves popup visually broken (#1783) by @adityachandelgit
- Fix: script error preventing clearing of multi-select fields (#1756) by @Muppetteer
- hotfix(auth): add missing EC algo for Authentik, manually increase timeout limit (#1747) by @balazs-szucs
🛠️ Refactoring & Maintenance
- refactor(api): minor QOL updates, code modernization (#1802) by @balazs-szucs
- delete broken (legacy?) github discussions link in contributing.md (#1805) by @JuergenFleiss
- docs: update license information from MIT to GPL-3.0 in CONTRIBUTING.md (#1803) by @balazs-szucs
- Add loader for long running operations (#1790) by @adityachandelgit
- Configureable delimiter for remote auth groups (#1782) by @aroberts
- Add missing field for Kobo OverDrive expiration check (#1774) by @jose-elias-alvarez
- fix(bookdrop): ignore dot and underscore files during monitoring (#1771) by @balazs-szucs
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.14.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.14.0
Full Changelog: v1.13.2...v1.14.0
📸 Screenshots:
Release v1.13.2
🌟 What's New in v1.13.2
🚀 New Features
- Add sort preference option for Magic Shelf names in the left sidebar (#1749) by @adityachandelgit
- Feature: filter mode preference (#1739) by @Muppetteer
- Add a user-facing option to enable or disable series view (#1748) by @adityachandelgit
✨ Enhancements
- fix(metadata): disable merging of moods and tags during metadata updates (#1743) by @balazs-szucs
- fix(epub): improve date parsing to support year-only formats and add tests (#1735) by @balazs-szucs
- feat(opds): Sort OPDS Feed by addedOn Desc (#1691) by @WorldTeacher
- refactor(metadata): consider locked, but empty or null metadata valid (#1729) by @balazs-szucs
🎨 UI Tweaks
- Visually indicate the active menu item in the left sidebar (#1738) by @adityachandelgit
- Align the layout to be consistent throughout all dialogs (#1737) by @adityachandelgit
🐛 Bug Fixes
- fix(amazon): improve localization of Amazon Parser (#1706) by @balazs-szucs
- Add filter mode to querystring (#1728) by @Muppetteer
- Fix race conditions between Bookdrop and Monitoring Service when importing multiple files (#1709) by @piffio
- Re-add "description" to epub metadata extraction (#1727) by @beedaddy
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.13.2 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.13.2
Full Changelog: v1.13.1...v1.13.2
Release v1.13.1
🌟 What's New in v1.13.1
🐛 Bug Fixes
- Fix: Missing close button from dialogue window (#1717) by @adityachandelgit
- Fix: Date filter doesn't work very well (#1715) by @adityachandelgit
- Fix dev docker environment (#1713) by @Muppetteer
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.13.1 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.13.1
Full Changelog: v1.13.0...v1.13.1
Release v1.13.0
🌟 What's New in v1.13.0
🚀 New Features
- Feature: Add EPUB conversion support for CBX files to Kobo Sync (#1538) by @CounterClops
- Feat: Improve kobo reading state sync logic for better bidirectional support (#1644) by @CounterClops
- Enable jumping to filters by clicking page count, file size, or match… (#1685) by @adityachandelgit
- Improve computed filter label logic for cleaner and more readable sum… (#1684) by @adityachandelgit
- Expose Magic Shelves through the OPDS feed so clients can access them (#1683) by @adityachandelgit
- Add single select filter mode (#1671) by @Muppetteer
- Enable navigation by library, year, language, file type, and read sta… (#1672) by @adityachandelgit
✨ Enhancements
- Maintain book selections when switching between table and grid views (#1651) by @Muppetteer
- Feature: Keep track of applied filters in URL query string (#1654) by @Muppetteer
- fix(bookdrop): Ensure source file is only deleted after successful import and cleanup target on failure (#1638) by @balazs-szucs
- Add option to force hyphenation in KEPUB (#1656) by @beedaddy
🐛 Bug Fixes
- fix(pdf): handle out-of-memory errors gracefully during cover generation and limit image size to prevent OOM (#1680) by @balazs-szucs
- Add actual language to Kobo metadata (#1682) by @beedaddy
- Fix: Prevent sorting prefs select options from overflowing container (#1673) by @Muppetteer
- Fix issue with “unset” read status handling (#1669) by @adityachandelgit
- Fix unique file constraint to allow identical filenames in different sub-paths (#1668) by @adityachandelgit
- fix(upload): implemented byte-aware path truncation to prevent filesystem errors on long metadata (#1655) by @balazs-szucs
- Add author + series sort option to view settings (#1652) by @Muppetteer
🛠️ Refactoring & Maintenance
- refactor(exception): modernize exception handling and method signatures across services and controllers (#1670) by @balazs-szucs
- refactor(api): Add BufferedImage resource cleanup to prevent native memory leaks (#1688) by @balazs-szucs
- More single select filters (#1678) by @Muppetteer
- feat(test-utils): Add comprehensive test coverage for FileService and MetadataChangeDetector (#1658) by @balazs-szucs
- feat(api): add @Builder.Default to entity fields for safer builder initialization and update mappers to ignore unmapped targets; add tests for builder defaults (#1634) by @balazs-szucs
📖 Documentation
- ci: Add OCI Image Specification Labels to Dockerfile (#1636) by @trevorswanson
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.13.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.13.0
Full Changelog: v1.12.0...v1.13.0
Release v1.12.0
🌟 What's New in v1.12.0
🚀 New Features
- Allow duplicate files both within the same library and across different libraries (#1632) by @adityachandelgit
- Introduce new book sorting mode: Author first, then Series, then Seri… (#1620) by @adityachandelgit
- Add a shelf creation button to the left menu bar and improve the layo… (#1617) by @adityachandelgit
✨ Enhancements
- Refresh autocomplete data lists when book is saved (#1629) by @Muppetteer
- Enable assign to shelf on existing shelves and magic shelves (#1628) by @Muppetteer
- Add display of selected item count in book action footer for easier b… (#1623) by @adityachandelgit
- Add ISBN column to table view (#1622) by @adityachandelgit
- Add support for displaying subchapters in EPUB reader sidebar (#1619) by @adityachandelgit
- feat(sort): implement natural order sorting titles and names (#1606) by @balazs-szucs
- feat(file-service): implement image downloading using RestTemplate with better headers and error handling (#1605) by @balazs-szucs
- fix(metadata): fallback to filename for title extraction in PDF and EPUB metadata (#1603) by @balazs-szucs
- Allow parentheses (angle brackets) in file naming pattern (#1601) by @adityachandelgit
- Fix: exclude completed books from Discover Something New (#1598) by @adityachandelgit
🐛 Bug Fixes
- Fix: correctly assign main title and subtitle from dc:title elements (#1626) by @adityachandelgit
- Fix Auto Fetch ignoring disabled metadata providers and attempting re… (#1624) by @adityachandelgit
- fix: kobo sync only update finished date when one doesn't already exist (#1614) by @CounterClops
- fix(metadata-updater): fix partial metadata save on Bookdrop (#1611) by @balazs-szucs
- Fix: cannot change lower and upper case letters in metadata (#1602) by @adityachandelgit
- Fix: magic shelf filter not working for "unset" read status (#1599) by @adityachandelgit
🛠️ Refactoring & Maintenance
- Fixes display of Tags field on bulk lock/unlock metadata screen (#1627) by @Muppetteer
- Reposition delete action to bottom of menus (#1621) by @adityachandelgit
- refactor(utils): convert utilities to @UtilityClass and add tests (#1609) by @balazs-szucs
- refactor: use try-with-resources for better resource management in file processing (#1607) by @balazs-szucs
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.12.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.12.0
Full Changelog: v1.11.0...v1.12.0
Release v1.11.0
🌟 What's New in v1.11.0
🚀 New Features
- Feature: Sync reading progress from Kobo in-built reader (#1541) by @CounterClops
- Feature: Next/previous book buttons on CBX reader (#1549) by @CounterClops
- Feature: Autocomplete for publisher and series on book metadata edit screen (#1587) by @Muppetteer
- Add ability to mark magic shelves as public (#1489) by @cjd
- feat: Set the browser title based on what section of the app you are on (#947) by @iamntz
- feat(ui): make grid view cells clickable (#1485) by @iamntz
✨ Enhancements
- Feature: Add DatePicker to edit metadata page (#1586) by @Muppetteer
- feat: add language restriction option for google parser and improve search metadata by title/author query (#1502) by @yann-denis
- Added timestamp from koreader_last_sync_time to returned json on GET for KOReader Sync API (#1518) by @astrodad
- feat(ui): set the correct file name when triggering a download (#1513) by @iamntz
- Enhancement: Import custom pagecount field from calibre (#1486) by @beedaddy
- feat(ui): add sort by fileName (#1482) by @iamntz
- Fix: Detect ISBN even if "scheme" is empty. (#1484) by @beedaddy
- fix: improve KOReader compatibility with Content-Disposition filename encoding (#1475) by @vhqkze
- feat(metadata-parser): Improve Amazon parser with international locale support (#1473) by @balazs-szucs
🐛 Bug Fixes
- Fix metadata writing to file (#1592) by @cjd
- Fix file moving - fixes issue #1521 (#1582) by @cjd
- Fix: Show invisible googleId on metadata picker pages (#1581) by @Muppetteer
- Fix: Continue Reading: Don't show already finished books (#1520) by @beedaddy
- fix TS compile error (#1481) by @iamntz
🛠️ Refactoring & Maintenance
- Fix: Change p-tabpanels height in multi-book-metadata-editor-component (#1580) by @larsdevolder
- chore: remove leading space from LoginGuard import (#1524) by @heyitsbench
- refactor(api, test): improve readability and code quality across services, and tests (#1494) by @balazs-szucs
- Fix: Normalize paths for relative sub-path calculation (#1501) by @subha0319
- refactor(api): replace obsolete APIs with their modern alternatives (#1467) by @balazs-szucs
- refactor(tests): replace runtime-dependent timestamps with fixed values (#1469) by @balazs-szucs
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.11.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.11.0
Full Changelog: v1.10.0...v1.11.0
Release v1.10.0
🌟 What's New in v1.10.0
This release bring dashboard customization, letting you configure scrollers using magic shelves, providing a more personalized and dynamic home experience.
🚀 New Features
- Add configurability to dashboard scrollers with support for magic shelves(#1453) by @adityachandelgit
- Show a generated cover for books which are missing a cover image (#1438) by @cjd
✨ Enhancements
- Add Book Type (epub, pdf, etc.) to sidebar filter (#1464) by @adityachandelgit
- Add filter by “Last Read Time” to Magic Shelf (#1462) by @adityachandelgit
🐛 Bug Fixes
- fix: tie book uploading topbar item to upload book permission (#1459) by @heyitsbench
- Fix: Cannot delete user after KOReader setup (#1454) by @adityachandelgit
- Fix Cleanup Temporary Metadata task (#1435) by @adityachandelgit
- Fix: Resolved “Book archive too large to cache” error (#1434) by @adityachandelgit
🛠️ Refactoring & Maintenance
- chore(ui): add placeholder to published date input field (#1463) by @adityachandelgit
- refactor(api): Use try-with-resources for I/O streams and ZipFiles (#1457) by @balazs-szucs
- feat: IPv6 compatibility (#1343) by @mhymny
- refactor(api): use pre-compiled Pattern variables instead of dynamic regular expressions (#1450) by @balazs-szucs
- Fix OIDC validation in WebSocket connections (#1436) by @adityachandelgit
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.10.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.10.0
Full Changelog: v1.9.0...v1.10.0
📸 Screenshots
Release v1.9.0
🌟 What's New in v1.9.0
This release brings the task scheduling system, enabling users to schedule background tasks for metadata updates, library scans, and other automated operations.
Additionally, the Swagger API endpoints are fully accessible when running Booklore in a Docker container, e.g., https://booklore.mydomain.com/api/v1/swagger-ui/index.html.
This update also fixes the Bulk Metadata Editor and File Organizer/Mover features.
🚀 New Features
- Implement task scheduling system (#1427) by @adityachandelgit
- Add the /api prefix to the Swagger endpoints so it works correctly be… (#1418) by @adityachandelgit
✨ Enhancements
- Improve EPUB cover replacement for EPUB 2/3 and ensure covers display correctly on client devices (#1428) by @adityachandelgit
- fix: use local storage for oauth (#1421) by @twsouthwick
- Fix: support non-ASCII filenames in Content-Disposition (#1405) by @vhqkze
- Refactor file mover to ensure faster transfers and more reliable hand… (#1406) by @adityachandelgit
🐛 Bug Fixes
- Recompute fingerprint after cover update to ensure consistency (#1429) by @adityachandelgit
- Re-enable ForwardAuth and have ForwardAuth work using email address (#1426) by @cjd
- Fix: bulk metadata editor not working (#1415) by @adityachandelgit
- Secure /media endpoints behind authentication tokens (#1407) by @adityachandelgit
🛠️ Refactoring & Maintenance
- add: .gitattributes for building on windows (#1422) by @twsouthwick
📖 Documentation
- docs: added example for rootless podman quadlet deployment (#1389) by @GianniBYoung
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.9.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.9.0
Full Changelog: v1.8.1...v1.9.0
📸 Screenshots
Release v1.8.1
🌟 What's New in v1.8.1
🐛 Bug Fixes
- Fix: xml error with opds in moon reader (#1396) by @adityachandelgit
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.8.1 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.8.1
Full Changelog: v1.8.0...v1.8.1
Release v1.8.0
🌟 What's New in v1.8.0
-
In this release, all OPDS endpoints have been consolidated into a single unified endpoint: /api/v1/opds.
Please migrate as soon as possible, as the legacy endpoints /api/v2/opds and /api/v1/opds/catalog are now deprecated and no longer functional. -
The new /api/v1/opds endpoint also introduces navigational feeds, providing a smoother and more intuitive way to browse books.
🚀 New Features
- Consolidate OPDS endpoints and implement structured navigation feeds (#1375) by @adityachandelgit
🐛 Bug Fixes
- Fix: preserve genre list when adding multiple genres (#1386) by @adityachandelgit
- Replace hardcoded Amazon domains with configurable value from AppSett… (#1385) by @adityachandelgit
- Fix: update read status correctly when multiple items are selected in… (#1382) by @adityachandelgit
- Fix hardcoded OIDC mapping (#1371) by @zacxihu
- Fix shift+click selection range handling in grid view (#1381) by @adityachandelgit
📖 Documentation
- Add reference link to OIDC documentation (#1376) by @adityachandelgit
🐳 Docker Images
- Docker Hub:
booklore/booklore:v1.8.0 - GitHub Container Registry:
ghcr.io/booklore-app/booklore:v1.8.0
Full Changelog: v1.7.0...v1.8.0