Skip to content

style(i18n): normalize translation json formatting#89

Merged
imajes merged 1 commit into
developfrom
fix/align-formatting-for-i18n-files
Mar 21, 2026
Merged

style(i18n): normalize translation json formatting#89
imajes merged 1 commit into
developfrom
fix/align-formatting-for-i18n-files

Conversation

@imajes

@imajes imajes commented Mar 21, 2026

Copy link
Copy Markdown
Contributor
  • i18n formatting:
    • reserialize the locale JSON files under booklore-ui/src/i18n with a consistent formatting pass
    • normalize indentation and whitespace without intentionally changing translation content or key order
  • repository hygiene:
    • establish a stable formatting baseline for translation files so future key renames produce smaller, easier-to-review diffs
    • separate JSON formatting churn from the Grimmory rebrand work to make later history easier to follow

Description

Linked Issue: Fixes #

Changes

- i18n formatting:
  - reserialize the locale JSON files under `booklore-ui/src/i18n` with a consistent formatting pass
  - normalize indentation and whitespace without intentionally changing translation content or key order
- repository hygiene:
  - establish a stable formatting baseline for translation files so future key renames produce smaller, easier-to-review diffs
  - separate JSON formatting churn from the Grimmory rebrand work to make later history easier to follow
@coderabbitai

coderabbitai Bot commented Mar 21, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 74579447-cfbb-4579-b857-e65285b9197e

📥 Commits

Reviewing files that changed from the base of the PR and between 37ca101 and 039f1ba.

