Skip to content

Grimmory

v3.2.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 1mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

angular azw3 cbr cbz comics comics-reader
+12 more
documents ebooks ebooks-reader epub java metadata mobi oidc opds pdf self-hosted spring-boot

Summary

AI summary

Updates Bug Fixes, Chores, and Refactors across a mixed release.

Changes in this release

Feature Medium

Adds support for external MariaDB via Helm.

Adds support for external MariaDB via Helm.

Source: llm_adapter@2026-06-04

Confidence: high

Feature Medium

Adds subtitle field to KoboBookMetadata.

Adds subtitle field to KoboBookMetadata.

Source: llm_adapter@2026-06-04

Confidence: high

Feature Medium

Adds manual save button to PDF/EPUB book details.

Adds manual save button to PDF/EPUB book details.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds OCLC lookup integration for book metadata.

Adds OCLC lookup integration for book metadata.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds OCLC lookup integration for series metadata.

Adds OCLC lookup integration for series metadata.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds OCLC lookup integration for author metadata.

Adds OCLC lookup integration for author metadata.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds OCLC lookup integration for publisher metadata.

Adds OCLC lookup integration for publisher metadata.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds Tailwind CSS 4.3 and updates UI classes.

Adds Tailwind CSS 4.3 and updates UI classes.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds extraObjects field to Helm chart configuration.

Adds extraObjects field to Helm chart configuration.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Medium

Adds local‑path‑configs backend option.

Adds local‑path‑configs backend option.

Source: llm_adapter@2026-06-04

Confidence: low

Feature Low

Adds manual save button in PDF/EPUB reader top bar for document edits.

Adds manual save button in PDF/EPUB reader top bar for document edits.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Introduces light mode and a new theming system.

Introduces light mode and a new theming system.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Moves settings button to sidebar footer row.

Moves settings button to sidebar footer row.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Adds OLED dark mode variant.

Adds OLED dark mode variant.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Syncs profile locale and theme preferences across sessions.

Syncs profile locale and theme preferences across sessions.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Stores user locale and theme preferences on the backend.

Stores user locale and theme preferences on the backend.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Dependency Low

Updates Gradle to 9.5.1, Flyway to 12.6.1, Hibernate to 7.3.5, jaudiotager to 2.0.21, and other backend libraries.

Updates Gradle to 9.5.1, Flyway to 12.6.1, Hibernate to 7.3.5, jaudiotager to 2.0.21, and other backend libraries.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Dependency Low

Bumps multiple npm packages in the frontend (qs, qs, etc.).

Bumps multiple npm packages in the frontend (qs, qs, etc.).

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Performance Low

Optimizes initial library load by moving large‑library processing screen to notifications.

Optimizes initial library load by moving large‑library processing screen to notifications.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Medium

Clears EntityManager before deleting books in API.

Clears EntityManager before deleting books in API.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Medium

Flushes/clears EntityManager after deleting books in API.

Flushes/clears EntityManager after deleting books in API.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Medium

Centralizes token handling within the auth service.

Centralizes token handling within the auth service.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Refreshes audit‑logs table reactively on changes.

Refreshes audit‑logs table reactively on changes.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Converts AuthorMatchComponent state to signals for reactivity.

Converts AuthorMatchComponent state to signals for reactivity.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Passes correct mail properties for SSL transport in email module.

Passes correct mail properties for SSL transport in email module.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Properly groups multi‑file audiobooks imported via folder watcher.

Properly groups multi‑file audiobooks imported via folder watcher.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Uses autocomplete endpoint for Goodreads metadata provider.

Uses autocomplete endpoint for Goodreads metadata provider.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Normalizes language field to ISO 639‑1 codes in metadata.

Normalizes language field to ISO 639‑1 codes in metadata.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Updates Comic ID validation to use a compiled regex pattern.

Updates Comic ID validation to use a compiled regex pattern.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Refactor Low

Converts book details tab state to signals for improved reactivity.

Converts book details tab state to signals for improved reactivity.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Refactor Low

Moves theme and locale settings location in the UI.

Moves theme and locale settings location in the UI.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Refactor Low

Normalizes line endings in gradlew.bat for consistent builds on Windows.

Normalizes line endings in gradlew.bat for consistent builds on Windows.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Full changelog

3.2.0 (2026-06-04)

Features

  • helm: support external MariaDB (#1068) (4afc738)
  • kobo: add subtitle to KoboBookMetadata (#1543) (e4bf4c5)
  • pdf-reader: add manual save to the top bar functionality for document edits (#1426) (0e76b38)
  • ui: light mode and new theming system (#1468) (22ff6d8)
  • ui: move settings button to sidebar footer row (#1469) (62c1435)
  • ui: OLED dark mode variant (#1560) (5e0eac5)
  • ui: sync profile locale and theme preferences (#1604) (d6d18aa)
  • users: store locale and theme preferences on the backend (#1571) (ad63a95)

Bug Fixes

  • api: clear EntityManager before deleting books (#1467) (f9d9000)
  • api: flush/clear EntityManager after deleting books (#1453) (754bdb8)
  • audit-logs: refresh table reactively (#1611) (5b79e12)
  • auth: centralize token handling in auth service (#1534) (db64539)
  • author-browser: convert AuthorMatchComponent state to signals (#1581) (1018549)
  • email: pass correct mail properties for SSL transport (#1378) (150dcf4)
  • file-imports: Properly group multi-file audiobooks imported via the folder watcher (#1489) (fbbcd3f)
  • goodreads: use autocomplete endpoint for metadata provider (#1456) (673f008)
  • i18n: align translation domain structure (#1605) (099873a)
  • i18n: update Hardcover sync translations for clarity (#1640) (3971ea0)
  • kobo: limit kobo shelf additions to permissible books (#1423) (4980391)
  • kobo: update resources to match live values (#1502) (3211d78)
  • logo: set logo bookmark colour based on theme (#1511) (91c248f)
  • metadata: match new lubimyczytac HTML for search (#1608) (9b879af)
  • metadata: NPE when updating book without files (#1446) (be9b141)
  • metadata: replace iterator calls with getFirst() (#1305) (4055059)
  • opds: add audiobook covers for opds navigation (#1425) (21f3b0b)
  • reader: improve header layout and responsiveness in the reader (#1415) (b210265)
  • reader: prevent 'x' shortcut from closing reader while typing notes (#1387) (453a5b8)
  • readers: create reader-specific chrome colours (#1493) (7a3a3ba)
  • reader: visual feedback for tools selected (#1394) (c926582)
  • settings: hide opds, email, and device settings tabs when users lacks relevant perms (#1488) (413f12b)
  • ui: add version number overflow handling (#1625) (9d30913)
  • ui: backfill legacy appearance theme to system (#1510) (3726793)
  • ui: convert book metadata suggestions to signals (#1583) (32acb61)
  • ui: dashboard empty icon colour in light mode (#1600) (49239a1)
  • ui: filter sidebar width narrow bug + UI polish (#1470) (7da24d1)
  • ui: handle author adding when books are added (#1572) (49a7593)
  • ui: proper favicon format for bookmarks (#1432) (f202939)
  • ui: stats light mode theming (#1533) (bd9f99a)
  • ui: update file type tag links to book type (#1530) (d22a6d6)
  • ui: use signals for OPDS users to improve reactivity (#1544) (fe51328)
  • user-management: render loaded content restrictions (#1623) (24079f0)

Performance

  • frontend: optimize initial bundle size with lazy-loaded dialogs and localized chart providers (#1110) (c6cbdcf)

Refactors

  • api: avoid using objectmapper on TaskCreateRequest (#1509) (fa64030)
  • api: use spring objectmapper in mapstruct mappers (#1528) (2c59292)
  • api: use spring objectmapper where possible (#1507) (07b83c1)
  • book-api: drop redundant library joins from UserBookFileProgressRepository (#1414) (9b28306)
  • helm: improve chart consistency (#1401) (e46305e)
  • imports: remove unused imports across multiple service and controller files (#1307) (d103962)
  • komga: stop using opds service for book access checks (#1479) (89279eb)
  • math: replace min/max with clamp for improved readability (#1440) (c0d1d30)
  • metadata: change long if/else branch to switch (#1589) (743303e)
  • metadata: Normalize language field to ISO 639-1 (#1407) (1a76f19)
  • metadata: update Comic ID validation to use a compiled regex pattern (#1441) (9951136)
  • ui: convert book details tab state to signals (#1629) (05de312)
  • ui: convert bookdrop progress to signals (#1626) (9de1c9d)
  • ui: fix prime menu positioning + cleanup (#1377) (1e763b1)
  • ui: move large library processing screen to notifications (#1428) (dbbc7c3)
  • ui: move theme and locale settings location (#1624) (2ac8abd)
  • ui: use signals for library import progress (#1458) (db09c39)

Chores

  • backend: local-path-configs (#1594) (02cdaef)
  • deps: bump actions/checkout from 6.0.2 to 6.0.3 (#1615) (174c672)
  • deps: bump docker/build-push-action from 7.1.0 to 7.2.0 (#1614) (6046f89)
  • deps: bump docker/login-action from 4.1.0 to 4.2.0 (#1613) (70d0da1)
  • deps: bump docker/setup-qemu-action from 4.0.0 to 4.1.0 (#1617) (20df5d3)
  • deps: bump github/codeql-action from 4.35.4 to 4.36.1 (#1616) (b5ebaa2)
  • deps: bump gradle to 9.5.1 and flyway to 12.6.1 (#1329) (f2a89fb)
  • deps: bump hibernate to 7.3.5, jaudiotager to 2.0.21, and flyway to 12.6.2 (#1447) (3537480)
  • deps: bump qs from 6.15.0 to 6.15.2 in /frontend (#1462) (9c530f5)
  • deps: bump the gradle-dependencies group in /backend with 4 updates (#1567) (49a2ad8)
  • deps: bump the npm-dependencies group in /frontend with 26 updates (#1448) (ea9a76b)
  • deps: bump the npm-dependencies group in /frontend with 29 updates (#1568) (e138648)
  • deps: bump the npm-dependencies group in /frontend with 6 updates (#1330) (ec7c84b)
  • docker: update docker-compose for Gradle caching and build volume management (#1312) (8365efd)
  • drop duplicate goodreads requests (#1455) (82d4de4)
  • env: update Java version to 25.0.3-tem in .sdkmanrc (#1439) (adef28f)
  • helm: add extra objects field (#1464) (f56aa99)
  • i18n: update translations from Weblate (#1620) (73bde70)
  • i18n: update translations from Weblate (#1621) (a275218)
  • i18n: update translations from Weblate (#1622) (8f5bda8)
  • i18n: update translations from Weblate (#1633) (b936586)
  • justfile: add dev-rebuild command to force Docker container rebuild (#1349) (09b7aa2)
  • ui: add tailwind 4.3 and update classes (#1379) (398b1fa)
  • use valid unraid icon (#1325) (4868589)

Documentation

  • ai-policy: apply AI rules to all contributors (#1574) (bd4ad7f)

Build

Tests

Contributors

We'd like to thank the contributors for this release for taking the time to make Grimmory better.

Including but not limited to: @opisaac9001 @balazs-szucs @imnotjames @thibaultamartin @alexhb1 @ghostdiverr @monsagri @zachyale @mhlgio @tuomasmakinen @KuntaMallikRaj @Rvby1 @sabrina553 @AliAbuelkheir

New Contributors

  • @opisaac9001 made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1325
  • @ghostdiverr made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1407
  • @monsagri made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1378
  • @mhlgio made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1464
  • @KuntaMallikRaj made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1581
  • @Rvby1 made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1589
  • @sabrina553 made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1594
  • @AliAbuelkheir made their first contribution in https://github.com/grimmory-tools/grimmory/pull/1611

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Grimmory

Get notified when new releases ship.

Sign up free

About Grimmory

Digital library organization and access

All releases →

Related context

Beta — feedback welcome: [email protected]