b594e71993
chore(deps): update kube-prometheus-stack docker tag to v82.4.0
lint-test-helm / lint-helm (pull_request) Successful in 48s
2026-02-25 23:46:22 +00:00
7411f391e8
feat: add proxy auth
lint-test-helm / lint-helm (push) Successful in 1m21s
renovate / renovate (push) Successful in 3m22s
render-manifests-push / render-manifests-push (push) Successful in 4m17s
2026-02-25 17:42:52 -06:00
536e164b03
fix: change headers
lint-test-helm / lint-helm (push) Successful in 40s
render-manifests-push / render-manifests-push (push) Successful in 2m26s
renovate / renovate (push) Successful in 3m3s
2026-02-25 17:25:18 -06:00
ade761cc85
feat: add reference grant
lint-test-helm / lint-helm (push) Successful in 47s
render-manifests-push / render-manifests-push (push) Successful in 2m2s
renovate / renovate (push) Successful in 3m24s
2026-02-25 17:08:38 -06:00
218cb6c9de
fix: apply rule for routing
lint-test-helm / lint-helm (push) Successful in 40s
render-manifests-push / render-manifests-push (push) Successful in 1m52s
renovate / renovate (push) Successful in 3m30s
2026-02-25 17:03:38 -06:00
9ba91dd00b
fix: fix headers
lint-test-helm / lint-helm (push) Successful in 1m18s
render-manifests-push / render-manifests-push (push) Successful in 2m38s
renovate / renovate (push) Successful in 3m9s
2026-02-25 16:44:58 -06:00
4c02107d95
fix: fix placement
lint-test-helm / lint-helm (push) Successful in 31s
render-manifests-push / render-manifests-push (push) Successful in 1m26s
renovate / renovate (push) Successful in 4m13s
2026-02-25 16:27:01 -06:00
4faecf7888
feat: add proxy auth
lint-test-helm / lint-helm (push) Successful in 30s
render-manifests-push / render-manifests-push (push) Failing after 1m3s
renovate / renovate (push) Has been cancelled
2026-02-25 16:24:43 -06:00
b0e7da062a
chore(deps): update dependency elastic/cloud-on-k8s to v3.3.1 ( #4237 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m1s
renovate / renovate (push) Successful in 2m32s
2026-02-25 21:47:42 +00:00
91540f1955
chore(deps): update booklore-app/booklore to v2.0.2 ( #4236 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-25 21:47:16 +00:00
cd35da4bed
chore(deps): update helm release eck-operator to v3.3.1 ( #4234 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 44s
renovate / renovate (push) Successful in 3m7s
2026-02-25 18:49:22 +00:00
752c9fc47d
chore(deps): update dependency tailscale/tailscale to v1.94.2 ( #4233 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Failing after 6s
renovate / renovate (push) Has been cancelled
2026-02-25 18:48:42 +00:00
826558ae44
chore(deps): update helm release authentik to v2026 ( #4227 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 24s
renovate / renovate (push) Successful in 1m52s
Reviewed-on: #4227
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-25 04:46:25 +00:00
ff9f57dd2d
chore(deps): update d3fk/s3cmd:latest docker digest to e83b083 ( #4229 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 42s
renovate / renovate (push) Successful in 2m16s
2026-02-25 03:03:01 +00:00
b24e710da6
feat: disable backups
lint-test-helm / lint-helm (push) Successful in 20s
render-manifests-push / render-manifests-push (push) Successful in 1m53s
renovate / renovate (push) Successful in 3m7s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 31m5s
2026-02-24 18:26:13 -06:00
e9c7154f56
revert: downgrade chart
lint-test-helm / lint-helm (push) Successful in 1m8s
render-manifests-push / render-manifests-push (push) Successful in 1m48s
renovate / renovate (push) Successful in 4m19s
2026-02-24 17:34:28 -06:00
636bf738d4
chore(deps): update ghcr.io/linuxserver/bazarr:1.5.5 docker digest to c381924 ( #4224 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 49s
renovate / renovate (push) Successful in 2m42s
2026-02-24 22:53:20 +00:00
5bfd49f592
chore(deps): update helm release authentik to v2026 ( #4222 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m8s
renovate / renovate (push) Has been cancelled
Reviewed-on: #4222
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 22:49:27 +00:00
15423676b5
chore(deps): update booklore-app/booklore to v2 (major) ( #4176 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 37s
renovate / renovate (push) Successful in 4m52s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [booklore-app/BookLore](https://github.com/booklore-app/BookLore ) | major | `v1.18.5` → `v2.0.1` |
| [ghcr.io/booklore-app/booklore](https://github.com/booklore-app/booklore ) | major | `v1.18.5` → `v2.0.1` |
---
### Release Notes
<details>
<summary>booklore-app/BookLore (booklore-app/BookLore)</summary>
### [`v2.0.1`](https://github.com/booklore-app/booklore/releases/tag/v2.0.1 )
[Compare Source](https://github.com/booklore-app/BookLore/compare/v2.0.0...v2.0.1 )
#### 🌟 What's New in v2.0.1
#### 🐛 Bug Fixes
- Fix max upload size description to include all file formats ([#​2894](https://github.com/booklore-app/BookLore/issues/2894 )) by [@​acx10](https://github.com/acx10 )
- Fix magic shelf physical book filter and polish UI ([#​2888](https://github.com/booklore-app/BookLore/issues/2888 )) by [@​acx10](https://github.com/acx10 )
- Fix metadata settings not saving due to null deserialization error ([#​2886](https://github.com/booklore-app/BookLore/issues/2886 )) by [@​acx10](https://github.com/acx10 )
- Fix Kobo download/image URLs using wrong port behind reverse proxy ([#​2875](https://github.com/booklore-app/BookLore/issues/2875 )) by [@​acx10](https://github.com/acx10 )
- Fix app crash on startup when /bookdrop volume is not mounted ([#​2873](https://github.com/booklore-app/BookLore/issues/2873 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- Hide sidecar tab for physical books ([#​2887](https://github.com/booklore-app/BookLore/issues/2887 )) by [@​acx10](https://github.com/acx10 )
- Translations update from Hosted Weblate ([#​2866](https://github.com/booklore-app/BookLore/issues/2866 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.0.1`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.0.1`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.0.0...v2.0.1 >
### [`v2.0.0`](https://github.com/booklore-app/booklore/releases/tag/v2.0.0 )
[Compare Source](https://github.com/booklore-app/BookLore/compare/v1.18.5...v2.0.0 )
#### 🌟 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
- Introduce multi-format book support, including audiobooks ([#​2486](https://github.com/booklore-app/BookLore/issues/2486 )) by [@​acx10](https://github.com/acx10 )
- Add duplicate book detection/merge and fix format-related data loss ([#​2820](https://github.com/booklore-app/BookLore/issues/2820 )) by [@​acx10](https://github.com/acx10 )
- Add author metadata via Audnexus with browser, detail, and editor pages ([#​2843](https://github.com/booklore-app/BookLore/issues/2843 )) by [@​acx10](https://github.com/acx10 )
- feat: add series browser page ([#​2771](https://github.com/booklore-app/BookLore/issues/2771 )) by [@​acx10](https://github.com/acx10 )
- feat: add annotation notebook with server-side pagination ([#​2736](https://github.com/booklore-app/BookLore/issues/2736 )) by [@​acx10](https://github.com/acx10 )
- feat: add audit log system for tracking admin-significant actions ([#​2759](https://github.com/booklore-app/BookLore/issues/2759 )) by [@​acx10](https://github.com/acx10 )
- Add bidirectional Kobo reading progress sync ([#​2791](https://github.com/booklore-app/BookLore/issues/2791 )) by [@​acx10](https://github.com/acx10 )
- feat(filters): implement cascading sidebar filters ([#​2616](https://github.com/booklore-app/BookLore/issues/2616 )) by [@​acx10](https://github.com/acx10 )
- feat(cbx-reader): add fullscreen, slideshow, RTL, long strip mode and keyboard shortcuts ([#​2632](https://github.com/booklore-app/BookLore/issues/2632 )) by [@​acx10](https://github.com/acx10 )
- feat(sidecar): add sidecar JSON metadata file support ([#​2657](https://github.com/booklore-app/BookLore/issues/2657 )) by [@​acx10](https://github.com/acx10 )
- feat(comic-metadata): add extended comic metadata support ([#​2654](https://github.com/booklore-app/BookLore/issues/2654 )) by [@​acx10](https://github.com/acx10 )
- feat(i18n): add Transloco translation framework with EN/ES and 7 language scaffolds ([#​2681](https://github.com/booklore-app/BookLore/issues/2681 )) by [@​acx10](https://github.com/acx10 )
- feat(api, build): Upgrade to Java 25, Gradle 9, and Spring Boot 4, Jackson 3 ([#​2597](https://github.com/booklore-app/BookLore/issues/2597 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Remove nginx and serve Angular directly from Spring Boot ([#​2662](https://github.com/booklore-app/BookLore/issues/2662 )) by [@​acx10](https://github.com/acx10 )
- feat: add login rate limiting to prevent brute-force attacks ([#​2761](https://github.com/booklore-app/BookLore/issues/2761 )) by [@​acx10](https://github.com/acx10 )
- feat(content-restrictions): add age rating and content rating support ([#​2619](https://github.com/booklore-app/BookLore/issues/2619 )) by [@​acx10](https://github.com/acx10 )
- feat(sorting): add multi-field sorting support ([#​2628](https://github.com/booklore-app/BookLore/issues/2628 )) by [@​acx10](https://github.com/acx10 )
- feat(metadata): add custom metadata write to file support for moods, tags, ratings, and external IDs in PDF, and CBZ ([#​2552](https://github.com/booklore-app/BookLore/issues/2552 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat(metadata) Save basic metadata to EPUB file - Bonus use Calibre Custom Columns for importing metadata. ([#​1879](https://github.com/booklore-app/BookLore/issues/1879 )) by [@​jadehawk](https://github.com/jadehawk )
- feat: add grouped field dropdown and composite fields to magic shelf ([#​2750](https://github.com/booklore-app/BookLore/issues/2750 )) by [@​acx10](https://github.com/acx10 )
- feat(filters): add customizable visible filters setting ([#​2625](https://github.com/booklore-app/BookLore/issues/2625 )) by [@​acx10](https://github.com/acx10 )
- Add 10 advanced stats charts ([#​2850](https://github.com/booklore-app/BookLore/issues/2850 )) by [@​acx10](https://github.com/acx10 )
- feat(stats): add 5 new user statistics charts ([#​2703](https://github.com/booklore-app/BookLore/issues/2703 )) by [@​acx10](https://github.com/acx10 )
- feat(i18n): add Weblate integration and auth translations ([#​2727](https://github.com/booklore-app/BookLore/issues/2727 )) by [@​acx10](https://github.com/acx10 )
- feat: add else clause and value modifiers to file naming patterns ([#​2724](https://github.com/booklore-app/BookLore/issues/2724 )) by [@​acx10](https://github.com/acx10 )
- feat: add button to fetch metadata from book file ([#​2739](https://github.com/booklore-app/BookLore/issues/2739 )) by [@​acx10](https://github.com/acx10 )
- feat(google-books): add optional API key configuration ([#​2629](https://github.com/booklore-app/BookLore/issues/2629 )) by [@​acx10](https://github.com/acx10 )
#### ✨ Enhancements
- feat(reader): add PDF annotations, Range streaming, and optimized chunk loading ([#​2701](https://github.com/booklore-app/BookLore/issues/2701 )) by [@​acx10](https://github.com/acx10 )
- feat(reader): add fullscreen, keyboard shortcuts, search cancel, and go-to-percentage ([#​2698](https://github.com/booklore-app/BookLore/issues/2698 )) by [@​acx10](https://github.com/acx10 )
- feat(reader): add dark/light mode toggle and improved close button to PDF reader ([#​2699](https://github.com/booklore-app/BookLore/issues/2699 )) by [@​acx10](https://github.com/acx10 )
- feat(kobo-sync): add user scoped 2 way kobo sync ([#​2452](https://github.com/booklore-app/BookLore/issues/2452 )) by [@​b3nk3](https://github.com/b3nk3 )
- feat(kobo-sync): Sync Shelves and Magic Shelves to Kobo Tags ([#​2236](https://github.com/booklore-app/BookLore/issues/2236 )) by [@​xcashy](https://github.com/xcashy )
- Redesign series page layout and book list tab ([#​2847](https://github.com/booklore-app/BookLore/issues/2847 )) by [@​acx10](https://github.com/acx10 )
- feat(sort): replace compound sort options with atomic fields and multi-sort support ([#​2686](https://github.com/booklore-app/BookLore/issues/2686 )) by [@​acx10](https://github.com/acx10 )
- Add moveFiles option to attach/merge and per-book delete in duplicate merger ([#​2833](https://github.com/booklore-app/BookLore/issues/2833 )) by [@​acx10](https://github.com/acx10 )
- feat: enhance audit logs with geo flags, relative time, and UX improvements ([#​2760](https://github.com/booklore-app/BookLore/issues/2760 )) by [@​acx10](https://github.com/acx10 )
- feat(bookdrop): add ability to poll the bookdrop folder ([#​2768](https://github.com/booklore-app/BookLore/issues/2768 )) by [@​arjunsrinivasan1997](https://github.com/arjunsrinivasan1997 )
- feat: add metadata presence filter to magic shelf ([#​2757](https://github.com/booklore-app/BookLore/issues/2757 )) by [@​acx10](https://github.com/acx10 )
- feat(upload): add upload progress tracking with progress bar and stats ([#​2640](https://github.com/booklore-app/BookLore/issues/2640 )) by [@​acx10](https://github.com/acx10 )
- feat(email): add format selection to email book dialog ([#​2650](https://github.com/booklore-app/BookLore/issues/2650 )) by [@​acx10](https://github.com/acx10 )
- feat(pwa): Enable fullscreen mode for Android immersive reading ([#​2649](https://github.com/booklore-app/BookLore/issues/2649 )) by [@​alondero](https://github.com/alondero )
- Add Hungarian and Slovenian language support ([#​2846](https://github.com/booklore-app/BookLore/issues/2846 )) by [@​acx10](https://github.com/acx10 )
- fix(library-service): prevent concurrent library scans with a tracking set ([#​2637](https://github.com/booklore-app/BookLore/issues/2637 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat: add configurable sidebar width setting ([#​2749](https://github.com/booklore-app/BookLore/issues/2749 )) by [@​acx10](https://github.com/acx10 )
- refactor(download): simplify file download to use browser native handling ([#​2639](https://github.com/booklore-app/BookLore/issues/2639 )) by [@​acx10](https://github.com/acx10 )
#### 🎨 UI Tweaks
- Add visual polish to book card component ([#​2788](https://github.com/booklore-app/BookLore/issues/2788 )) by [@​acx10](https://github.com/acx10 )
- refactor: centralize access-denied card styles into shared mixin ([#​2515](https://github.com/booklore-app/BookLore/issues/2515 )) by [@​acx10](https://github.com/acx10 )
#### 🐛 Bug Fixes
- fix(auth): resolve DST-related login failure for refresh tokens ([#​2624](https://github.com/booklore-app/BookLore/issues/2624 )) by [@​acx10](https://github.com/acx10 )
- Fix Kobo sync HeadersTooLargeException for large libraries ([#​2809](https://github.com/booklore-app/BookLore/issues/2809 )) by [@​acx10](https://github.com/acx10 )
- fix(metadata-refresh): Correct metadata update priorities and preserve disabled fields during 'replace all' ([#​2503](https://github.com/booklore-app/BookLore/issues/2503 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-parsers): improve ISBN search logic and fallback strategies for metadata fetching ([#​2502](https://github.com/booklore-app/BookLore/issues/2502 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-update): ensure per-book transaction isolation in bulk updates to prevent race conditions ([#​2536](https://github.com/booklore-app/BookLore/issues/2536 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-refresh): fix filter book shelves by authenticated user logs out the user. ([#​2481](https://github.com/booklore-app/BookLore/issues/2481 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix null collection errors for PDFs, audiobooks, and physical books ([#​2817](https://github.com/booklore-app/BookLore/issues/2817 )) by [@​acx10](https://github.com/acx10 )
- fix(library-processing): re-fetch library entity after clearing entity manager during rescan ([#​2507](https://github.com/booklore-app/BookLore/issues/2507 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(file-move): ensure file moves are rolled back if database update fails ([#​2588](https://github.com/booklore-app/BookLore/issues/2588 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(file-move): update empty directory cleanup to handle multiple library paths ([#​2634](https://github.com/booklore-app/BookLore/issues/2634 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix CBR/CB7 to CBZ conversion losing track of file path ([#​2835](https://github.com/booklore-app/BookLore/issues/2835 )) by [@​acx10](https://github.com/acx10 )
- fix(cbz-reader): CBZ reading regression and optimize ZIP parsing strategy ([#​2593](https://github.com/booklore-app/BookLore/issues/2593 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix PDF reader not loading alternate format files ([#​2836](https://github.com/booklore-app/BookLore/issues/2836 )) by [@​acx10](https://github.com/acx10 )
- fix(epub-cover-extract): improve cover image extraction with fallback handling ([#​2585](https://github.com/booklore-app/BookLore/issues/2585 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(epub-metadata): enhance cover extraction with heuristic fallbacks for manifest and ZIP entries ([#​2636](https://github.com/booklore-app/BookLore/issues/2636 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(book-rule-evaluator): fix file type handling and add mapping for specific formats to fix magic shelve based on filetype ([#​2480](https://github.com/booklore-app/BookLore/issues/2480 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix magic shelf rule evaluation for numeric comparisons ([#​2795](https://github.com/booklore-app/BookLore/issues/2795 )) by [@​acx10](https://github.com/acx10 )
- Fix read status NULL progress handling in rule evaluator ([#​2821](https://github.com/booklore-app/BookLore/issues/2821 )) by [@​acx10](https://github.com/acx10 )
- Fix bookdrop race condition processing files before fully written ([#​2785](https://github.com/booklore-app/BookLore/issues/2785 )) by [@​acx10](https://github.com/acx10 )
- fix(bookdrop): handle file modifications in Bookdrop event handler ([#​2559](https://github.com/booklore-app/BookLore/issues/2559 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(hardcover-sync): Don't send repeated read status to Hardcover.app ([#​2609](https://github.com/booklore-app/BookLore/issues/2609 )) by [@​PhasecoreX](https://github.com/PhasecoreX )
- fix(api): Select correct Hardcover.app ISBN from lookup results ([#​2530](https://github.com/booklore-app/BookLore/issues/2530 )) by [@​PhasecoreX](https://github.com/PhasecoreX )
- fix(ui): fix memory leaks and cascading API calls in metadata editor ([#​2716](https://github.com/booklore-app/BookLore/issues/2716 )) by [@​acx10](https://github.com/acx10 )
- fix: replace Quill editor with native HTML rendering for book descriptions ([#​2733](https://github.com/booklore-app/BookLore/issues/2733 )) by [@​acx10](https://github.com/acx10 )
- Fix reading stats queries not accounting for timezone ([#​2844](https://github.com/booklore-app/BookLore/issues/2844 )) by [@​acx10](https://github.com/acx10 )
- Fix reading session timeline long sessions, tooltip perf, and week mismatch ([#​2848](https://github.com/booklore-app/BookLore/issues/2848 )) by [@​acx10](https://github.com/acx10 )
- fix(reading-stats,ui): update heatmap to use local time formatting… ([#​2587](https://github.com/booklore-app/BookLore/issues/2587 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- fix(select-all): "Mark All" bug and add "Remove from all shelves" bulk action across components ([#​2562](https://github.com/booklore-app/BookLore/issues/2562 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(opds): Fix OPDS CBR mime type reporting and strict Archive detection ([#​2592](https://github.com/booklore-app/BookLore/issues/2592 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix OPDS shelf filter cartesian product ([#​2837](https://github.com/booklore-app/BookLore/issues/2837 )) by [@​acx10](https://github.com/acx10 )
- fix(comic-metadata): fix series grouping bug with external ComicInfo.xml metadata ([#​2385](https://github.com/booklore-app/BookLore/issues/2385 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix additional file uploader bugs and improve metadata viewer ([#​2816](https://github.com/booklore-app/BookLore/issues/2816 )) by [@​acx10](https://github.com/acx10 )
- Fix PWA offline fallback blocking localhost access when internet is disconnected ([#​2784](https://github.com/booklore-app/BookLore/issues/2784 )) by [@​acx10](https://github.com/acx10 )
- fix(audiobook-reader): use preload=none for immediate streaming playback ([#​2518](https://github.com/booklore-app/BookLore/issues/2518 )) by [@​acx10](https://github.com/acx10 )
- fix: reset audiobook progress and clear cached progress in UI ([#​2711](https://github.com/booklore-app/BookLore/issues/2711 )) by [@​acx10](https://github.com/acx10 )
- Fix cbx reader prev/next book stacking on close ([#​2858](https://github.com/booklore-app/BookLore/issues/2858 )) by [@​acx10](https://github.com/acx10 )
- Fix ebook reader header not hiding on mobile tap ([#​2857](https://github.com/booklore-app/BookLore/issues/2857 )) by [@​acx10](https://github.com/acx10 )
- fix(reader): enable text copy in ebook reader ([#​2702](https://github.com/booklore-app/BookLore/issues/2702 )) by [@​acx10](https://github.com/acx10 )
- Fix CBZ reader scroll position reset in infinite scroll mode ([#​2781](https://github.com/booklore-app/BookLore/issues/2781 )) by [@​acx10](https://github.com/acx10 )
- Fix column gap +/- buttons in eBook reader default settings ([#​2780](https://github.com/booklore-app/BookLore/issues/2780 )) by [@​acx10](https://github.com/acx10 )
- Fix email provider creation failing due to null shared field ([#​2794](https://github.com/booklore-app/BookLore/issues/2794 )) by [@​acx10](https://github.com/acx10 )
- Fix audit logs pagination bug and add URL query param sync ([#​2787](https://github.com/booklore-app/BookLore/issues/2787 )) by [@​acx10](https://github.com/acx10 )
- Fix audit log description overflow for bulk metadata refresh ([#​2783](https://github.com/booklore-app/BookLore/issues/2783 )) by [@​acx10](https://github.com/acx10 )
- Fix multiple author card menus opening simultaneously ([#​2852](https://github.com/booklore-app/BookLore/issues/2852 )) by [@​acx10](https://github.com/acx10 )
- Fix Goodreads label mappings and format config ([#​2779](https://github.com/booklore-app/BookLore/issues/2779 )) by [@​AlfredSimpson](https://github.com/AlfredSimpson )
- fix(ui): encode filter values in query params to handle commas in names ([#​2717](https://github.com/booklore-app/BookLore/issues/2717 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): prevent footer submenu from rendering off screen ([#​2714](https://github.com/booklore-app/BookLore/issues/2714 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): inline mobile charts submenu to prevent layout overflow ([#​2713](https://github.com/booklore-app/BookLore/issues/2713 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): correctly format lubimyczytac external rating link ([#​2491](https://github.com/booklore-app/BookLore/issues/2491 )) by [@​sebhewelt](https://github.com/sebhewelt )
- Fix iconDisplay binding syntax in metadata viewer ([#​2772](https://github.com/booklore-app/BookLore/issues/2772 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- Fix mobile toolbar overlapping on small screens ([#​2856](https://github.com/booklore-app/BookLore/issues/2856 )) by [@​acx10](https://github.com/acx10 )
- Fix book browser header title overflow on mobile ([#​2808](https://github.com/booklore-app/BookLore/issues/2808 )) by [@​acx10](https://github.com/acx10 )
- fix(book-browser): resolve footer menu not hiding after navigation back ([#​2626](https://github.com/booklore-app/BookLore/issues/2626 )) by [@​acx10](https://github.com/acx10 )
- fix: align frontend Page interfaces with VIA\_DTO serialization format ([#​2751](https://github.com/booklore-app/BookLore/issues/2751 )) by [@​acx10](https://github.com/acx10 )
- fix: show provider icons in metadata viewer when only ID is present ([#​2734](https://github.com/booklore-app/BookLore/issues/2734 )) by [@​acx10](https://github.com/acx10 )
- fix: hide show-more button when description fits without truncation ([#​2766](https://github.com/booklore-app/BookLore/issues/2766 )) by [@​acx10](https://github.com/acx10 )
- fix: use audiobook thumbnail for audiobook entries in notebook ([#​2763](https://github.com/booklore-app/BookLore/issues/2763 )) by [@​acx10](https://github.com/acx10 )
- fix: show session numbers in book ([#​2696](https://github.com/booklore-app/BookLore/issues/2696 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- fix(settings): use boxed Integer for ScrollerConfig.maxItems to allow null ([#​2684](https://github.com/booklore-app/BookLore/issues/2684 )) by [@​acx10](https://github.com/acx10 )
- fix(series-multi-select): Fix transparency in series multi select pop-up ([#​2555](https://github.com/booklore-app/BookLore/issues/2555 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix: Filter text overwrites on long options ([#​2540](https://github.com/booklore-app/BookLore/issues/2540 )) by [@​acx10](https://github.com/acx10 )
- Fix: Lock icons do not stay with publisher and series name input fields ([#​2539](https://github.com/booklore-app/BookLore/issues/2539 )) by [@​acx10](https://github.com/acx10 )
- fix(metadata): improve cover errors, reduce metadata fetch count, and hide attach option ([#​2690](https://github.com/booklore-app/BookLore/issues/2690 )) by [@​acx10](https://github.com/acx10 )
#### ⚡ Performance
- perf: optimize book list API with ETag, delta sync, and IndexedDB caching ([#​2753](https://github.com/booklore-app/BookLore/issues/2753 )) by [@​acx10](https://github.com/acx10 )
- perf: enable compact object headers (Project Lilliput) ([#​2755](https://github.com/booklore-app/BookLore/issues/2755 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- refactor: split BookService into BookFileService and BookMetadataManageService ([#​2758](https://github.com/booklore-app/BookLore/issues/2758 )) by [@​acx10](https://github.com/acx10 )
- chore: fix memory leaks, add aria-labels, improve type safety and logging ([#​2764](https://github.com/booklore-app/BookLore/issues/2764 )) by [@​acx10](https://github.com/acx10 )
- chore: add caching, validation, lazy routes, refresh rate limiting, JaCoCo, and cleanup ([#​2762](https://github.com/booklore-app/BookLore/issues/2762 )) by [@​acx10](https://github.com/acx10 )
- perf: strip unused fields from book list API response ([#​2741](https://github.com/booklore-app/BookLore/issues/2741 )) by [@​acx10](https://github.com/acx10 )
- perf(epub): Replace linear manifest scans with HashMaps in EPUB reader ([#​2598](https://github.com/booklore-app/BookLore/issues/2598 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat(metadata): return full metadata from parsers instead of previews ([#​2689](https://github.com/booklore-app/BookLore/issues/2689 )) by [@​acx10](https://github.com/acx10 )
- feat: comic metadata picker, lazy-load providers, and UI improvements ([#​2679](https://github.com/booklore-app/BookLore/issues/2679 )) by [@​acx10](https://github.com/acx10 )
- Add complete translations for all supported languages ([#​2831](https://github.com/booklore-app/BookLore/issues/2831 )) by [@​acx10](https://github.com/acx10 )
- Add Hungarian and Slovenian language support ([#​2846](https://github.com/booklore-app/BookLore/issues/2846 )) by [@​acx10](https://github.com/acx10 )
- Add Croatian and Swedish translations for login page ([#​2786](https://github.com/booklore-app/BookLore/issues/2786 )) by [@​acx10](https://github.com/acx10 )
- feat: add i18n translations for stats, pdf reader, magic shelf, and remaining components (en/es) ([#​2742](https://github.com/booklore-app/BookLore/issues/2742 )) by [@​acx10](https://github.com/acx10 )
- feat: add i18n translations for book components, services, and readers (en/es) ([#​2738](https://github.com/booklore-app/BookLore/issues/2738 )) by [@​acx10](https://github.com/acx10 )
- fix(i18n): dynamic sidebar translations and UI font normalization ([#​2683](https://github.com/booklore-app/BookLore/issues/2683 )) by [@​acx10](https://github.com/acx10 )
- feat: disable PDF printing for users without download permission ([#​2737](https://github.com/booklore-app/BookLore/issues/2737 )) by [@​acx10](https://github.com/acx10 )
- feat(ui): add file name column to table view and include filename in search ([#​2712](https://github.com/booklore-app/BookLore/issues/2712 )) by [@​acx10](https://github.com/acx10 )
- feat(ui): provide hyperlinks for books as book cards in grid view ([#​2500](https://github.com/booklore-app/BookLore/issues/2500 )) by [@​berb](https://github.com/berb )
- feat(ui): Add sort by filePath ([#​1180](https://github.com/booklore-app/BookLore/issues/1180 ) and [#​2364](https://github.com/booklore-app/BookLore/issues/2364 )) ([#​2512](https://github.com/booklore-app/BookLore/issues/2512 )) by [@​chiguirepower](https://github.com/chiguirepower )
- feat(icons): Made icons for libraries and shelves optional with no default icons. ([#​2599](https://github.com/booklore-app/BookLore/issues/2599 )) by [@​arthurgiroux](https://github.com/arthurgiroux )
- fix(comicvine): add fallback to issue detail endpoint for missing creator credits ([#​2694](https://github.com/booklore-app/BookLore/issues/2694 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(epub-metadata): enhance cover extraction with heuristic fallbacks for manifest and ZIP entries ([#​2636](https://github.com/booklore-app/BookLore/issues/2636 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-match): Fix metadata quality calculation to properly handle locked fields ([#​2513](https://github.com/booklore-app/BookLore/issues/2513 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(ui): reload shelves when enabling Kobo sync ([#​2715](https://github.com/booklore-app/BookLore/issues/2715 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): standardize button labels and styles across components ([#​2560](https://github.com/booklore-app/BookLore/issues/2560 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- chore: redesign README for cleaner layout and visual polish ([#​2728](https://github.com/booklore-app/BookLore/issues/2728 )) by [@​acx10](https://github.com/acx10 )
- fix: make README logo visible in GitHub light mode ([#​2756](https://github.com/booklore-app/BookLore/issues/2756 )) by [@​acx10](https://github.com/acx10 )
- chore: clean up PR template and contributing guide ([#​2660](https://github.com/booklore-app/BookLore/issues/2660 )) by [@​acx10](https://github.com/acx10 )
- fix(file naming): add leading zero to series index ([#​2642](https://github.com/booklore-app/BookLore/issues/2642 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- Update viewport meta tag to prevent auto-zoom on iOS when entering in… ([#​2620](https://github.com/booklore-app/BookLore/issues/2620 )) by [@​jmswangit](https://github.com/jmswangit )
- test(API): add missing tests for BookMapperV2 ([#​2495](https://github.com/booklore-app/BookLore/issues/2495 )) by [@​piffio](https://github.com/piffio )
- fix(audiobook-reader): use preload=none with explicit load() for faster streaming ([#​2520](https://github.com/booklore-app/BookLore/issues/2520 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): clean cached properties ([#​2499](https://github.com/booklore-app/BookLore/issues/2499 )) by [@​piffio](https://github.com/piffio )
- fix(additional-file-uploader): add file size validation with UI feedback ([#​2516](https://github.com/booklore-app/BookLore/issues/2516 )) by [@​acx10](https://github.com/acx10 )
- fix(os\_x-conversion): ignore \_\_MACOSX directory for conversions ([#​2479](https://github.com/booklore-app/BookLore/issues/2479 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(series-page): add missing overlay preference service to book card ([#​2466](https://github.com/booklore-app/BookLore/issues/2466 )) by [@​xcashy](https://github.com/xcashy )
- fix(docker): add build and gradle directories to volumes in docker compose ([#​2459](https://github.com/booklore-app/BookLore/issues/2459 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
#### 📦 Dependencies
- chore(deps): bump org.springframework.boot from 4.0.2 to 4.0.3 in /booklore-api in the gradle-dependencies group ([#​2813](https://github.com/booklore-app/BookLore/issues/2813 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 15 updates ([#​2814](https://github.com/booklore-app/BookLore/issues/2814 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group across 1 directory with 18 updates ([#​2687](https://github.com/booklore-app/BookLore/issues/2687 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 13 updates ([#​2721](https://github.com/booklore-app/BookLore/issues/2721 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 20 updates ([#​2542](https://github.com/booklore-app/BookLore/issues/2542 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the gradle-dependencies group across 1 directory with 7 updates ([#​2659](https://github.com/booklore-app/BookLore/issues/2659 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the gradle-dependencies group in /booklore-api with 2 updates ([#​2720](https://github.com/booklore-app/BookLore/issues/2720 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump tar from 7.5.7 to 7.5.9 in /booklore-ui ([#​2805](https://github.com/booklore-app/BookLore/issues/2805 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump tar from 7.5.6 to 7.5.7 in /booklore-ui ([#​2534](https://github.com/booklore-app/BookLore/issues/2534 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump hono from 4.11.9 to 4.12.0 in /booklore-ui ([#​2815](https://github.com/booklore-app/BookLore/issues/2815 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump qs from 6.14.1 to 6.14.2 in /booklore-ui ([#​2722](https://github.com/booklore-app/BookLore/issues/2722 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump [@​modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk ) and [@​angular/cli](https://github.com/angular/cli ) in /booklore-ui ([#​2612](https://github.com/booklore-app/BookLore/issues/2612 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump actions/setup-node from 4 to 6 ([#​2573](https://github.com/booklore-app/BookLore/issues/2573 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
#### ⚙️ CI/CD
- ci: move Angular/Gradle builds to native CI steps to eliminate QEMU emulation ([#​2705](https://github.com/booklore-app/BookLore/issues/2705 )) by [@​acx10](https://github.com/acx10 )
- chore: add performance label to release drafter categories ([#​2754](https://github.com/booklore-app/BookLore/issues/2754 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.0.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.0.0`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.18.5...v2.0.0 >
#### 📸 Screenshots
<img width="750" alt="Book browser with audiobook library and cascading sidebar filters" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/book-browser-audiobooks-library.png " />
<img width="750" alt="Book detail page with multi-format support and alternative formats" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/book-detail-multi-format.png " />
<img width="300" alt="Audiobook player with streaming playback" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/audiobook-player.png " />
<img width="300" alt="Ebook reader" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/ebook-reader.png " />
<img width="750" alt="CBX comic reader with fullscreen, slideshow, RTL, and long strip mode" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/cbx-comic-reader.png " />
<img width="750" alt="Annotation notebook with highlights, notes, and bookmarks" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/annotation-notebook.png " />
<img width="750" alt="Author browser with Audnexus metadata" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/author-browser.png " />
<img width="750" alt="Series browser with search, filter, and sort" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/series-browser.png " />
<img width="500" alt="Reading Clock statistics chart" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-clock-stats.png " />
<img width="750" alt="Reading Survival Curve and Book Length Sweet Spot charts" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-survival-book-length-charts.png " />
<img width="750" alt="Reading Completion Race chart" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-completion-race.png " />
</details>
<details>
<summary>booklore-app/booklore (ghcr.io/booklore-app/booklore)</summary>
### [`v2.0.1`](https://github.com/booklore-app/booklore/releases/tag/v2.0.1 )
[Compare Source](https://github.com/booklore-app/booklore/compare/v2.0.0...v2.0.1 )
#### 🌟 What's New in v2.0.1
#### 🐛 Bug Fixes
- Fix max upload size description to include all file formats ([#​2894](https://github.com/booklore-app/booklore/issues/2894 )) by [@​acx10](https://github.com/acx10 )
- Fix magic shelf physical book filter and polish UI ([#​2888](https://github.com/booklore-app/booklore/issues/2888 )) by [@​acx10](https://github.com/acx10 )
- Fix metadata settings not saving due to null deserialization error ([#​2886](https://github.com/booklore-app/booklore/issues/2886 )) by [@​acx10](https://github.com/acx10 )
- Fix Kobo download/image URLs using wrong port behind reverse proxy ([#​2875](https://github.com/booklore-app/booklore/issues/2875 )) by [@​acx10](https://github.com/acx10 )
- Fix app crash on startup when /bookdrop volume is not mounted ([#​2873](https://github.com/booklore-app/booklore/issues/2873 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- Hide sidecar tab for physical books ([#​2887](https://github.com/booklore-app/booklore/issues/2887 )) by [@​acx10](https://github.com/acx10 )
- Translations update from Hosted Weblate ([#​2866](https://github.com/booklore-app/booklore/issues/2866 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.0.1`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.0.1`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.0.0...v2.0.1 >
### [`v2.0.0`](https://github.com/booklore-app/booklore/releases/tag/v2.0.0 )
[Compare Source](https://github.com/booklore-app/booklore/compare/v1.18.5...v2.0.0 )
#### 🌟 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
- Introduce multi-format book support, including audiobooks ([#​2486](https://github.com/booklore-app/booklore/issues/2486 )) by [@​acx10](https://github.com/acx10 )
- Add duplicate book detection/merge and fix format-related data loss ([#​2820](https://github.com/booklore-app/booklore/issues/2820 )) by [@​acx10](https://github.com/acx10 )
- Add author metadata via Audnexus with browser, detail, and editor pages ([#​2843](https://github.com/booklore-app/booklore/issues/2843 )) by [@​acx10](https://github.com/acx10 )
- feat: add series browser page ([#​2771](https://github.com/booklore-app/booklore/issues/2771 )) by [@​acx10](https://github.com/acx10 )
- feat: add annotation notebook with server-side pagination ([#​2736](https://github.com/booklore-app/booklore/issues/2736 )) by [@​acx10](https://github.com/acx10 )
- feat: add audit log system for tracking admin-significant actions ([#​2759](https://github.com/booklore-app/booklore/issues/2759 )) by [@​acx10](https://github.com/acx10 )
- Add bidirectional Kobo reading progress sync ([#​2791](https://github.com/booklore-app/booklore/issues/2791 )) by [@​acx10](https://github.com/acx10 )
- feat(filters): implement cascading sidebar filters ([#​2616](https://github.com/booklore-app/booklore/issues/2616 )) by [@​acx10](https://github.com/acx10 )
- feat(cbx-reader): add fullscreen, slideshow, RTL, long strip mode and keyboard shortcuts ([#​2632](https://github.com/booklore-app/booklore/issues/2632 )) by [@​acx10](https://github.com/acx10 )
- feat(sidecar): add sidecar JSON metadata file support ([#​2657](https://github.com/booklore-app/booklore/issues/2657 )) by [@​acx10](https://github.com/acx10 )
- feat(comic-metadata): add extended comic metadata support ([#​2654](https://github.com/booklore-app/booklore/issues/2654 )) by [@​acx10](https://github.com/acx10 )
- feat(i18n): add Transloco translation framework with EN/ES and 7 language scaffolds ([#​2681](https://github.com/booklore-app/booklore/issues/2681 )) by [@​acx10](https://github.com/acx10 )
- feat(api, build): Upgrade to Java 25, Gradle 9, and Spring Boot 4, Jackson 3 ([#​2597](https://github.com/booklore-app/booklore/issues/2597 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Remove nginx and serve Angular directly from Spring Boot ([#​2662](https://github.com/booklore-app/booklore/issues/2662 )) by [@​acx10](https://github.com/acx10 )
- feat: add login rate limiting to prevent brute-force attacks ([#​2761](https://github.com/booklore-app/booklore/issues/2761 )) by [@​acx10](https://github.com/acx10 )
- feat(content-restrictions): add age rating and content rating support ([#​2619](https://github.com/booklore-app/booklore/issues/2619 )) by [@​acx10](https://github.com/acx10 )
- feat(sorting): add multi-field sorting support ([#​2628](https://github.com/booklore-app/booklore/issues/2628 )) by [@​acx10](https://github.com/acx10 )
- feat(metadata): add custom metadata write to file support for moods, tags, ratings, and external IDs in PDF, and CBZ ([#​2552](https://github.com/booklore-app/booklore/issues/2552 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat(metadata) Save basic metadata to EPUB file - Bonus use Calibre Custom Columns for importing metadata. ([#​1879](https://github.com/booklore-app/booklore/issues/1879 )) by [@​jadehawk](https://github.com/jadehawk )
- feat: add grouped field dropdown and composite fields to magic shelf ([#​2750](https://github.com/booklore-app/booklore/issues/2750 )) by [@​acx10](https://github.com/acx10 )
- feat(filters): add customizable visible filters setting ([#​2625](https://github.com/booklore-app/booklore/issues/2625 )) by [@​acx10](https://github.com/acx10 )
- Add 10 advanced stats charts ([#​2850](https://github.com/booklore-app/booklore/issues/2850 )) by [@​acx10](https://github.com/acx10 )
- feat(stats): add 5 new user statistics charts ([#​2703](https://github.com/booklore-app/booklore/issues/2703 )) by [@​acx10](https://github.com/acx10 )
- feat(i18n): add Weblate integration and auth translations ([#​2727](https://github.com/booklore-app/booklore/issues/2727 )) by [@​acx10](https://github.com/acx10 )
- feat: add else clause and value modifiers to file naming patterns ([#​2724](https://github.com/booklore-app/booklore/issues/2724 )) by [@​acx10](https://github.com/acx10 )
- feat: add button to fetch metadata from book file ([#​2739](https://github.com/booklore-app/booklore/issues/2739 )) by [@​acx10](https://github.com/acx10 )
- feat(google-books): add optional API key configuration ([#​2629](https://github.com/booklore-app/booklore/issues/2629 )) by [@​acx10](https://github.com/acx10 )
#### ✨ Enhancements
- feat(reader): add PDF annotations, Range streaming, and optimized chunk loading ([#​2701](https://github.com/booklore-app/booklore/issues/2701 )) by [@​acx10](https://github.com/acx10 )
- feat(reader): add fullscreen, keyboard shortcuts, search cancel, and go-to-percentage ([#​2698](https://github.com/booklore-app/booklore/issues/2698 )) by [@​acx10](https://github.com/acx10 )
- feat(reader): add dark/light mode toggle and improved close button to PDF reader ([#​2699](https://github.com/booklore-app/booklore/issues/2699 )) by [@​acx10](https://github.com/acx10 )
- feat(kobo-sync): add user scoped 2 way kobo sync ([#​2452](https://github.com/booklore-app/booklore/issues/2452 )) by [@​b3nk3](https://github.com/b3nk3 )
- feat(kobo-sync): Sync Shelves and Magic Shelves to Kobo Tags ([#​2236](https://github.com/booklore-app/booklore/issues/2236 )) by [@​xcashy](https://github.com/xcashy )
- Redesign series page layout and book list tab ([#​2847](https://github.com/booklore-app/booklore/issues/2847 )) by [@​acx10](https://github.com/acx10 )
- feat(sort): replace compound sort options with atomic fields and multi-sort support ([#​2686](https://github.com/booklore-app/booklore/issues/2686 )) by [@​acx10](https://github.com/acx10 )
- Add moveFiles option to attach/merge and per-book delete in duplicate merger ([#​2833](https://github.com/booklore-app/booklore/issues/2833 )) by [@​acx10](https://github.com/acx10 )
- feat: enhance audit logs with geo flags, relative time, and UX improvements ([#​2760](https://github.com/booklore-app/booklore/issues/2760 )) by [@​acx10](https://github.com/acx10 )
- feat(bookdrop): add ability to poll the bookdrop folder ([#​2768](https://github.com/booklore-app/booklore/issues/2768 )) by [@​arjunsrinivasan1997](https://github.com/arjunsrinivasan1997 )
- feat: add metadata presence filter to magic shelf ([#​2757](https://github.com/booklore-app/booklore/issues/2757 )) by [@​acx10](https://github.com/acx10 )
- feat(upload): add upload progress tracking with progress bar and stats ([#​2640](https://github.com/booklore-app/booklore/issues/2640 )) by [@​acx10](https://github.com/acx10 )
- feat(email): add format selection to email book dialog ([#​2650](https://github.com/booklore-app/booklore/issues/2650 )) by [@​acx10](https://github.com/acx10 )
- feat(pwa): Enable fullscreen mode for Android immersive reading ([#​2649](https://github.com/booklore-app/booklore/issues/2649 )) by [@​alondero](https://github.com/alondero )
- Add Hungarian and Slovenian language support ([#​2846](https://github.com/booklore-app/booklore/issues/2846 )) by [@​acx10](https://github.com/acx10 )
- fix(library-service): prevent concurrent library scans with a tracking set ([#​2637](https://github.com/booklore-app/booklore/issues/2637 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat: add configurable sidebar width setting ([#​2749](https://github.com/booklore-app/booklore/issues/2749 )) by [@​acx10](https://github.com/acx10 )
- refactor(download): simplify file download to use browser native handling ([#​2639](https://github.com/booklore-app/booklore/issues/2639 )) by [@​acx10](https://github.com/acx10 )
#### 🎨 UI Tweaks
- Add visual polish to book card component ([#​2788](https://github.com/booklore-app/booklore/issues/2788 )) by [@​acx10](https://github.com/acx10 )
- refactor: centralize access-denied card styles into shared mixin ([#​2515](https://github.com/booklore-app/booklore/issues/2515 )) by [@​acx10](https://github.com/acx10 )
#### 🐛 Bug Fixes
- fix(auth): resolve DST-related login failure for refresh tokens ([#​2624](https://github.com/booklore-app/booklore/issues/2624 )) by [@​acx10](https://github.com/acx10 )
- Fix Kobo sync HeadersTooLargeException for large libraries ([#​2809](https://github.com/booklore-app/booklore/issues/2809 )) by [@​acx10](https://github.com/acx10 )
- fix(metadata-refresh): Correct metadata update priorities and preserve disabled fields during 'replace all' ([#​2503](https://github.com/booklore-app/booklore/issues/2503 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-parsers): improve ISBN search logic and fallback strategies for metadata fetching ([#​2502](https://github.com/booklore-app/booklore/issues/2502 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-update): ensure per-book transaction isolation in bulk updates to prevent race conditions ([#​2536](https://github.com/booklore-app/booklore/issues/2536 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-refresh): fix filter book shelves by authenticated user logs out the user. ([#​2481](https://github.com/booklore-app/booklore/issues/2481 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix null collection errors for PDFs, audiobooks, and physical books ([#​2817](https://github.com/booklore-app/booklore/issues/2817 )) by [@​acx10](https://github.com/acx10 )
- fix(library-processing): re-fetch library entity after clearing entity manager during rescan ([#​2507](https://github.com/booklore-app/booklore/issues/2507 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(file-move): ensure file moves are rolled back if database update fails ([#​2588](https://github.com/booklore-app/booklore/issues/2588 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(file-move): update empty directory cleanup to handle multiple library paths ([#​2634](https://github.com/booklore-app/booklore/issues/2634 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix CBR/CB7 to CBZ conversion losing track of file path ([#​2835](https://github.com/booklore-app/booklore/issues/2835 )) by [@​acx10](https://github.com/acx10 )
- fix(cbz-reader): CBZ reading regression and optimize ZIP parsing strategy ([#​2593](https://github.com/booklore-app/booklore/issues/2593 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix PDF reader not loading alternate format files ([#​2836](https://github.com/booklore-app/booklore/issues/2836 )) by [@​acx10](https://github.com/acx10 )
- fix(epub-cover-extract): improve cover image extraction with fallback handling ([#​2585](https://github.com/booklore-app/booklore/issues/2585 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(epub-metadata): enhance cover extraction with heuristic fallbacks for manifest and ZIP entries ([#​2636](https://github.com/booklore-app/booklore/issues/2636 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(book-rule-evaluator): fix file type handling and add mapping for specific formats to fix magic shelve based on filetype ([#​2480](https://github.com/booklore-app/booklore/issues/2480 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix magic shelf rule evaluation for numeric comparisons ([#​2795](https://github.com/booklore-app/booklore/issues/2795 )) by [@​acx10](https://github.com/acx10 )
- Fix read status NULL progress handling in rule evaluator ([#​2821](https://github.com/booklore-app/booklore/issues/2821 )) by [@​acx10](https://github.com/acx10 )
- Fix bookdrop race condition processing files before fully written ([#​2785](https://github.com/booklore-app/booklore/issues/2785 )) by [@​acx10](https://github.com/acx10 )
- fix(bookdrop): handle file modifications in Bookdrop event handler ([#​2559](https://github.com/booklore-app/booklore/issues/2559 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(hardcover-sync): Don't send repeated read status to Hardcover.app ([#​2609](https://github.com/booklore-app/booklore/issues/2609 )) by [@​PhasecoreX](https://github.com/PhasecoreX )
- fix(api): Select correct Hardcover.app ISBN from lookup results ([#​2530](https://github.com/booklore-app/booklore/issues/2530 )) by [@​PhasecoreX](https://github.com/PhasecoreX )
- fix(ui): fix memory leaks and cascading API calls in metadata editor ([#​2716](https://github.com/booklore-app/booklore/issues/2716 )) by [@​acx10](https://github.com/acx10 )
- fix: replace Quill editor with native HTML rendering for book descriptions ([#​2733](https://github.com/booklore-app/booklore/issues/2733 )) by [@​acx10](https://github.com/acx10 )
- Fix reading stats queries not accounting for timezone ([#​2844](https://github.com/booklore-app/booklore/issues/2844 )) by [@​acx10](https://github.com/acx10 )
- Fix reading session timeline long sessions, tooltip perf, and week mismatch ([#​2848](https://github.com/booklore-app/booklore/issues/2848 )) by [@​acx10](https://github.com/acx10 )
- fix(reading-stats,ui): update heatmap to use local time formatting… ([#​2587](https://github.com/booklore-app/booklore/issues/2587 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- fix(select-all): "Mark All" bug and add "Remove from all shelves" bulk action across components ([#​2562](https://github.com/booklore-app/booklore/issues/2562 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(opds): Fix OPDS CBR mime type reporting and strict Archive detection ([#​2592](https://github.com/booklore-app/booklore/issues/2592 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix OPDS shelf filter cartesian product ([#​2837](https://github.com/booklore-app/booklore/issues/2837 )) by [@​acx10](https://github.com/acx10 )
- fix(comic-metadata): fix series grouping bug with external ComicInfo.xml metadata ([#​2385](https://github.com/booklore-app/booklore/issues/2385 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix additional file uploader bugs and improve metadata viewer ([#​2816](https://github.com/booklore-app/booklore/issues/2816 )) by [@​acx10](https://github.com/acx10 )
- Fix PWA offline fallback blocking localhost access when internet is disconnected ([#​2784](https://github.com/booklore-app/booklore/issues/2784 )) by [@​acx10](https://github.com/acx10 )
- fix(audiobook-reader): use preload=none for immediate streaming playback ([#​2518](https://github.com/booklore-app/booklore/issues/2518 )) by [@​acx10](https://github.com/acx10 )
- fix: reset audiobook progress and clear cached progress in UI ([#​2711](https://github.com/booklore-app/booklore/issues/2711 )) by [@​acx10](https://github.com/acx10 )
- Fix cbx reader prev/next book stacking on close ([#​2858](https://github.com/booklore-app/booklore/issues/2858 )) by [@​acx10](https://github.com/acx10 )
- Fix ebook reader header not hiding on mobile tap ([#​2857](https://github.com/booklore-app/booklore/issues/2857 )) by [@​acx10](https://github.com/acx10 )
- fix(reader): enable text copy in ebook reader ([#​2702](https://github.com/booklore-app/booklore/issues/2702 )) by [@​acx10](https://github.com/acx10 )
- Fix CBZ reader scroll position reset in infinite scroll mode ([#​2781](https://github.com/booklore-app/booklore/issues/2781 )) by [@​acx10](https://github.com/acx10 )
- Fix column gap +/- buttons in eBook reader default settings ([#​2780](https://github.com/booklore-app/booklore/issues/2780 )) by [@​acx10](https://github.com/acx10 )
- Fix email provider creation failing due to null shared field ([#​2794](https://github.com/booklore-app/booklore/issues/2794 )) by [@​acx10](https://github.com/acx10 )
- Fix audit logs pagination bug and add URL query param sync ([#​2787](https://github.com/booklore-app/booklore/issues/2787 )) by [@​acx10](https://github.com/acx10 )
- Fix audit log description overflow for bulk metadata refresh ([#​2783](https://github.com/booklore-app/booklore/issues/2783 )) by [@​acx10](https://github.com/acx10 )
- Fix multiple author card menus opening simultaneously ([#​2852](https://github.com/booklore-app/booklore/issues/2852 )) by [@​acx10](https://github.com/acx10 )
- Fix Goodreads label mappings and format config ([#​2779](https://github.com/booklore-app/booklore/issues/2779 )) by [@​AlfredSimpson](https://github.com/AlfredSimpson )
- fix(ui): encode filter values in query params to handle commas in names ([#​2717](https://github.com/booklore-app/booklore/issues/2717 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): prevent footer submenu from rendering off screen ([#​2714](https://github.com/booklore-app/booklore/issues/2714 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): inline mobile charts submenu to prevent layout overflow ([#​2713](https://github.com/booklore-app/booklore/issues/2713 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): correctly format lubimyczytac external rating link ([#​2491](https://github.com/booklore-app/booklore/issues/2491 )) by [@​sebhewelt](https://github.com/sebhewelt )
- Fix iconDisplay binding syntax in metadata viewer ([#​2772](https://github.com/booklore-app/booklore/issues/2772 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- Fix mobile toolbar overlapping on small screens ([#​2856](https://github.com/booklore-app/booklore/issues/2856 )) by [@​acx10](https://github.com/acx10 )
- Fix book browser header title overflow on mobile ([#​2808](https://github.com/booklore-app/booklore/issues/2808 )) by [@​acx10](https://github.com/acx10 )
- fix(book-browser): resolve footer menu not hiding after navigation back ([#​2626](https://github.com/booklore-app/booklore/issues/2626 )) by [@​acx10](https://github.com/acx10 )
- fix: align frontend Page interfaces with VIA\_DTO serialization format ([#​2751](https://github.com/booklore-app/booklore/issues/2751 )) by [@​acx10](https://github.com/acx10 )
- fix: show provider icons in metadata viewer when only ID is present ([#​2734](https://github.com/booklore-app/booklore/issues/2734 )) by [@​acx10](https://github.com/acx10 )
- fix: hide show-more button when description fits without truncation ([#​2766](https://github.com/booklore-app/booklore/issues/2766 )) by [@​acx10](https://github.com/acx10 )
- fix: use audiobook thumbnail for audiobook entries in notebook ([#​2763](https://github.com/booklore-app/booklore/issues/2763 )) by [@​acx10](https://github.com/acx10 )
- fix: show session numbers in book ([#​2696](https://github.com/booklore-app/booklore/issues/2696 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- fix(settings): use boxed Integer for ScrollerConfig.maxItems to allow null ([#​2684](https://github.com/booklore-app/booklore/issues/2684 )) by [@​acx10](https://github.com/acx10 )
- fix(series-multi-select): Fix transparency in series multi select pop-up ([#​2555](https://github.com/booklore-app/booklore/issues/2555 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- Fix: Filter text overwrites on long options ([#​2540](https://github.com/booklore-app/booklore/issues/2540 )) by [@​acx10](https://github.com/acx10 )
- Fix: Lock icons do not stay with publisher and series name input fields ([#​2539](https://github.com/booklore-app/booklore/issues/2539 )) by [@​acx10](https://github.com/acx10 )
- fix(metadata): improve cover errors, reduce metadata fetch count, and hide attach option ([#​2690](https://github.com/booklore-app/booklore/issues/2690 )) by [@​acx10](https://github.com/acx10 )
#### ⚡ Performance
- perf: optimize book list API with ETag, delta sync, and IndexedDB caching ([#​2753](https://github.com/booklore-app/booklore/issues/2753 )) by [@​acx10](https://github.com/acx10 )
- perf: enable compact object headers (Project Lilliput) ([#​2755](https://github.com/booklore-app/booklore/issues/2755 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- refactor: split BookService into BookFileService and BookMetadataManageService ([#​2758](https://github.com/booklore-app/booklore/issues/2758 )) by [@​acx10](https://github.com/acx10 )
- chore: fix memory leaks, add aria-labels, improve type safety and logging ([#​2764](https://github.com/booklore-app/booklore/issues/2764 )) by [@​acx10](https://github.com/acx10 )
- chore: add caching, validation, lazy routes, refresh rate limiting, JaCoCo, and cleanup ([#​2762](https://github.com/booklore-app/booklore/issues/2762 )) by [@​acx10](https://github.com/acx10 )
- perf: strip unused fields from book list API response ([#​2741](https://github.com/booklore-app/booklore/issues/2741 )) by [@​acx10](https://github.com/acx10 )
- perf(epub): Replace linear manifest scans with HashMaps in EPUB reader ([#​2598](https://github.com/booklore-app/booklore/issues/2598 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- feat(metadata): return full metadata from parsers instead of previews ([#​2689](https://github.com/booklore-app/booklore/issues/2689 )) by [@​acx10](https://github.com/acx10 )
- feat: comic metadata picker, lazy-load providers, and UI improvements ([#​2679](https://github.com/booklore-app/booklore/issues/2679 )) by [@​acx10](https://github.com/acx10 )
- Add complete translations for all supported languages ([#​2831](https://github.com/booklore-app/booklore/issues/2831 )) by [@​acx10](https://github.com/acx10 )
- Add Hungarian and Slovenian language support ([#​2846](https://github.com/booklore-app/booklore/issues/2846 )) by [@​acx10](https://github.com/acx10 )
- Add Croatian and Swedish translations for login page ([#​2786](https://github.com/booklore-app/booklore/issues/2786 )) by [@​acx10](https://github.com/acx10 )
- feat: add i18n translations for stats, pdf reader, magic shelf, and remaining components (en/es) ([#​2742](https://github.com/booklore-app/booklore/issues/2742 )) by [@​acx10](https://github.com/acx10 )
- feat: add i18n translations for book components, services, and readers (en/es) ([#​2738](https://github.com/booklore-app/booklore/issues/2738 )) by [@​acx10](https://github.com/acx10 )
- fix(i18n): dynamic sidebar translations and UI font normalization ([#​2683](https://github.com/booklore-app/booklore/issues/2683 )) by [@​acx10](https://github.com/acx10 )
- feat: disable PDF printing for users without download permission ([#​2737](https://github.com/booklore-app/booklore/issues/2737 )) by [@​acx10](https://github.com/acx10 )
- feat(ui): add file name column to table view and include filename in search ([#​2712](https://github.com/booklore-app/booklore/issues/2712 )) by [@​acx10](https://github.com/acx10 )
- feat(ui): provide hyperlinks for books as book cards in grid view ([#​2500](https://github.com/booklore-app/booklore/issues/2500 )) by [@​berb](https://github.com/berb )
- feat(ui): Add sort by filePath ([#​1180](https://github.com/booklore-app/booklore/issues/1180 ) and [#​2364](https://github.com/booklore-app/booklore/issues/2364 )) ([#​2512](https://github.com/booklore-app/booklore/issues/2512 )) by [@​chiguirepower](https://github.com/chiguirepower )
- feat(icons): Made icons for libraries and shelves optional with no default icons. ([#​2599](https://github.com/booklore-app/booklore/issues/2599 )) by [@​arthurgiroux](https://github.com/arthurgiroux )
- fix(comicvine): add fallback to issue detail endpoint for missing creator credits ([#​2694](https://github.com/booklore-app/booklore/issues/2694 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(epub-metadata): enhance cover extraction with heuristic fallbacks for manifest and ZIP entries ([#​2636](https://github.com/booklore-app/booklore/issues/2636 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(metadata-match): Fix metadata quality calculation to properly handle locked fields ([#​2513](https://github.com/booklore-app/booklore/issues/2513 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(ui): reload shelves when enabling Kobo sync ([#​2715](https://github.com/booklore-app/booklore/issues/2715 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): standardize button labels and styles across components ([#​2560](https://github.com/booklore-app/booklore/issues/2560 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- chore: redesign README for cleaner layout and visual polish ([#​2728](https://github.com/booklore-app/booklore/issues/2728 )) by [@​acx10](https://github.com/acx10 )
- fix: make README logo visible in GitHub light mode ([#​2756](https://github.com/booklore-app/booklore/issues/2756 )) by [@​acx10](https://github.com/acx10 )
- chore: clean up PR template and contributing guide ([#​2660](https://github.com/booklore-app/booklore/issues/2660 )) by [@​acx10](https://github.com/acx10 )
- fix(file naming): add leading zero to series index ([#​2642](https://github.com/booklore-app/booklore/issues/2642 )) by [@​WorldTeacher](https://github.com/WorldTeacher )
- Update viewport meta tag to prevent auto-zoom on iOS when entering in… ([#​2620](https://github.com/booklore-app/booklore/issues/2620 )) by [@​jmswangit](https://github.com/jmswangit )
- test(API): add missing tests for BookMapperV2 ([#​2495](https://github.com/booklore-app/booklore/issues/2495 )) by [@​piffio](https://github.com/piffio )
- fix(audiobook-reader): use preload=none with explicit load() for faster streaming ([#​2520](https://github.com/booklore-app/booklore/issues/2520 )) by [@​acx10](https://github.com/acx10 )
- fix(ui): clean cached properties ([#​2499](https://github.com/booklore-app/booklore/issues/2499 )) by [@​piffio](https://github.com/piffio )
- fix(additional-file-uploader): add file size validation with UI feedback ([#​2516](https://github.com/booklore-app/booklore/issues/2516 )) by [@​acx10](https://github.com/acx10 )
- fix(os\_x-conversion): ignore \_\_MACOSX directory for conversions ([#​2479](https://github.com/booklore-app/booklore/issues/2479 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
- fix(series-page): add missing overlay preference service to book card ([#​2466](https://github.com/booklore-app/booklore/issues/2466 )) by [@​xcashy](https://github.com/xcashy )
- fix(docker): add build and gradle directories to volumes in docker compose ([#​2459](https://github.com/booklore-app/booklore/issues/2459 )) by [@​balazs-szucs](https://github.com/balazs-szucs )
#### 📦 Dependencies
- chore(deps): bump org.springframework.boot from 4.0.2 to 4.0.3 in /booklore-api in the gradle-dependencies group ([#​2813](https://github.com/booklore-app/booklore/issues/2813 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 15 updates ([#​2814](https://github.com/booklore-app/booklore/issues/2814 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group across 1 directory with 18 updates ([#​2687](https://github.com/booklore-app/booklore/issues/2687 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 13 updates ([#​2721](https://github.com/booklore-app/booklore/issues/2721 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the npm-dependencies group in /booklore-ui with 20 updates ([#​2542](https://github.com/booklore-app/booklore/issues/2542 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the gradle-dependencies group across 1 directory with 7 updates ([#​2659](https://github.com/booklore-app/booklore/issues/2659 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump the gradle-dependencies group in /booklore-api with 2 updates ([#​2720](https://github.com/booklore-app/booklore/issues/2720 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump tar from 7.5.7 to 7.5.9 in /booklore-ui ([#​2805](https://github.com/booklore-app/booklore/issues/2805 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump tar from 7.5.6 to 7.5.7 in /booklore-ui ([#​2534](https://github.com/booklore-app/booklore/issues/2534 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump hono from 4.11.9 to 4.12.0 in /booklore-ui ([#​2815](https://github.com/booklore-app/booklore/issues/2815 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump qs from 6.14.1 to 6.14.2 in /booklore-ui ([#​2722](https://github.com/booklore-app/booklore/issues/2722 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump [@​modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk ) and [@​angular/cli](https://github.com/angular/cli ) in /booklore-ui ([#​2612](https://github.com/booklore-app/booklore/issues/2612 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
- chore(deps): bump actions/setup-node from 4 to 6 ([#​2573](https://github.com/booklore-app/booklore/issues/2573 )) by @​[dependabot\[bot\]](https://github.com/apps/dependabot )
#### ⚙️ CI/CD
- ci: move Angular/Gradle builds to native CI steps to eliminate QEMU emulation ([#​2705](https://github.com/booklore-app/booklore/issues/2705 )) by [@​acx10](https://github.com/acx10 )
- chore: add performance label to release drafter categories ([#​2754](https://github.com/booklore-app/booklore/issues/2754 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.0.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.0.0`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.18.5...v2.0.0 >
#### 📸 Screenshots
<img width="750" alt="Book browser with audiobook library and cascading sidebar filters" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/book-browser-audiobooks-library.png " />
<img width="750" alt="Book detail page with multi-format support and alternative formats" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/book-detail-multi-format.png " />
<img width="300" alt="Audiobook player with streaming playback" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/audiobook-player.png " />
<img width="300" alt="Ebook reader" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/ebook-reader.png " />
<img width="750" alt="CBX comic reader with fullscreen, slideshow, RTL, and long strip mode" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/cbx-comic-reader.png " />
<img width="750" alt="Annotation notebook with highlights, notes, and bookmarks" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/annotation-notebook.png " />
<img width="750" alt="Author browser with Audnexus metadata" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/author-browser.png " />
<img width="750" alt="Series browser with search, filter, and sort" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/series-browser.png " />
<img width="500" alt="Reading Clock statistics chart" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-clock-stats.png " />
<img width="750" alt="Reading Survival Curve and Book Length Sweet Spot charts" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-survival-book-length-charts.png " />
<img width="750" alt="Reading Completion Race chart" src="https://github.com/booklore-app/booklore/releases/download/v2.0.0/reading-completion-race.png " />
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS44IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4176
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 20:46:25 +00:00
c55adf2c53
chore(deps): update dependency element-hq/element-web to v1.12.11 ( #4213 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 37s
renovate / renovate (push) Successful in 3m2s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [element-hq/element-web](https://github.com/element-hq/element-web ) | patch | `v1.12.10` → `v1.12.11` |
---
### Release Notes
<details>
<summary>element-hq/element-web (element-hq/element-web)</summary>
### [`v1.12.11`](https://github.com/element-hq/element-web/releases/tag/v1.12.11 )
[Compare Source](https://github.com/element-hq/element-web/compare/v1.12.10...v1.12.11 )
#### 🦖 Deprecations
- Remove UIFeature.BulkUnverifiedSessionsReminder setting ([#​31943](https://github.com/element-hq/element-web/pull/31943 )). Contributed by [@​andybalaam](https://github.com/andybalaam ).
- Remove unused function to auto-rageshake when key backup is not set up ([#​31942](https://github.com/element-hq/element-web/pull/31942 )). Contributed by [@​andybalaam](https://github.com/andybalaam ).
#### ✨ Features
- Room list: update the visuals in order to have better contrast ([#​32421](https://github.com/element-hq/element-web/pull/32421 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Set history visibility to "invited" for DMs and new non-public rooms when creating a room ([#​31974](https://github.com/element-hq/element-web/pull/31974 )). Contributed by [@​langleyd](https://github.com/langleyd ).
- Remove server acl status/summaries from timeline ([#​32461](https://github.com/element-hq/element-web/pull/32461 )). Contributed by [@​langleyd](https://github.com/langleyd ).
- Update `globalBlacklistUnverifiedDevices` on setting change ([#​31983](https://github.com/element-hq/element-web/pull/31983 )). Contributed by [@​kaylendog](https://github.com/kaylendog ).
- Add badge for history visibiltity to room info panel ([#​31927](https://github.com/element-hq/element-web/pull/31927 )). Contributed by [@​richvdh](https://github.com/richvdh ).
#### 🐛 Bug Fixes
- Default useOnlyCurrentProfiles to true ([#​32524](https://github.com/element-hq/element-web/pull/32524 )). Contributed by [@​dbkr](https://github.com/dbkr ).
- Keep custom theme active after reload ([#​32506](https://github.com/element-hq/element-web/pull/32506 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Update font format from 'ttf' to 'truetype' ([#​32493](https://github.com/element-hq/element-web/pull/32493 )). Contributed by [@​all-yall](https://github.com/all-yall ).
- Fix videos on Firefox ([#​32497](https://github.com/element-hq/element-web/pull/32497 )). Contributed by [@​p1gp1g](https://github.com/p1gp1g ).
- Use a dedicated FAQ/help entry for key storage. ([#​32480](https://github.com/element-hq/element-web/pull/32480 )). Contributed by [@​mxandreas](https://github.com/mxandreas ).
- Avoid showing two chat timelines side by side after a call ([#​32484](https://github.com/element-hq/element-web/pull/32484 )). Contributed by [@​robintown](https://github.com/robintown ).
- Update screenshot for reactive display name disambiguation ([#​32431](https://github.com/element-hq/element-web/pull/32431 )). Contributed by [@​aditya-cherukuru](https://github.com/aditya-cherukuru ).
- Fix Status Bar being unreadable when the user overrides the default OS light/dark theme. ([#​32442](https://github.com/element-hq/element-web/pull/32442 )). Contributed by [@​Half-Shot](https://github.com/Half-Shot ).
- fix: Remove state\_key: null from Seshat search results ([#​31524](https://github.com/element-hq/element-web/pull/31524 )). Contributed by [@​shinaoka](https://github.com/shinaoka ).
- Fix user pill deserialisation ([#​31947](https://github.com/element-hq/element-web/pull/31947 )). Contributed by [@​t3chguy](https://github.com/t3chguy ).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4213
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 20:38:00 +00:00
9ad256db81
chore(deps): update vectorim/element-web docker tag to v1.12.11 ( #4209 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Successful in 3m9s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [vectorim/element-web](https://github.com/element-hq/element-web ) | patch | `v1.12.10` → `v1.12.11` |
---
### Release Notes
<details>
<summary>element-hq/element-web (vectorim/element-web)</summary>
### [`v1.12.11`](https://github.com/element-hq/element-web/releases/tag/v1.12.11 )
[Compare Source](https://github.com/element-hq/element-web/compare/v1.12.10...v1.12.11 )
#### 🦖 Deprecations
- Remove UIFeature.BulkUnverifiedSessionsReminder setting ([#​31943](https://github.com/element-hq/element-web/pull/31943 )). Contributed by [@​andybalaam](https://github.com/andybalaam ).
- Remove unused function to auto-rageshake when key backup is not set up ([#​31942](https://github.com/element-hq/element-web/pull/31942 )). Contributed by [@​andybalaam](https://github.com/andybalaam ).
#### ✨ Features
- Room list: update the visuals in order to have better contrast ([#​32421](https://github.com/element-hq/element-web/pull/32421 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Set history visibility to "invited" for DMs and new non-public rooms when creating a room ([#​31974](https://github.com/element-hq/element-web/pull/31974 )). Contributed by [@​langleyd](https://github.com/langleyd ).
- Remove server acl status/summaries from timeline ([#​32461](https://github.com/element-hq/element-web/pull/32461 )). Contributed by [@​langleyd](https://github.com/langleyd ).
- Update `globalBlacklistUnverifiedDevices` on setting change ([#​31983](https://github.com/element-hq/element-web/pull/31983 )). Contributed by [@​kaylendog](https://github.com/kaylendog ).
- Add badge for history visibiltity to room info panel ([#​31927](https://github.com/element-hq/element-web/pull/31927 )). Contributed by [@​richvdh](https://github.com/richvdh ).
#### 🐛 Bug Fixes
- Default useOnlyCurrentProfiles to true ([#​32524](https://github.com/element-hq/element-web/pull/32524 )). Contributed by [@​dbkr](https://github.com/dbkr ).
- Keep custom theme active after reload ([#​32506](https://github.com/element-hq/element-web/pull/32506 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Update font format from 'ttf' to 'truetype' ([#​32493](https://github.com/element-hq/element-web/pull/32493 )). Contributed by [@​all-yall](https://github.com/all-yall ).
- Fix videos on Firefox ([#​32497](https://github.com/element-hq/element-web/pull/32497 )). Contributed by [@​p1gp1g](https://github.com/p1gp1g ).
- Use a dedicated FAQ/help entry for key storage. ([#​32480](https://github.com/element-hq/element-web/pull/32480 )). Contributed by [@​mxandreas](https://github.com/mxandreas ).
- Avoid showing two chat timelines side by side after a call ([#​32484](https://github.com/element-hq/element-web/pull/32484 )). Contributed by [@​robintown](https://github.com/robintown ).
- Update screenshot for reactive display name disambiguation ([#​32431](https://github.com/element-hq/element-web/pull/32431 )). Contributed by [@​aditya-cherukuru](https://github.com/aditya-cherukuru ).
- Fix Status Bar being unreadable when the user overrides the default OS light/dark theme. ([#​32442](https://github.com/element-hq/element-web/pull/32442 )). Contributed by [@​Half-Shot](https://github.com/Half-Shot ).
- fix: Remove state\_key: null from Seshat search results ([#​31524](https://github.com/element-hq/element-web/pull/31524 )). Contributed by [@​shinaoka](https://github.com/shinaoka ).
- Fix user pill deserialisation ([#​31947](https://github.com/element-hq/element-web/pull/31947 )). Contributed by [@​t3chguy](https://github.com/t3chguy ).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4209
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 20:32:01 +00:00
cec1bfca70
chore(deps): update helm release rook-ceph-cluster to v1.19.2 ( #4219 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 59s
renovate / renovate (push) Successful in 3m4s
2026-02-24 20:19:14 +00:00
4de931a318
chore(deps): update kube-prometheus-stack docker tag to v82.3.0 ( #4205 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m2s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [kube-prometheus-stack](https://github.com/prometheus-operator/kube-prometheus ) ([source](https://github.com/prometheus-community/helm-charts )) | minor | `82.2.1` → `82.3.0` |
---
### Release Notes
<details>
<summary>prometheus-community/helm-charts (kube-prometheus-stack)</summary>
### [`v82.3.0`](https://github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-82.3.0 )
[Compare Source](https://github.com/prometheus-community/helm-charts/compare/kube-prometheus-stack-82.2.1...kube-prometheus-stack-82.3.0 )
kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
#### What's Changed
- \[kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by [@​renovate](https://github.com/renovate )\[bot] in [#​6670](https://github.com/prometheus-community/helm-charts/pull/6670 )
**Full Changelog**: <https://github.com/prometheus-community/helm-charts/compare/kube-prometheus-stack-82.2.1...kube-prometheus-stack-82.3.0 >
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4205
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 20:15:08 +00:00
78a834ed10
chore(deps): update g33kphr33k/musicgrabber docker tag to v2.2.1 ( #4204 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| g33kphr33k/musicgrabber | minor | `2.1.2` → `2.2.1` |
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4204
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 20:14:30 +00:00
c76cae8b3f
chore(deps): update helm release rook-ceph to v1.19.2 ( #4217 )
lint-test-helm / lint-helm (push) Successful in 47s
render-manifests-push / render-manifests-push (push) Has been skipped
renovate / renovate (push) Successful in 4m14s
2026-02-24 20:05:55 +00:00
80e7d7b974
chore(deps): update dependency rook/rook to v1.19.2 ( #4216 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 46s
renovate / renovate (push) Has been cancelled
2026-02-24 20:05:14 +00:00
d6e0004e23
chore(deps): update dependency element-hq/synapse to v1.148.0 ( #4203 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 55s
renovate / renovate (push) Successful in 5m12s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [element-hq/synapse](https://github.com/element-hq/synapse ) | minor | `v1.147.1` → `v1.148.0` |
---
### Release Notes
<details>
<summary>element-hq/synapse (element-hq/synapse)</summary>
### [`v1.148.0`](https://github.com/element-hq/synapse/releases/tag/v1.148.0 )
[Compare Source](https://github.com/element-hq/synapse/compare/v1.147.1...v1.148.0 )
### Synapse 1.148.0 (2026-02-24)
No significant changes since 1.148.0rc1.
### Synapse 1.148.0rc1 (2026-02-17)
#### Features
- Support sending and receiving [MSC4354 Sticky Event](https://github.com/matrix-org/matrix-spec-proposals/pull/4354 ) metadata. ([#​19365](https://github.com/element-hq/synapse/issues/19365 ))
#### Improved Documentation
- Fix reference to the `experimental_features` section of the configuration manual documentation. ([#​19435](https://github.com/element-hq/synapse/issues/19435 ))
#### Deprecations and Removals
- Remove support for [MSC3244: Room version capabilities](https://github.com/matrix-org/matrix-spec-proposals/pull/3244 ) as the MSC was rejected. ([#​19429](https://github.com/element-hq/synapse/issues/19429 ))
#### Internal Changes
- Add in-repo Complement tests so we can test Synapse specific behavior at an end-to-end level. ([#​19406](https://github.com/element-hq/synapse/issues/19406 ))
- Push Synapse docker images to Element OCI Registry. ([#​19420](https://github.com/element-hq/synapse/issues/19420 ))
- Allow configuring the Rust HTTP client to use HTTP/2 only. ([#​19457](https://github.com/element-hq/synapse/issues/19457 ))
- Correctly refuse to start if the Rust workspace config has changed and the Rust library has not been rebuilt. ([#​19470](https://github.com/element-hq/synapse/issues/19470 ))
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS44IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4203
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 19:59:27 +00:00
2c09f8431d
chore(deps): update ghcr.io/valkey-io/valkey docker tag to v9.0.3 ( #4214 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m29s
renovate / renovate (push) Successful in 4m1s
2026-02-24 19:53:23 +00:00
f75f8f583e
chore(deps): update dependency cert-manager/cert-manager to v1.19.4 ( #4212 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 53s
renovate / renovate (push) Has been cancelled
2026-02-24 19:50:15 +00:00
6c1d095842
chore(deps): update helm release grafana-operator to v5.22.0 ( #4202 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [grafana-operator](https://github.com/grafana/helm-charts ) | minor | `5.21.4` → `5.22.0` |
---
### Release Notes
<details>
<summary>grafana/helm-charts (grafana-operator)</summary>
### [`v5.22.0`](https://github.com/grafana/helm-charts/releases/tag/grafana-operator-5.22.0 )
[Compare Source](https://github.com/grafana/helm-charts/compare/grafana-operator-5.21.4...grafana-operator-5.22.0 )
Helm chart for the [grafana-operator](https://github.com/grafana/grafana-operator )
Tag on source: <https://github.com/grafana/grafana-operator/releases/tag/v5.22.0 >
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->
Reviewed-on: #4202
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 19:46:42 +00:00
cffc26f6e4
chore(deps): update helm release matrix-synapse to v3.12.22 ( #4208 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 54s
renovate / renovate (push) Successful in 5m32s
2026-02-24 19:35:36 +00:00
1420dc1216
chore(deps): update helm release cert-manager to v1.19.4 ( #4206 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 43s
renovate / renovate (push) Has been cancelled
2026-02-24 19:31:19 +00:00
1eebf0f1a8
chore(deps): update dependency grafana/grafana-operator to v5.22.0 ( #4201 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 54s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [grafana/grafana-operator](https://github.com/grafana/grafana-operator ) | minor | `v5.21.4` → `v5.22.0` |
---
### Release Notes
<details>
<summary>grafana/grafana-operator (grafana/grafana-operator)</summary>
### [`v5.22.0`](https://github.com/grafana/grafana-operator/releases/tag/v5.22.0 )
[Compare Source](https://github.com/grafana/grafana-operator/compare/v5.21.4...v5.22.0 )
<!-- Release notes generated using configuration in .github/release.yml at master -->
We're happy to announce version 5.22.0 of the Grafana Operator!
This release contains a bunch of new and exciting features like:
- The brand new [`GrafanaManifest`](https://grafana.github.io/grafana-operator/docs/examples/manifests/ ) resource
- This allows you to manage resources previously not supported by the operator but available through the new Kuberentes-style Grafana APIs (e.g Playlists, ShortURLs) as well as resources introduced by plugins (e.g. Frontend O11y configuration in Grafana Cloud).
- Dynamic resource patching (currently only available to `GrafanaManifest` resources)
- Patch resources with arbitrary `jq` scripts before submitting them to the Grafana API!
- Alert rule groups have been updated to support more fields exposed by the Grafana API
- Service accounts no longer require a name and will default to `metadata.name`
#### Upgrade instructions
##### Using Helm
```sh
# Upgrade the operator image & deployment
helm upgrade -i grafana-operator oci://ghcr.io/grafana/helm-charts/grafana-operator --version 5.22.0
# Upgrading CRDs
kubectl apply --server-side --force-conflicts -f https://github.com/grafana/grafana-operator/releases/download/v5.22.0/crds.yaml
```
##### Using kubectl
```sh
# Namespace Scope
kubectl replace -f https://github.com/grafana/grafana-operator/releases/download/v5.22.0/kustomize-namespace_scoped.yaml
# Cluster Scope
kubectl replace -f https://github.com/grafana/grafana-operator/releases/download/v5.22.0/kustomize-cluster_scoped.yaml
```
##### Using kustomize
```sh
flux pull artifact oci://ghcr.io/grafana/kustomize/grafana-operator:v5.22.0 --output ./grafana-operator/
```
##### Using OLM
Releases are published to [operatorhub.io](https://operatorhub.io/operator/grafana-operator ) as well as the OpenShift Operator Catalog. Depending on the installation, existing installations will either upgrade automatically or require approval from an administrator.
#### What's Changed
##### Changes that might need your attention
- chore(Helm): simplify helm chart by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2463](https://github.com/grafana/grafana-operator/pull/2463 )
- We changed the default fallback for the cache strategy to `safe` instead of `off`. If you haven't explicitly set `enforceCacheLabels` to null, this does not affect you.
##### Features
- feat(controllers): add new GrafanaManifest resource by [@​theSuess](https://github.com/theSuess ) in [#​2448](https://github.com/grafana/grafana-operator/pull/2448 )
- feat(GrafanaAlertRuleGroup): add support for targetDatasourceUid in recording rules by [@​RobertClarke64](https://github.com/RobertClarke64 ) in [#​2478](https://github.com/grafana/grafana-operator/pull/2478 )
- feat(GrafanaAlertRuleGroup): add support for `active_time_intervals` in `notificationSettings` by [@​heliapb](https://github.com/heliapb ) in [#​2479](https://github.com/grafana/grafana-operator/pull/2479 )
- feat(GrafanaManifest): add support for dynamic resource patching by [@​theSuess](https://github.com/theSuess ) in [#​2470](https://github.com/grafana/grafana-operator/pull/2470 )
- feat(GrafanaServiceAccount): Make `.spec.name` optional by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2524](https://github.com/grafana/grafana-operator/pull/2524 )
##### Fixes
- fix(GrafanaDashboard): update Grafana status even when remote state matches by [@​weisdd](https://github.com/weisdd ) in [#​2440](https://github.com/grafana/grafana-operator/pull/2440 )
- fix(AlertRuleGroup): skip reconciliation when there's no drift in remote state by [@​heliapb](https://github.com/heliapb ) in [#​2439](https://github.com/grafana/grafana-operator/pull/2439 )
- fix(GrafanaAlertRuleGroup): allow deprecated fields `dashboardUid` and `panelId` by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2450](https://github.com/grafana/grafana-operator/pull/2450 )
- fix(logs): Leader election log format by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2466](https://github.com/grafana/grafana-operator/pull/2466 )
- fix: add CRD validation for URLs in external grafana, dashboards, and library panels by [@​heliapb](https://github.com/heliapb ) in [#​2446](https://github.com/grafana/grafana-operator/pull/2446 )
- fix(GrafanaManifest): consider forbidden error as success when deleting manifests by [@​theSuess](https://github.com/theSuess ) in [#​2468](https://github.com/grafana/grafana-operator/pull/2468 )
- fix(helm): missing list namespaces permission with `watchNamespaceSelector` by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2465](https://github.com/grafana/grafana-operator/pull/2465 )
- fix(Grafana): missing HTTPRoute backendRefs (alternative solution) by [@​weisdd](https://github.com/weisdd ) in [#​2510](https://github.com/grafana/grafana-operator/pull/2510 )
- fix(GrafanaContactPoint): use list based matching as a workaround for 10.4.0-10.4.5 by [@​theSuess](https://github.com/theSuess ) in [#​2507](https://github.com/grafana/grafana-operator/pull/2507 )
##### Dependencies
- chore(deps): update dependency ko-build/ko to v0.18.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2422](https://github.com/grafana/grafana-operator/pull/2422 )
- chore(deps): update dependency kubernetes-sigs/controller-tools to v1.35.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2425](https://github.com/grafana/grafana-operator/pull/2425 )
- chore(deps): update dependency kubernetes-sigs/controller-tools to v0.20.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2424](https://github.com/grafana/grafana-operator/pull/2424 )
- chore(deps): update docker.io/grafana/grafana docker tag to v12.3.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2423](https://github.com/grafana/grafana-operator/pull/2423 )
- fix(deps): update kubernetes packages to v0.35.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2427](https://github.com/grafana/grafana-operator/pull/2427 )
- fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.4 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2434](https://github.com/grafana/grafana-operator/pull/2434 )
- fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.5 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2441](https://github.com/grafana/grafana-operator/pull/2441 )
- fix(deps): update module github.com/grafana/grafana-plugin-sdk-go to v0.285.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2444](https://github.com/grafana/grafana-operator/pull/2444 )
- chore: bump go to 1.25.6 by [@​weisdd](https://github.com/weisdd ) in [#​2445](https://github.com/grafana/grafana-operator/pull/2445 )
- chore(deps): update dependency kubernetes-sigs/controller-runtime to v0.22.5 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2454](https://github.com/grafana/grafana-operator/pull/2454 )
- fix(deps): update module sigs.k8s.io/controller-runtime to v0.22.5 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2455](https://github.com/grafana/grafana-operator/pull/2455 )
- chore(deps): update dependency kubernetes-sigs/controller-runtime to v0.23.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2458](https://github.com/grafana/grafana-operator/pull/2458 )
- fix(deps): update module sigs.k8s.io/controller-runtime to v0.23.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2459](https://github.com/grafana/grafana-operator/pull/2459 )
- fix(deps): update module github.com/grafana/grafana-plugin-sdk-go to v0.286.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2462](https://github.com/grafana/grafana-operator/pull/2462 )
- chore(deps): update dependency kubernetes-sigs/controller-runtime to v0.23.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2471](https://github.com/grafana/grafana-operator/pull/2471 )
- fix(deps): update module sigs.k8s.io/controller-runtime to v0.23.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2472](https://github.com/grafana/grafana-operator/pull/2472 )
- chore(deps): update docker.io/grafana/grafana docker tag to v12.3.2 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2475](https://github.com/grafana/grafana-operator/pull/2475 )
- fix(deps): update module github.com/onsi/ginkgo/v2 to v2.28.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2477](https://github.com/grafana/grafana-operator/pull/2477 )
- fix(deps): update module github.com/grafana/grafana-plugin-sdk-go to v0.287.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2487](https://github.com/grafana/grafana-operator/pull/2487 )
- fix(deps): update module github.com/alecthomas/kong to v1.14.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2488](https://github.com/grafana/grafana-operator/pull/2488 )
- fix(deps): update module k8s.io/apimachinery to v0.35.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2492](https://github.com/grafana/grafana-operator/pull/2492 )
- chore(deps): update dependency kubernetes-sigs/kustomize to v5.8.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2496](https://github.com/grafana/grafana-operator/pull/2496 )
- fix(deps): update kubernetes packages to v0.35.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2498](https://github.com/grafana/grafana-operator/pull/2498 )
- fix(deps): update module k8s.io/apiextensions-apiserver to v0.35.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2499](https://github.com/grafana/grafana-operator/pull/2499 )
- fix(deps): update module github.com/grafana/grafana-plugin-sdk-go to v0.288.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2500](https://github.com/grafana/grafana-operator/pull/2500 )
- chore(deps): update docker.io/grafana/grafana docker tag to v12.3.3 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2502](https://github.com/grafana/grafana-operator/pull/2502 )
- fix(deps): update module github.com/grafana/grafana-plugin-sdk-go to v0.288.0 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2505](https://github.com/grafana/grafana-operator/pull/2505 )
- chore(deps): update dependency kubernetes-sigs/controller-tools to v0.20.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2509](https://github.com/grafana/grafana-operator/pull/2509 )
- chore(deps): update grafana/shared-workflows/get-vault-secrets action to v1.3.1 by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2526](https://github.com/grafana/grafana-operator/pull/2526 )
- chore(deps): lock file maintenance by [@​renovate-sh-app](https://github.com/renovate-sh-app )\[bot] in [#​2503](https://github.com/grafana/grafana-operator/pull/2503 )
##### Documentation
- fix(docs): prefix absolute links in docs by [@​theSuess](https://github.com/theSuess ) in [#​2421](https://github.com/grafana/grafana-operator/pull/2421 )
- fix(docs): git URLs by [@​weisdd](https://github.com/weisdd ) in [#​2430](https://github.com/grafana/grafana-operator/pull/2430 )
- proposal: `GrafanaManifest` resource by [@​theSuess](https://github.com/theSuess ) in [#​2431](https://github.com/grafana/grafana-operator/pull/2431 )
- docs(quickstart): Undisturbed editing with `suspend=true` and link to Common Options by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2451](https://github.com/grafana/grafana-operator/pull/2451 )
- proposal: dynamic patching proposal by [@​theSuess](https://github.com/theSuess ) in [#​2436](https://github.com/grafana/grafana-operator/pull/2436 )
- chore(CRDs): `GrafanaManifest` missing and removal of `GrafanaManifestTemplates` by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2473](https://github.com/grafana/grafana-operator/pull/2473 )
- docs: document JaaS example by [@​sebhoss](https://github.com/sebhoss ) in [#​2370](https://github.com/grafana/grafana-operator/pull/2370 )
- fix(docs): unified\_alerting.enabled type in multiple replicas example by [@​klinch0](https://github.com/klinch0 ) in [#​2493](https://github.com/grafana/grafana-operator/pull/2493 )
- docs: grafana manifest documentation by [@​theSuess](https://github.com/theSuess ) in [#​2520](https://github.com/grafana/grafana-operator/pull/2520 )
- chore: prep-release 5.22.0 by [@​theSuess](https://github.com/theSuess ) in [#​2528](https://github.com/grafana/grafana-operator/pull/2528 )
##### Other Changes
- chore(Makefile): switch deploy target to to its own overlay by [@​weisdd](https://github.com/weisdd ) in [#​2419](https://github.com/grafana/grafana-operator/pull/2419 )
- chore(controllers): move test container creation to tk8s package by [@​weisdd](https://github.com/weisdd ) in [#​2443](https://github.com/grafana/grafana-operator/pull/2443 )
- chore(controllers): Refactor creation of HTTP Clients by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2449](https://github.com/grafana/grafana-operator/pull/2449 )
- chore(controllers): normalize logging by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2382](https://github.com/grafana/grafana-operator/pull/2382 )
- chore(helm): reduce the number of RBAC resources by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2464](https://github.com/grafana/grafana-operator/pull/2464 )
- chore(RBAC Kustomize/OpenShift): Only allow lease management within the operators current namespace by [@​Baarsgaard](https://github.com/Baarsgaard ) in [#​2467](https://github.com/grafana/grafana-operator/pull/2467 )
- chore(api, controllers): modernize code using Go 1.26 features by [@​weisdd](https://github.com/weisdd ) in [#​2497](https://github.com/grafana/grafana-operator/pull/2497 )
- feat(tests): add support for grafana version overrides by [@​weisdd](https://github.com/weisdd ) in [#​2490](https://github.com/grafana/grafana-operator/pull/2490 )
- chore(controllers): embed gtime to cut build time by [@​weisdd](https://github.com/weisdd ) in [#​2514](https://github.com/grafana/grafana-operator/pull/2514 )
- refactor: use kyaml instead of simplejson for fieldpath by [@​theSuess](https://github.com/theSuess ) in [#​2519](https://github.com/grafana/grafana-operator/pull/2519 )
#### New Contributors
- [@​heliapb](https://github.com/heliapb ) made their first contribution in [#​2439](https://github.com/grafana/grafana-operator/pull/2439 )
- [@​RobertClarke64](https://github.com/RobertClarke64 ) made their first contribution in [#​2478](https://github.com/grafana/grafana-operator/pull/2478 )
- [@​sebhoss](https://github.com/sebhoss ) made their first contribution in [#​2370](https://github.com/grafana/grafana-operator/pull/2370 )
- [@​klinch0](https://github.com/klinch0 ) made their first contribution in [#​2493](https://github.com/grafana/grafana-operator/pull/2493 )
**Full Changelog**: <https://github.com/grafana/grafana-operator/compare/v5.21.4...v5.22.0 >
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4201
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 19:27:31 +00:00
cabcd80aaf
feat: move route to chart
lint-test-helm / lint-helm (push) Successful in 37s
render-manifests-push / render-manifests-push (push) Successful in 59s
renovate / renovate (push) Successful in 4m58s
2026-02-23 22:12:16 -06:00
23a10877ba
feat: add decluttarr
lint-test-helm / lint-helm (push) Failing after 7s
render-manifests-push / render-manifests-push (push) Successful in 1m0s
renovate / renovate (push) Successful in 3m4s
2026-02-23 22:09:04 -06:00
ba590d0d42
chore(deps): update ghcr.io/traefik/traefik docker tag to v3.6.9 ( #4199 )
lint-test-docker / lint-docker-compose (push) Successful in 1m5s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 42m20s
renovate / renovate (push) Successful in 2m13s
2026-02-24 02:33:52 +00:00
49e3454be3
chore(deps): update dependency dani-garcia/vaultwarden to v1.35.4 ( #4197 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 42s
renovate / renovate (push) Has been cancelled
2026-02-24 02:29:32 +00:00
cb73d062ec
chore(deps): update calibrain/shelfmark to v1.1.2 ( #4196 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-24 02:29:17 +00:00
fa9cfda358
chore(deps): update ghcr.io/autobrr/qui docker tag to v1.14.1 ( #4187 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 46s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui ) | patch | `v1.14.0` → `v1.14.1` |
---
### Release Notes
<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>
### [`v1.14.1`](https://github.com/autobrr/qui/releases/tag/v1.14.1 )
[Compare Source](https://github.com/autobrr/qui/compare/v1.14.0...v1.14.1 )
#### Changelog
##### Bug Fixes
- [`6f3171c`](6f3171c07d ): fix(auth): avoid chromium basic auth resets on expired qui sessions ([#​1495](https://github.com/autobrr/qui/issues/1495 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`d5acab7`](d5acab7e24 ): fix(automations): make managed full tag sync idempotent ([#​1494](https://github.com/autobrr/qui/issues/1494 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`9fdc949`](9fdc949adc ): fix(crossseed): avoid webhook notification spam on pending matches ([#​1496](https://github.com/autobrr/qui/issues/1496 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`350edb3`](350edb3ea4 ): fix(notifications): improve torrent and automation event samples ([#​1501](https://github.com/autobrr/qui/issues/1501 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`e2c032c`](e2c032c924 ): fix(qbittorrent): ignore pseudo tracker labels in domain parsing ([#​1489](https://github.com/autobrr/qui/issues/1489 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`e00c70d`](e00c70df49 ): fix(qbittorrent): repair unified torrent sorting ([#​1490](https://github.com/autobrr/qui/issues/1490 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`4d95325`](4d95325805 ): fix(themes): clarify crypto donation discount flow ([#​1503](https://github.com/autobrr/qui/issues/1503 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`579ea8d`](579ea8d34c ): fix(themes): clarify premium checkout and crypto flow ([@​s0up4200](https://github.com/s0up4200 ))
- [`ece956a`](ece956a237 ): fix(torrents): scope instance column to unified cross-instance data ([#​1502](https://github.com/autobrr/qui/issues/1502 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`27cf6d2`](27cf6d2767 ): fix(ui): hide unified entry when one instance is active ([#​1493](https://github.com/autobrr/qui/issues/1493 )) ([@​s0up4200](https://github.com/s0up4200 ))
- [`80d911f`](80d911ff53 ): fix(ui): remove single-instance indent in header menu ([@​s0up4200](https://github.com/s0up4200 ))
- [`6ae7625`](6ae76256f1 ): fix(ui): restore instances header in menu ([@​s0up4200](https://github.com/s0up4200 ))
##### Other Changes
- [`336dc9a`](336dc9af3b ): docs: update payment info ([#​1424](https://github.com/autobrr/qui/issues/1424 )) ([@​s0up4200](https://github.com/s0up4200 ))
**Full Changelog**: <https://github.com/autobrr/qui/compare/v1.14.0...v1.14.1 >
#### Docker images
- `docker pull ghcr.io/autobrr/qui:v1.14.1`
- `docker pull ghcr.io/autobrr/qui:latest`
#### What to do next?
- Join our [Discord server](https://discord.autobrr.com/qui )
Thank you for using qui!
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4187
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 02:26:22 +00:00
687dd54bed
chore(deps): update g33kphr33k/musicgrabber docker tag to v2.1.2 ( #4194 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m34s
renovate / renovate (push) Successful in 3m25s
2026-02-24 00:38:03 +00:00
e7e243fe43
chore(deps): update dependency traefik/traefik to v3.6.9 ( #4193 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m32s
renovate / renovate (push) Has been cancelled
2026-02-24 00:33:23 +00:00
733b813a96
chore(deps): update dependency grafana/loki to v3.6.7 ( #4192 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-24 00:32:40 +00:00
02776b1a15
chore(deps): update searxng/searxng:latest docker digest to edf110a ( #4172 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m12s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| searxng/searxng | digest | `c5e5aed` → `edf110a` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4172
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-24 00:28:44 +00:00
1bac35275e
chore(deps): update vaultwarden/server docker tag to v1.35.4 ( #4189 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m32s
renovate / renovate (push) Successful in 6m22s
2026-02-23 23:17:29 +00:00
f9bae7a7d1
chore(deps): update ghcr.io/actualbudget/actual docker tag to v26.2.1 ( #4186 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m37s
renovate / renovate (push) Has been cancelled
2026-02-23 23:13:00 +00:00
6a00ceaa2b
chore(deps): update ollama/ollama to v0.17.0 ( #4169 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 41s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ollama/ollama](https://github.com/ollama/ollama ) | minor | `0.16.3` → `0.17.0` |
| ollama/ollama | minor | `0.16.3` → `0.17.0` |
---
### Release Notes
<details>
<summary>ollama/ollama (ollama/ollama)</summary>
### [`v0.17.0`](https://github.com/ollama/ollama/releases/tag/v0.17.0 )
[Compare Source](https://github.com/ollama/ollama/compare/v0.16.3...v0.17.0 )
#### OpenClaw
OpenClaw can now be installed and configured automatically via Ollama, making it the easiest way to get up and running with OpenClaw with open models like Kimi-K2.5, GLM-5, and Minimax-M2.5.
##### Get started
`ollama launch openclaw`
<img width="2368" height="1830" alt="oc1" src="https://github.com/user-attachments/assets/cb9443d6-92cc-4c13-b26b-87e5f6c09b4e " />
##### Websearch in OpenClaw
When using cloud models, websearch is enabled - allowing OpenClaw to search the internet.
<img width="2368" height="1830" alt="oc3" src="https://github.com/user-attachments/assets/a4400e6d-e4c4-485b-bd11-823a624962a2 " />
#### What's Changed
* Improved tokenizer performance
* Ollama's macOS and Windows apps will now default to a context length based on available VRAM
#### New Contributors
* @​natl-set made their first contribution in https://github.com/ollama/ollama/pull/14322
**Full Changelog**: <https://github.com/ollama/ollama/compare/v0.16.3...v0.17.0 >
</details>
---
### 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4169
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-02-23 23:09:39 +00:00
6f4467f2aa
chore(deps): update kube-prometheus-stack docker tag to v82.2.1 ( #4181 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m53s
renovate / renovate (push) Successful in 3m48s
2026-02-23 18:05:06 +00:00
de0848713a
chore(deps): update helm release argo-cd to v9.4.4 ( #4180 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 42s
renovate / renovate (push) Has been cancelled
2026-02-23 18:03:39 +00:00
1c07cdb7eb
chore(deps): update ghcr.io/open-webui/open-webui docker tag to v0.8.5 ( #4179 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-23 18:03:05 +00:00
9d87fa7880
feat: remove huntarr
lint-test-helm / lint-helm (push) Successful in 35s
lint-test-docker / lint-docker-compose (push) Successful in 48s
render-manifests-push / render-manifests-push (push) Successful in 1m16s
renovate / renovate (push) Successful in 5m29s
2026-02-23 11:41:05 -06:00
70b8751398
chore(deps): update dependency actualbudget/actual to v26.2.1 ( #4177 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 40s
renovate / renovate (push) Successful in 3m34s
2026-02-23 16:03:19 +00:00
3c93618690
chore(deps): update dependency argoproj/argo-cd to v3.3.2 ( #4175 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Successful in 4m0s
2026-02-23 14:02:55 +00:00