📒 Files selected for processing (300)
  • booklore-ui/src/i18n/da/app.json
  • booklore-ui/src/i18n/da/auth.json
  • booklore-ui/src/i18n/da/author-browser.json
  • booklore-ui/src/i18n/da/book.json
  • booklore-ui/src/i18n/da/bookdrop.json
  • booklore-ui/src/i18n/da/common.json
  • booklore-ui/src/i18n/da/dashboard.json
  • booklore-ui/src/i18n/da/layout.json
  • booklore-ui/src/i18n/da/library-creator.json
  • booklore-ui/src/i18n/da/magic-shelf.json
  • booklore-ui/src/i18n/da/metadata.json
  • booklore-ui/src/i18n/da/nav.json
  • booklore-ui/src/i18n/da/notebook.json
  • booklore-ui/src/i18n/da/reader-audiobook.json
  • booklore-ui/src/i18n/da/reader-cbx.json
  • booklore-ui/src/i18n/da/reader-ebook.json
  • booklore-ui/src/i18n/da/reader-pdf.json
  • booklore-ui/src/i18n/da/series-browser.json
  • booklore-ui/src/i18n/da/settings-application.json
  • booklore-ui/src/i18n/da/settings-audit-logs.json
  • booklore-ui/src/i18n/da/settings-auth.json
  • booklore-ui/src/i18n/da/settings-device.json
  • booklore-ui/src/i18n/da/settings-email.json
  • booklore-ui/src/i18n/da/settings-library-metadata.json
  • booklore-ui/src/i18n/da/settings-metadata.json
  • booklore-ui/src/i18n/da/settings-naming.json
  • booklore-ui/src/i18n/da/settings-opds.json
  • booklore-ui/src/i18n/da/settings-profile.json
  • booklore-ui/src/i18n/da/settings-reader.json
  • booklore-ui/src/i18n/da/settings-tasks.json
  • booklore-ui/src/i18n/da/settings-users.json
  • booklore-ui/src/i18n/da/settings-view.json
  • booklore-ui/src/i18n/da/settings.json
  • booklore-ui/src/i18n/da/shared.json
  • booklore-ui/src/i18n/da/stats-library.json
  • booklore-ui/src/i18n/da/stats-user.json
  • booklore-ui/src/i18n/de/app.json
  • booklore-ui/src/i18n/de/auth.json
  • booklore-ui/src/i18n/de/book.json
  • booklore-ui/src/i18n/de/bookdrop.json
  • booklore-ui/src/i18n/de/common.json
  • booklore-ui/src/i18n/de/dashboard.json
  • booklore-ui/src/i18n/de/layout.json
  • booklore-ui/src/i18n/de/library-creator.json
  • booklore-ui/src/i18n/de/magic-shelf.json
  • booklore-ui/src/i18n/de/metadata.json
  • booklore-ui/src/i18n/de/nav.json
  • booklore-ui/src/i18n/de/notebook.json
  • booklore-ui/src/i18n/de/reader-audiobook.json
  • booklore-ui/src/i18n/de/reader-cbx.json
  • booklore-ui/src/i18n/de/reader-ebook.json
  • booklore-ui/src/i18n/de/reader-pdf.json
  • booklore-ui/src/i18n/de/series-browser.json
  • booklore-ui/src/i18n/de/settings-application.json
  • booklore-ui/src/i18n/de/settings-audit-logs.json
  • booklore-ui/src/i18n/de/settings-auth.json
  • booklore-ui/src/i18n/de/settings-device.json
  • booklore-ui/src/i18n/de/settings-email.json
  • booklore-ui/src/i18n/de/settings-library-metadata.json
  • booklore-ui/src/i18n/de/settings-metadata.json
  • booklore-ui/src/i18n/de/settings-naming.json
  • booklore-ui/src/i18n/de/settings-opds.json
  • booklore-ui/src/i18n/de/settings-profile.json
  • booklore-ui/src/i18n/de/settings-reader.json
  • booklore-ui/src/i18n/de/settings-tasks.json
  • booklore-ui/src/i18n/de/settings-users.json
  • booklore-ui/src/i18n/de/settings-view.json
  • booklore-ui/src/i18n/de/settings.json
  • booklore-ui/src/i18n/de/shared.json
  • booklore-ui/src/i18n/de/stats-library.json
  • booklore-ui/src/i18n/de/stats-user.json
  • booklore-ui/src/i18n/en/app.json
  • booklore-ui/src/i18n/en/bookdrop.json
  • booklore-ui/src/i18n/en/layout.json
  • booklore-ui/src/i18n/en/magic-shelf.json
  • booklore-ui/src/i18n/en/stats-library.json
  • booklore-ui/src/i18n/en/stats-user.json
  • booklore-ui/src/i18n/es/app.json
  • booklore-ui/src/i18n/es/auth.json
  • booklore-ui/src/i18n/es/author-browser.json
  • booklore-ui/src/i18n/es/book.json
  • booklore-ui/src/i18n/es/bookdrop.json
  • booklore-ui/src/i18n/es/common.json
  • booklore-ui/src/i18n/es/dashboard.json
  • booklore-ui/src/i18n/es/layout.json
  • booklore-ui/src/i18n/es/library-creator.json
  • booklore-ui/src/i18n/es/magic-shelf.json
  • booklore-ui/src/i18n/es/metadata.json
  • booklore-ui/src/i18n/es/nav.json
  • booklore-ui/src/i18n/es/notebook.json
  • booklore-ui/src/i18n/es/reader-audiobook.json
  • booklore-ui/src/i18n/es/reader-cbx.json
  • booklore-ui/src/i18n/es/reader-ebook.json
  • booklore-ui/src/i18n/es/reader-pdf.json
  • booklore-ui/src/i18n/es/series-browser.json
  • booklore-ui/src/i18n/es/settings-application.json
  • booklore-ui/src/i18n/es/settings-audit-logs.json
  • booklore-ui/src/i18n/es/settings-auth.json
  • booklore-ui/src/i18n/es/settings-device.json
  • booklore-ui/src/i18n/es/settings-email.json
  • booklore-ui/src/i18n/es/settings-library-metadata.json
  • booklore-ui/src/i18n/es/settings-metadata.json
  • booklore-ui/src/i18n/es/settings-naming.json
  • booklore-ui/src/i18n/es/settings-opds.json
  • booklore-ui/src/i18n/es/settings-profile.json
  • booklore-ui/src/i18n/es/settings-reader.json
  • booklore-ui/src/i18n/es/settings-tasks.json
  • booklore-ui/src/i18n/es/settings-users.json
  • booklore-ui/src/i18n/es/settings-view.json
  • booklore-ui/src/i18n/es/settings.json
  • booklore-ui/src/i18n/es/shared.json
  • booklore-ui/src/i18n/es/stats-library.json
  • booklore-ui/src/i18n/es/stats-user.json
  • booklore-ui/src/i18n/fr/app.json
  • booklore-ui/src/i18n/fr/auth.json
  • booklore-ui/src/i18n/fr/book.json
  • booklore-ui/src/i18n/fr/bookdrop.json
  • booklore-ui/src/i18n/fr/common.json
  • booklore-ui/src/i18n/fr/dashboard.json
  • booklore-ui/src/i18n/fr/layout.json
  • booklore-ui/src/i18n/fr/library-creator.json
  • booklore-ui/src/i18n/fr/magic-shelf.json
  • booklore-ui/src/i18n/fr/metadata.json
  • booklore-ui/src/i18n/fr/nav.json
  • booklore-ui/src/i18n/fr/notebook.json
  • booklore-ui/src/i18n/fr/reader-audiobook.json
  • booklore-ui/src/i18n/fr/reader-cbx.json
  • booklore-ui/src/i18n/fr/reader-ebook.json
  • booklore-ui/src/i18n/fr/reader-pdf.json
  • booklore-ui/src/i18n/fr/series-browser.json
  • booklore-ui/src/i18n/fr/settings-application.json
  • booklore-ui/src/i18n/fr/settings-audit-logs.json
  • booklore-ui/src/i18n/fr/settings-auth.json
  • booklore-ui/src/i18n/fr/settings-device.json
  • booklore-ui/src/i18n/fr/settings-email.json
  • booklore-ui/src/i18n/fr/settings-library-metadata.json
  • booklore-ui/src/i18n/fr/settings-metadata.json
  • booklore-ui/src/i18n/fr/settings-naming.json
  • booklore-ui/src/i18n/fr/settings-opds.json
  • booklore-ui/src/i18n/fr/settings-profile.json
  • booklore-ui/src/i18n/fr/settings-reader.json
  • booklore-ui/src/i18n/fr/settings-tasks.json
  • booklore-ui/src/i18n/fr/settings-users.json
  • booklore-ui/src/i18n/fr/settings-view.json
  • booklore-ui/src/i18n/fr/settings.json
  • booklore-ui/src/i18n/fr/shared.json
  • booklore-ui/src/i18n/fr/stats-library.json
  • booklore-ui/src/i18n/fr/stats-user.json
  • booklore-ui/src/i18n/hr/app.json
  • booklore-ui/src/i18n/hr/auth.json
  • booklore-ui/src/i18n/hr/book.json
  • booklore-ui/src/i18n/hr/bookdrop.json
  • booklore-ui/src/i18n/hr/common.json
  • booklore-ui/src/i18n/hr/dashboard.json
  • booklore-ui/src/i18n/hr/layout.json
  • booklore-ui/src/i18n/hr/library-creator.json
  • booklore-ui/src/i18n/hr/magic-shelf.json
  • booklore-ui/src/i18n/hr/metadata.json
  • booklore-ui/src/i18n/hr/nav.json
  • booklore-ui/src/i18n/hr/notebook.json
  • booklore-ui/src/i18n/hr/reader-audiobook.json
  • booklore-ui/src/i18n/hr/reader-cbx.json
  • booklore-ui/src/i18n/hr/reader-ebook.json
  • booklore-ui/src/i18n/hr/reader-pdf.json
  • booklore-ui/src/i18n/hr/series-browser.json
  • booklore-ui/src/i18n/hr/settings-application.json
  • booklore-ui/src/i18n/hr/settings-audit-logs.json
  • booklore-ui/src/i18n/hr/settings-auth.json
  • booklore-ui/src/i18n/hr/settings-device.json
  • booklore-ui/src/i18n/hr/settings-email.json
  • booklore-ui/src/i18n/hr/settings-library-metadata.json
  • booklore-ui/src/i18n/hr/settings-metadata.json
  • booklore-ui/src/i18n/hr/settings-naming.json
  • booklore-ui/src/i18n/hr/settings-opds.json
  • booklore-ui/src/i18n/hr/settings-profile.json
  • booklore-ui/src/i18n/hr/settings-reader.json
  • booklore-ui/src/i18n/hr/settings-tasks.json
  • booklore-ui/src/i18n/hr/settings-users.json
  • booklore-ui/src/i18n/hr/settings-view.json
  • booklore-ui/src/i18n/hr/settings.json
  • booklore-ui/src/i18n/hr/shared.json
  • booklore-ui/src/i18n/hr/stats-library.json
  • booklore-ui/src/i18n/hr/stats-user.json
  • booklore-ui/src/i18n/hu/app.json
  • booklore-ui/src/i18n/hu/auth.json
  • booklore-ui/src/i18n/hu/author-browser.json
  • booklore-ui/src/i18n/hu/book.json
  • booklore-ui/src/i18n/hu/bookdrop.json
  • booklore-ui/src/i18n/hu/common.json
  • booklore-ui/src/i18n/hu/dashboard.json
  • booklore-ui/src/i18n/hu/layout.json
  • booklore-ui/src/i18n/hu/library-creator.json
  • booklore-ui/src/i18n/hu/magic-shelf.json
  • booklore-ui/src/i18n/hu/metadata.json
  • booklore-ui/src/i18n/hu/nav.json
  • booklore-ui/src/i18n/hu/notebook.json
  • booklore-ui/src/i18n/hu/reader-audiobook.json
  • booklore-ui/src/i18n/hu/reader-cbx.json
  • booklore-ui/src/i18n/hu/reader-ebook.json
  • booklore-ui/src/i18n/hu/reader-pdf.json
  • booklore-ui/src/i18n/hu/series-browser.json
  • booklore-ui/src/i18n/hu/settings-application.json
  • booklore-ui/src/i18n/hu/settings-audit-logs.json
  • booklore-ui/src/i18n/hu/settings-auth.json
  • booklore-ui/src/i18n/hu/settings-device.json
  • booklore-ui/src/i18n/hu/settings-email.json
  • booklore-ui/src/i18n/hu/settings-library-metadata.json
  • booklore-ui/src/i18n/hu/settings-metadata.json
  • booklore-ui/src/i18n/hu/settings-naming.json
  • booklore-ui/src/i18n/hu/settings-opds.json
  • booklore-ui/src/i18n/hu/settings-profile.json
  • booklore-ui/src/i18n/hu/settings-reader.json
  • booklore-ui/src/i18n/hu/settings-tasks.json
  • booklore-ui/src/i18n/hu/settings-users.json
  • booklore-ui/src/i18n/hu/settings-view.json
  • booklore-ui/src/i18n/hu/settings.json
  • booklore-ui/src/i18n/hu/shared.json
  • booklore-ui/src/i18n/hu/stats-library.json
  • booklore-ui/src/i18n/hu/stats-user.json
  • booklore-ui/src/i18n/id/app.json
  • booklore-ui/src/i18n/id/auth.json
  • booklore-ui/src/i18n/id/book.json
  • booklore-ui/src/i18n/id/bookdrop.json
  • booklore-ui/src/i18n/id/common.json
  • booklore-ui/src/i18n/id/dashboard.json
  • booklore-ui/src/i18n/id/layout.json
  • booklore-ui/src/i18n/id/library-creator.json
  • booklore-ui/src/i18n/id/magic-shelf.json
  • booklore-ui/src/i18n/id/metadata.json
  • booklore-ui/src/i18n/id/nav.json
  • booklore-ui/src/i18n/id/notebook.json
  • booklore-ui/src/i18n/id/reader-audiobook.json
  • booklore-ui/src/i18n/id/reader-cbx.json
  • booklore-ui/src/i18n/id/reader-ebook.json
  • booklore-ui/src/i18n/id/reader-pdf.json
  • booklore-ui/src/i18n/id/series-browser.json
  • booklore-ui/src/i18n/id/settings-application.json
  • booklore-ui/src/i18n/id/settings-audit-logs.json
  • booklore-ui/src/i18n/id/settings-auth.json
  • booklore-ui/src/i18n/id/settings-device.json
  • booklore-ui/src/i18n/id/settings-email.json
  • booklore-ui/src/i18n/id/settings-library-metadata.json
  • booklore-ui/src/i18n/id/settings-metadata.json
  • booklore-ui/src/i18n/id/settings-naming.json
  • booklore-ui/src/i18n/id/settings-opds.json
  • booklore-ui/src/i18n/id/settings-profile.json
  • booklore-ui/src/i18n/id/settings-reader.json
  • booklore-ui/src/i18n/id/settings-users.json
  • booklore-ui/src/i18n/id/settings-view.json
  • booklore-ui/src/i18n/id/settings.json
  • booklore-ui/src/i18n/id/shared.json
  • booklore-ui/src/i18n/id/stats-library.json
  • booklore-ui/src/i18n/id/stats-user.json
  • booklore-ui/src/i18n/it/app.json
  • booklore-ui/src/i18n/it/auth.json
  • booklore-ui/src/i18n/it/book.json
  • booklore-ui/src/i18n/it/bookdrop.json
  • booklore-ui/src/i18n/it/common.json
  • booklore-ui/src/i18n/it/dashboard.json
  • booklore-ui/src/i18n/it/layout.json
  • booklore-ui/src/i18n/it/library-creator.json
  • booklore-ui/src/i18n/it/magic-shelf.json
  • booklore-ui/src/i18n/it/metadata.json
  • booklore-ui/src/i18n/it/nav.json
  • booklore-ui/src/i18n/it/notebook.json
  • booklore-ui/src/i18n/it/reader-audiobook.json
  • booklore-ui/src/i18n/it/reader-cbx.json
  • booklore-ui/src/i18n/it/reader-ebook.json
  • booklore-ui/src/i18n/it/reader-pdf.json
  • booklore-ui/src/i18n/it/series-browser.json
  • booklore-ui/src/i18n/it/settings-application.json
  • booklore-ui/src/i18n/it/settings-audit-logs.json
  • booklore-ui/src/i18n/it/settings-auth.json
  • booklore-ui/src/i18n/it/settings-device.json
  • booklore-ui/src/i18n/it/settings-email.json
  • booklore-ui/src/i18n/it/settings-library-metadata.json
  • booklore-ui/src/i18n/it/settings-metadata.json
  • booklore-ui/src/i18n/it/settings-naming.json
  • booklore-ui/src/i18n/it/settings-opds.json
  • booklore-ui/src/i18n/it/settings-profile.json
  • booklore-ui/src/i18n/it/settings-reader.json
  • booklore-ui/src/i18n/it/settings-tasks.json
  • booklore-ui/src/i18n/it/settings-users.json
  • booklore-ui/src/i18n/it/settings-view.json
  • booklore-ui/src/i18n/it/settings.json
  • booklore-ui/src/i18n/it/shared.json
  • booklore-ui/src/i18n/it/stats-library.json
  • booklore-ui/src/i18n/it/stats-user.json
  • booklore-ui/src/i18n/ja/app.json
  • booklore-ui/src/i18n/ja/auth.json
  • booklore-ui/src/i18n/ja/book.json
  • booklore-ui/src/i18n/ja/bookdrop.json
  • booklore-ui/src/i18n/ja/common.json
  • booklore-ui/src/i18n/ja/dashboard.json
  • booklore-ui/src/i18n/ja/layout.json
  • booklore-ui/src/i18n/ja/library-creator.json
  • booklore-ui/src/i18n/ja/magic-shelf.json
  • booklore-ui/src/i18n/ja/metadata.json
  • booklore-ui/src/i18n/ja/nav.json
  • booklore-ui/src/i18n/ja/notebook.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/align-formatting-for-i18n-files

Comment @coderabbitai help to get the list of available commands and usage tips.

@imajes imajes merged commit 857290d into develop Mar 21, 2026
13 checks passed
@imajes imajes deleted the fix/align-formatting-for-i18n-files branch March 21, 2026 00:48
github-actions Bot added a commit that referenced this pull request Mar 21, 2026
## [2.2.7](v2.2.6...v2.2.7) (2026-03-21)

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))
github-actions Bot added a commit that referenced this pull request Mar 21, 2026
## [2.2.7](v2.2.6...v2.2.7) (2026-03-21)

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

(cherry picked from commit 4a92c49)
github-actions Bot added a commit that referenced this pull request Mar 21, 2026
## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))
github-actions Bot added a commit that referenced this pull request Mar 21, 2026
## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

(cherry picked from commit c335c7b)
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Mar 21, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/grimmory-tools/grimmory](https://github.com/grimmory-tools/grimmory) | minor | `v2.2.6` → `v2.3.0` |
| [grimmory-tools/grimmory](https://github.com/grimmory-tools/grimmory) | minor | `v2.2.6` → `v2.3.0` |

---

### Release Notes

<details>
<summary>grimmory-tools/grimmory (ghcr.io/grimmory-tools/grimmory)</summary>

### [`v2.3.0`](https://github.com/grimmory-tools/grimmory/releases/tag/v2.3.0)

[Compare Source](grimmory-tools/grimmory@v2.2.7...v2.3.0)

##### Features

- **release:** document develop-based stable release previews ([930e526](grimmory-tools/grimmory@930e526))

##### Bug Fixes

- **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools/grimmory@031e8ae))
- **ci:** correct artifact download action pin ([37ca101](grimmory-tools/grimmory@37ca101))
- **ci:** publish PR test results from workflow\_run ([11a76bf](grimmory-tools/grimmory@11a76bf))
- **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools/grimmory@afa5b81))
- drop telemetry from app ([#&#8203;52](grimmory-tools/grimmory#52)) ([4d82cb7](grimmory-tools/grimmory@4d82cb7))
- **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools/grimmory@fea1ec6))

##### Refactors

- **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools/grimmory@ecf388f))
- **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools/grimmory@eb94afa))
- **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools/grimmory@e252122))
- pull kepubify & ffprobe during build ([#&#8203;50](grimmory-tools/grimmory#50)) ([1c15629](grimmory-tools/grimmory@1c15629))
- **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools/grimmory@d786dd8))

##### Chores

- **api:** remove the custom startup banner ([98c9b1a](grimmory-tools/grimmory@98c9b1a))
- **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#&#8203;73](grimmory-tools/grimmory#73)) ([c4bd0c7](grimmory-tools/grimmory@c4bd0c7))
- **funding:** point support links at opencollective ([55c0ac0](grimmory-tools/grimmory@55c0ac0))
- **release:** 2.2.7 \[skip ci] ([0b5e24c](grimmory-tools/grimmory@0b5e24c))
- remove old verbose PR template, replace with temporary more low-key one. ([#&#8203;84](grimmory-tools/grimmory#84)) ([b868526](grimmory-tools/grimmory@b868526))
- **ui:** drop financial support dialog ([#&#8203;21](grimmory-tools/grimmory#21)) ([62be6b1](grimmory-tools/grimmory@62be6b1))

##### Documentation

- updated supported file formats in README.md ([#&#8203;68](grimmory-tools/grimmory#68)) ([f912e80](grimmory-tools/grimmory@f912e80))

##### Style

- **i18n:** normalize translation json formatting ([#&#8203;89](grimmory-tools/grimmory#89)) ([857290d](grimmory-tools/grimmory@857290d))
- **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools/grimmory@0416d48))

### [`v2.2.7`](https://github.com/grimmory-tools/grimmory/releases/tag/v2.2.7)

[Compare Source](grimmory-tools/grimmory@v2.2.6...v2.2.7)

##### Bug Fixes

- **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools/grimmory@031e8ae))
- **ci:** correct artifact download action pin ([37ca101](grimmory-tools/grimmory@37ca101))
- **ci:** publish PR test results from workflow\_run ([11a76bf](grimmory-tools/grimmory@11a76bf))
- drop telemetry from app ([#&#8203;52](grimmory-tools/grimmory#52)) ([4d82cb7](grimmory-tools/grimmory@4d82cb7))
- **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools/grimmory@fea1ec6))

##### Refactors

- **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools/grimmory@ecf388f))
- **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools/grimmory@eb94afa))
- **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools/grimmory@e252122))
- pull kepubify & ffprobe during build ([#&#8203;50](grimmory-tools/grimmory#50)) ([1c15629](grimmory-tools/grimmory@1c15629))
- **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools/grimmory@d786dd8))

##### Chores

- **api:** remove the custom startup banner ([98c9b1a](grimmory-tools/grimmory@98c9b1a))
- **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#&#8203;73](grimmory-tools/grimmory#73)) ([c4bd0c7](grimmory-tools/grimmory@c4bd0c7))
- **funding:** point support links at opencollective ([55c0ac0](grimmory-tools/grimmory@55c0ac0))
- remove old verbose PR template, replace with temporary more low-key one. ([#&#8203;84](grimmory-tools/grimmory#84)) ([b868526](grimmory-tools/grimmory@b868526))
- **ui:** drop financial support dialog ([#&#8203;21](grimmory-tools/grimmory#21)) ([62be6b1](grimmory-tools/grimmory@62be6b1))

##### Documentation

- updated supported file formats in README.md ([#&#8203;68](grimmory-tools/grimmory#68)) ([f912e80](grimmory-tools/grimmory@f912e80))

##### Style

- **i18n:** normalize translation json formatting ([#&#8203;89](grimmory-tools/grimmory#89)) ([857290d](grimmory-tools/grimmory@857290d))
- **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools/grimmory@0416d48))

</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4953
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
balazs-szucs added a commit that referenced this pull request Mar 24, 2026
* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
balazs-szucs pushed a commit that referenced this pull request Mar 29, 2026
…ausing issues with filtering. (#250)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* Fix backend from stripping fields

* Strip metadata fields by default in backend

* Fix merge conflicts

* Revert yarn.lock change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
balazs-szucs added a commit that referenced this pull request Apr 4, 2026
* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ols#56)

* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (grimmory-tools#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ausing issues with filtering. (grimmory-tools#250)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* Fix backend from stripping fields

* Strip metadata fields by default in backend

* Fix merge conflicts

* Revert yarn.lock change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ry-tools#296)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ols#56)

* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (grimmory-tools#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ausing issues with filtering. (grimmory-tools#250)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* Fix backend from stripping fields

* Strip metadata fields by default in backend

* Fix merge conflicts

* Revert yarn.lock change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
zachyale pushed a commit to zachyale/grimmory that referenced this pull request Apr 17, 2026
…ry-tools#296)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 17, 2026
* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 17, 2026
…ausing issues with filtering. (#250)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* Fix backend from stripping fields

* Strip metadata fields by default in backend

* Fix merge conflicts

* Revert yarn.lock change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 17, 2026
* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 22, 2026
* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 22, 2026
…ausing issues with filtering. (#250)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* Fix backend from stripping fields

* Strip metadata fields by default in backend

* Fix merge conflicts

* Revert yarn.lock change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
zachyale pushed a commit that referenced this pull request Apr 22, 2026
* chore(release): 2.3.0 [skip ci]

## [2.3.0](v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](031e8ae))
* **ci:** correct artifact download action pin ([37ca101](37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](afa5b81))
* drop telemetry from app ([#52](#52)) ([4d82cb7](4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](e252122))
* pull kepubify & ffprobe during build ([#50](#50)) ([1c15629](1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](#73)) ([c4bd0c7](c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](#84)) ([b868526](b868526))
* **ui:** drop financial support dialog ([#21](#21)) ([62be6b1](62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](#68)) ([f912e80](f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](#89)) ([857290d](857290d))
* **ui:** simplify the topbar logo branding ([0416d48](0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
opensourcefan pushed a commit to opensourcefan/Fable that referenced this pull request Apr 26, 2026
* refactor(icon): fix SVG icon loading straight to memory

* refactor(icon): loading with improved error handling

* refactor(icon): add flag for SVG icons loading state

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools/grimmory@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools/grimmory@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools/grimmory@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools/grimmory@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools/grimmory@afa5b81))
* drop telemetry from app ([#52](grimmory-tools/grimmory#52)) ([4d82cb7](grimmory-tools/grimmory@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools/grimmory@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools/grimmory@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools/grimmory@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools/grimmory@e252122))
* pull kepubify & ffprobe during build ([#50](grimmory-tools/grimmory#50)) ([1c15629](grimmory-tools/grimmory@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools/grimmory@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools/grimmory@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([#73](grimmory-tools/grimmory#73)) ([c4bd0c7](grimmory-tools/grimmory@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools/grimmory@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools/grimmory@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([#84](grimmory-tools/grimmory#84)) ([b868526](grimmory-tools/grimmory@b868526))
* **ui:** drop financial support dialog ([#21](grimmory-tools/grimmory#21)) ([62be6b1](grimmory-tools/grimmory@62be6b1))

### Documentation

* updated supported file formats in README.md ([#68](grimmory-tools/grimmory#68)) ([f912e80](grimmory-tools/grimmory@f912e80))

### Style

* **i18n:** normalize translation json formatting ([#89](grimmory-tools/grimmory#89)) ([857290d](grimmory-tools/grimmory@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools/grimmory@0416d48))

* fix(book-browser): prevent memory leaks by unsubscribing from observables (#80)

* test(icon): remove redundant initialization in IconServiceTest

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex Fair <20632147+afairgiant@users.noreply.github.com>
dsmouse added a commit to dsmouse/grimmory that referenced this pull request May 11, 2026
…ry-tools#296)

* chore(release): 2.3.0 [skip ci]

## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

* fix(file): deduplicate bookFiles and protect source library root in FileMoveService

* fix(shelf): include public shelves in filterShelvesByUserId

* fix(shelf): centralize shelf visibility predicate and deduplicate book files by ID

* fix(shelf): controll for null userid

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: msmouse <git@dsmouse.com>
Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
JVT038 pushed a commit to JVT038/grimmory that referenced this pull request Jun 11, 2026
## [2.3.0](grimmory-tools/grimmory@v2.2.6...v2.3.0) (2026-03-21)

### Features

* **release:** document develop-based stable release previews ([930e526](grimmory-tools@930e526))

### Bug Fixes

* **api:** fix potential memory leaks in file processing ([031e8ae](grimmory-tools@031e8ae))
* **ci:** correct artifact download action pin ([37ca101](grimmory-tools@37ca101))
* **ci:** publish PR test results from workflow_run ([11a76bf](grimmory-tools@11a76bf))
* **ci:** repair release preview and test result publishing ([afa5b81](grimmory-tools@afa5b81))
* drop telemetry from app ([grimmory-tools#52](grimmory-tools#52)) ([4d82cb7](grimmory-tools@4d82cb7))
* **ui:** repair frontend compile after rebrand ([fea1ec6](grimmory-tools@fea1ec6))

### Refactors

* **build:** rename frontend dist output to grimmory ([ecf388f](grimmory-tools@ecf388f))
* **i18n:** rename booklore translation keys to grimmory ([eb94afa](grimmory-tools@eb94afa))
* **metadata:** move default parser from Amazon to Goodreads ([e252122](grimmory-tools@e252122))
* pull kepubify & ffprobe during build ([grimmory-tools#50](grimmory-tools#50)) ([1c15629](grimmory-tools@1c15629))
* **ui:** rebrand frontend surfaces to grimmory ([d786dd8](grimmory-tools@d786dd8))

### Chores

* **api:** remove the custom startup banner ([98c9b1a](grimmory-tools@98c9b1a))
* **deps:** bump flatted from 3.4.1 to 3.4.2 in /booklore-ui ([grimmory-tools#73](grimmory-tools#73)) ([c4bd0c7](grimmory-tools@c4bd0c7))
* **funding:** point support links at opencollective ([55c0ac0](grimmory-tools@55c0ac0))
* **release:** 2.2.7 [skip ci] ([0b5e24c](grimmory-tools@0b5e24c))
* remove old verbose PR template, replace with temporary more low-key one. ([grimmory-tools#84](grimmory-tools#84)) ([b868526](grimmory-tools@b868526))
* **ui:** drop financial support dialog ([grimmory-tools#21](grimmory-tools#21)) ([62be6b1](grimmory-tools@62be6b1))

### Documentation

* updated supported file formats in README.md ([grimmory-tools#68](grimmory-tools#68)) ([f912e80](grimmory-tools@f912e80))

### Style

* **i18n:** normalize translation json formatting ([grimmory-tools#89](grimmory-tools#89)) ([857290d](grimmory-tools@857290d))
* **ui:** simplify the topbar logo branding ([0416d48](grimmory-tools@0416d48))

(cherry picked from commit c335c7b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant