Skip to content

feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.2.0 )#1206

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/ghcr.io-booklore-app-booklore-2.x
Open

feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.2.0 )#1206
renovate[bot] wants to merge 1 commit intomainfrom
renovate/ghcr.io-booklore-app-booklore-2.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 23, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Update Change
ghcr.io/booklore-app/booklore major v1.18.5v2.2.0

Release Notes

booklore-app/booklore (ghcr.io/booklore-app/booklore)

v2.2.0

Compare Source

🌟 What's New in v2.2.0

This release introduces (or brings back) two new library organization modes: Book per File and Book per Folder, giving you explicit control over how Booklore groups files into books during scanning.

When Booklore first started, the philosophy was simple: don't worry about how files are organized on disk, just scan everything and figure it out. This worked well when libraries only contained single-file formats like EPUB and PDF. But as support grew for multi-format books and multi-file audiobooks, that approach started to break down. The existing Auto-detect mode uses fuzzy filename matching and heuristics to guess how files should be grouped, and while it works in many cases, it has some real problems: files can get missed during scans, multi-file audiobooks sometimes show up as separate books (one per file), and the grouping behavior is unpredictable since it depends on how your files happen to be named.

Rather than continuing to patch Auto-detect, I'm introducing two new modes that are simple, predictable, and thoroughly-tested:

  • Book per File: Every file becomes its own book. One file, one book, no guessing. This is now the default for new libraries.

  • Book per Folder: Files in the same folder are grouped into a single book. Great for organized libraries with an Author/Title/ structure, and it handles multi-format books and folder-based audiobooks naturally. If you have a folder with an EPUB, a MOBI, and an audiobook/ subfolder, they all become one book.

Auto-detect is not going away. Existing libraries using it will continue to work as before. But it's now marked as legacy, and I strongly recommend switching to one of the new modes. They're simpler, more reliable, and will be the focus of ongoing development and support going forward.

You can set the organization mode when creating a new library, but cannot change it on an existing library. For a detailed breakdown of each mode with examples, check out the documentation.

🚀 New Features
✨ Enhancements
🐛 Bug Fixes
🛠️ Refactoring & Maintenance
🐳 Docker Images
  • Docker Hub: booklore/booklore:v2.2.0
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.2.0

Full Changelog: booklore-app/booklore@v2.1.0...v2.2.0

Screenshot 2026-03-11 at 8 51 20 AM Screenshot 2026-03-11 at 8 51 59 AM

v2.1.0

Compare Source

🌟 What's New in v2.1.0

🚀 New Features

✨ Enhancements

🐛 Bug Fixes

🛠️ Refactoring & Maintenance

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.1.0
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.1.0

Full Changelog: booklore-app/booklore@v2.0.6...v2.1.0

isbn-import-dialog-d533b9dc3df46a0f722f44c7609c3229
magic-shelf-import-json-aa85003e8bbe2a845843af54868fab24

v2.0.6

Compare Source

🌟 What's New in v2.0.6

The big one here is a complete OIDC overhaul. Token exchange has moved server-side (BFF pattern), ID tokens are now fully validated (issuer, audience, nonce, at_hash, expiration, JWKS signature), and there's proper CSRF state protection with one-time-use tokens. Backchannel logout lets your provider revoke Booklore sessions remotely, and a new group claim mapping system automatically assigns permissions and library access based on your OIDC groups. Auto-provisioning, local account linking, avatar sync, per-user concurrency locks, session tracking, and an admin diagnostic tool round it out.

Beyond OIDC: drag-and-drop author reordering, audiobook chapters tab, embeddable field indicators in the metadata editor, new stats insights (golden era, rarity score), clickable read status icons on book cards, and Hardcover edition-specific metadata lookups.

🚀 New Features

✨ Enhancements

🎨 UI Tweaks

🐛 Bug Fixes

🛠️ Refactoring & Maintenance

📦 Dependencies

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.6
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.6

Full Changelog: booklore-app/booklore@v2.0.5...v2.0.6

v2.0.5

Compare Source

🌟 What's New in v2.0.5

🐛 Bug Fixes

🛠️ Refactoring & Maintenance

📦 Dependencies

⚙️ CI/CD

📖 Documentation

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.5
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.5

Full Changelog: booklore-app/booklore@v2.0.4...v2.0.5

v2.0.4

Compare Source

🌟 What's New in v2.0.4

🚀 New Features

✨ Enhancements

🎨 UI Tweaks

🐛 Bug Fixes

🛠️ Refactoring & Maintenance

📦 Dependencies

📖 Documentation

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.4
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.4

Full Changelog: booklore-app/booklore@v2.0.3...v2.0.4

v2.0.3

Compare Source

🌟 What's New in v2.0.3

✨ Enhancements

  • Add detach book file feature and fix attach not respecting move preference (#​3024) by @​acx10

🎨 UI Tweaks

  • Use app-tag component with operation-based colors for audit log actions (#​3029) by @​acx10

🐛 Bug Fixes

📦 Dependencies

🛠️ Refactoring & Maintenance

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.3
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.3

Full Changelog: booklore-app/booklore@v2.0.2...v2.0.3

v2.0.2

Compare Source

🌟 What's New in v2.0.2

✨ Enhancements

🐛 Bug Fixes

🛠️ Refactoring & Maintenance

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.2
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.2

Full Changelog: booklore-app/booklore@v2.0.1...v2.0.2

v2.0.1

Compare Source

🌟 What's New in v2.0.1

🐛 Bug Fixes

  • Fix max upload size description to include all file formats (#​2894) by @​acx10
  • Fix magic shelf physical book filter and polish UI (#​2888) by @​acx10
  • Fix metadata settings not saving due to null deserialization error (#​2886) by @​acx10
  • Fix Kobo download/image URLs using wrong port behind reverse proxy (#​2875) by @​acx10
  • Fix app crash on startup when /bookdrop volume is not mounted (#​2873) by @​acx10

🛠️ Refactoring & Maintenance

🐳 Docker Images

  • Docker Hub: booklore/booklore:v2.0.1
  • GitHub Container Registry: ghcr.io/booklore-app/booklore:v2.0.1

Full Changelog: booklore-app/booklore@v2.0.0...v2.0.1

v2.0.0

Compare Source

🌟 What's New in v2.0.0

This is the biggest Booklore release yet, with nearly 200 commits touching every part of the application:

  • Multi-Format Book Support & Audiobooks: Books can now have multiple file formats (EPUB, PDF, CBZ, etc.) attached to a single entry. Full audiobook support is here with a dedicated player, streaming playback, narrator filtering, and session tracking.
  • Duplicate Book Detection & Merge: Booklore can now detect duplicate books across your library. A new merge tool lets you combine duplicates, choose which formats to keep, and optionally move files, all without losing metadata.
  • Author Metadata via Audnexus: Author pages now pull rich metadata (bios, images) from the Audnexus API, with a dedicated author browser, detail page, and editor.
  • Series Browser: A brand new series browser page with search, filtering, sorting, and resizable cards for browsing your series collection at a glance.
  • Annotation Notebook: All your highlights, notes, and bookmarks are now collected in a searchable, paginated notebook view.
  • Audit Log System: Admins can now see a full audit trail of significant actions (user management, library changes, metadata operations) with geo flags, relative timestamps, and filterable logs.
  • Bidirectional Kobo Sync: Full two-way reading progress sync with Kobo devices, plus shelves and magic shelves now sync as Kobo tags.
  • Cascading Sidebar Filters: Filters now cascade, so selecting an author narrows available series, genres, etc. You can also customize which filters are visible.
  • 10+ New Statistics Charts: A massive expansion of the stats page with reading heatmaps, distribution charts, completion races, and more.
  • PDF Annotations & Reader Upgrades: The PDF reader now supports annotations, dark/light mode toggle, and Range streaming. The ebook reader gains fullscreen, keyboard shortcuts, and go-to-percentage. The CBX reader adds fullscreen, slideshow, RTL, and long strip mode.
  • Sidecar Metadata Files: Booklore can now read and write .metadata.json sidecar files alongside your books for portable metadata storage.
  • Extended Comic Metadata: Full ComicInfo.xml support with a dedicated comic metadata picker and write-back to CBZ/PDF files.
  • Internationalization via Weblate: Booklore is now fully translatable with Transloco and Weblate integration. Ships with 15+ languages including Hungarian, Slovenian, Croatian, Swedish, Chinese, and Japanese.
  • Java 25, Spring Boot 4, Gradle 9: The entire backend has been upgraded to the latest stack. Nginx has been removed; Angular is now served directly from Spring Boot.
  • Login Rate Limiting: Brute-force protection on the login endpoint. Plus new age and content rating support for restricted libraries.
  • Performance: Book list API optimized with ETag caching, delta sync, and IndexedDB. Project Lilliput compact object headers reduce heap usage.

🚀 New Features

✨ Enhancements

🎨 UI Tweaks

🐛 Bug Fixes

  • fix(auth): resolve DST-related login failure for refresh tokens (#​2624) by @​acx10
  • Fix Kobo sync HeadersTooLargeException for large libraries (#​2809) by @​acx10
  • fix(metadata-refresh): Correct metadata update priorities and preserve disabled fields during 'replace all' (#​2503) by @​balazs-szucs
  • fix(metadata-parsers): improve ISBN search logic and fallback strategies for metadata fetching (#​2502) by @​balazs-szucs
  • fix(metadata-update): ensure per-book transaction isolation in bulk updates to prevent race conditions (#​2536) by @​balazs-szucs
  • fix(metadata-refresh): fix filter book shelves by authenticated user logs out the user. (#​2481) by @​balazs-szucs
  • Fix null collection errors for PDFs, audiobooks, and physical books (#​2817) by @​acx10
  • fix(library-processing): re-fetch library entity after clearing entity manager during rescan (#​2507) by @​balazs-szucs
  • fix(file-move): ensure file moves are rolled back if database update fails (#​2588) by @​balazs-szucs
  • fix(file-move): update empty directory cleanup to handle multiple library paths (#​2634) by @​balazs-szucs
  • Fix CBR/CB7 to CBZ conversion losing track of file path (#​2835) by @​acx10
  • fix(cbz-reader): CBZ reading regression and optimize ZIP parsing strategy (#​2593) by @​balazs-szucs
  • Fix PDF reader not loading alternate format files (#​2836) by @​acx10
  • fix(epub-cover-extract): improve cover image extraction with fallback handling (#​2585) by @​balazs-szucs
  • fix(epub-metadata): enhance cover extraction with heuristic fallbacks for manifest and ZIP entries (#​2636) by @​balazs-szucs
  • fix(book-rule-evaluator): fix file type handling and add mapping for specific formats to fix magic shelve based on filetype (#​2480) by @​balazs-szucs
  • Fix magic shelf rule evaluation for numeric comparisons (#​2795) by @​acx10
  • Fix read status NULL progress handling in rule evaluator (#​2821) by @​acx10
  • Fix bookdrop race condition processing files before fully written (#​2785) by @​acx10
  • fix(bookdrop): handle file modifications in Bookdrop event handler (#​2559) by @​balazs-szucs
  • fix(hardcover-sync): Don't send repeated read status to Hardcover.app (#​2609) by @​PhasecoreX
  • fix(api): Select correct Hardcover.app ISBN from lookup results (#​2530) by @​PhasecoreX
  • fix(ui): fix memory leaks and cascading API calls in metadata editor (#​2716) by @​acx10
  • fix: replace Quill editor with native HTML rendering for book descriptions (#​2733) by @​acx10
  • Fix reading stats queries not accounting for timezone (#​2844) by @​acx10
  • Fix reading session timeline long sessions, tooltip perf, and week mismatch (#​2848) by @​acx10
  • fix(reading-stats,ui): update heatmap to use local time formatting… ([#​2587

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

--- HelmRelease: default/booklore Deployment: default/booklore

+++ HelmRelease: default/booklore Deployment: default/booklore

@@ -92,13 +92,13 @@

         - -c
         env:
         - name: BOOKLORE_PORT
           value: '6060'
         - name: TZ
           value: America/Los_Angeles
-        image: ghcr.io/booklore-app/booklore:v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+        image: ghcr.io/booklore-app/booklore:v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
         name: nginx-config
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
@@ -122,13 +122,13 @@

         - name: DATABASE_URL
           value: jdbc:mariadb://localhost:3306/booklore
         - name: DATABASE_USERNAME
           value: booklore
         - name: TZ
           value: America/Los_Angeles
-        image: ghcr.io/booklore-app/booklore:v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+        image: ghcr.io/booklore-app/booklore:v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
         livenessProbe:
           httpGet:
             path: /api/v1/healthcheck
             port: 8080
         name: booklore
         readinessProbe:
@@ -165,13 +165,13 @@

         - daemon off;
         command:
         - nginx
         env:
         - name: TZ
           value: America/Los_Angeles
-        image: ghcr.io/booklore-app/booklore:v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+        image: ghcr.io/booklore-app/booklore:v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
         livenessProbe:
           httpGet:
             path: /
             port: 6060
         name: nginx
         readinessProbe:

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

--- kubernetes/apps/default/booklore/app Kustomization: default/booklore HelmRelease: default/booklore

+++ kubernetes/apps/default/booklore/app Kustomization: default/booklore HelmRelease: default/booklore

@@ -39,13 +39,13 @@

               DATABASE_PASSWORD: booklore
               DATABASE_URL: jdbc:mariadb://localhost:3306/booklore
               DATABASE_USERNAME: booklore
               TZ: America/Los_Angeles
             image:
               repository: ghcr.io/booklore-app/booklore
-              tag: v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+              tag: v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
             probes:
               liveness:
                 custom: true
                 enabled: true
                 spec:
                   httpGet:
@@ -81,13 +81,13 @@

             command:
             - nginx
             env:
               TZ: America/Los_Angeles
             image:
               repository: ghcr.io/booklore-app/booklore
-              tag: v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+              tag: v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
             probes:
               liveness:
                 custom: true
                 enabled: true
                 spec:
                   httpGet:
@@ -151,13 +151,13 @@

             - -c
             env:
               BOOKLORE_PORT: 6060
               TZ: America/Los_Angeles
             image:
               repository: ghcr.io/booklore-app/booklore
-              tag: v1.18.5@sha256:44a39097fcf69e7373b51df0459da052640d07459fb02b429f2c47cceaa32485
+              tag: v2.2.0@sha256:346064cb1fef6149dad2d8a373ea5fd1a7e3b61c22540995e40e8452136e202b
             securityContext:
               allowPrivilegeEscalation: false
               capabilities:
                 drop:
                 - ALL
               fsGroup: 101

@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from 8fb8ba8 to 95e8f67 Compare February 24, 2026 08:45
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.0 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.1 ) Feb 24, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from 95e8f67 to 2098f13 Compare February 24, 2026 19:15
@jfroy jfroy force-pushed the main branch 2 times, most recently from c88cc07 to aca0b08 Compare February 25, 2026 07:58
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from 2098f13 to 3043bb9 Compare February 25, 2026 21:55
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.1 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.2 ) Feb 25, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from 3043bb9 to 7ee81df Compare February 26, 2026 22:19
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.2 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.3 ) Feb 26, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from 7ee81df to d4286e2 Compare February 28, 2026 05:14
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.3 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.4 ) Feb 28, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from d4286e2 to e7b73cb Compare March 1, 2026 22:03
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.4 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.5 ) Mar 1, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from e7b73cb to b6fd87d Compare March 6, 2026 21:07
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.5 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.6 ) Mar 6, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from b6fd87d to cb89778 Compare March 8, 2026 20:56
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.0.6 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.1.0 ) Mar 8, 2026
@renovate renovate bot force-pushed the renovate/ghcr.io-booklore-app-booklore-2.x branch from cb89778 to ed28f70 Compare March 11, 2026 18:48
@renovate renovate bot changed the title feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.1.0 ) feat(container)!: Update image ghcr.io/booklore-app/booklore ( v1.18.5 ➔ v2.2.0 ) Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants