Skip to content

chore(deps): bump the npm-dependencies group in /booklore-ui with 28 updates#6

Closed
dependabot[bot] wants to merge 67 commits into
masterfrom
dependabot/npm_and_yarn/booklore-ui/npm-dependencies-d4c80561bb
Closed

chore(deps): bump the npm-dependencies group in /booklore-ui with 28 updates#6
dependabot[bot] wants to merge 67 commits into
masterfrom
dependabot/npm_and_yarn/booklore-ui/npm-dependencies-d4c80561bb

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 25, 2026

Copy link
Copy Markdown

Bumps the npm-dependencies group in /booklore-ui with 28 updates:

Package From To
@angular/animations 21.2.4 21.2.5
@angular/cdk 21.2.0 21.2.3
@angular/common 21.2.4 21.2.5
@angular/compiler 21.2.4 21.2.5
@angular/core 21.2.4 21.2.5
@angular/forms 21.2.4 21.2.5
@angular/platform-browser 21.2.4 21.2.5
@angular/platform-browser-dynamic 21.2.4 21.2.5
@angular/router 21.2.4 21.2.5
@angular/service-worker 21.2.4 21.2.5
@tanstack/angular-query-experimental 5.90.26 5.95.2
dompurify 3.3.2 3.3.3
ng2-charts 8.0.0 10.0.0
primeng 21.1.1 21.1.3
uuid 11.1.0 13.0.0
ws 8.19.0 8.20.0
@analogjs/vite-plugin-angular 2.3.0 2.3.1
@analogjs/vitest-angular 2.3.0 2.3.1
@angular/build 21.2.0 21.2.3
@angular/cli 21.2.0 21.2.3
@angular/compiler-cli 21.2.4 21.2.5
@types/node 25.3.2 25.5.0
@vitest/coverage-v8 4.0.18 4.1.1
eslint 9.39.3 10.1.0
jsdom 28.1.0 29.0.1
typescript 5.9.3 6.0.2
typescript-eslint 8.56.1 8.57.2
vitest 4.0.18 4.1.1

Updates @angular/animations from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/animations's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/animations's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits

Updates @angular/cdk from 21.2.0 to 21.2.3

Release notes

Sourced from @​angular/cdk's releases.

21.2.3

material

Commit Description
fix - 917526511 datepicker: add harness for datepicker actions (#32925)

cdk

Commit Description
fix - 688deda58 drag-drop: item returned to wrong index in initial container (#32944)

21.2.2

aria

Commit Description
fix - 345c543dcb grid: unit tests and small fixes for grid directives (#32841)

21.2.1

material

Commit Description
fix - cebf303417 checkbox: hide decorative elements from assistive technology
fix - 2abe8e6b73 menu: render backdrop for context menu if explicitly opted in (#32845)
fix - e2f7308dc4 radio: hide decorative elements from assistive technology

aria

Commit Description
fix - c1295c5818 menu: itemSelected not emitted when menu is attached to a trigger (#32880)

multiple

Commit Description
fix - 17c19cc73b expand type for restoreFocus (#32877)
Changelog

Sourced from @​angular/cdk's changelog.

21.2.3 "21-2-3" (2026-03-18)

cdk

Commit Type Description
688deda58 fix drag-drop: item returned to wrong index in initial container (#32944)

material

Commit Type Description
917526511 fix datepicker: add harness for datepicker actions (#32925)

22.0.0-next.0 "plastic-bear" (2026-03-11)

material

Commit Type Description
b4a89d5996 feat button: Add support for showing a progress indicator inside the button (#32698)
85c16fe4bb feat tabs: add support for separate tab animation durations (#32869)

multiple

Commit Type Description
936f1148b3 fix use eager change detection

21.2.2 "plastic-goose" (2026-03-11)

aria

Commit Type Description
345c543dcb fix grid: unit tests and small fixes for grid directives (#32841)

21.3.0-next.0 "glass heels" (2026-03-04)

material

Commit Type Description
b4a89d5996 feat button: Add support for showing a progress indicator inside the button (#32698)
85c16fe4bb feat tabs: add support for separate tab animation durations (#32869)

multiple

Commit Type Description
936f1148b3 fix use eager change detection

... (truncated)

Commits
  • e31ed9e release: cut the v21.2.3 release
  • 688deda fix(cdk/drag-drop): item returned to wrong index in initial container (#32944)
  • 21bca7d build: update dependency bazel to v8.6.0 (#32939)
  • b6c5df6 refactor(aria/accordion): simplify code by using template references instead ...
  • 484a61e refactor(material/input): switch tests away from fakeAsync (#32938)
  • 9175265 fix(material/datepicker): add harness for datepicker actions (#32925)
  • c8d1ed6 refactor(material/dialog): switch tests away from fakeAsync (#32914)
  • 6049dbb release: cut the v21.2.2 release
  • f971cbf build: update repository locations for bazel rules (#32911)
  • 439cd88 build: update aspect_rules_js to 3.0.2 (#32910)
  • Additional commits viewable in compare view

Updates @angular/common from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/common's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/common's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits

Updates @angular/compiler from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/compiler's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/compiler's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits
  • 23ea431 fix(compiler): parse named HTML entities containing digits
  • 334ae10 fix(compiler): ensure generated code compiles
  • See full diff in compare view

Updates @angular/core from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/core's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/core's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits
  • 851ef77 Revert "refactor(core): Ensure determineLongestAnimation is run synchronously...
  • 076d41c fix(migrations): prevent trailing comma syntax errors after removing NgStyle
  • a8f80c1 refactor(core): declare explicit reactive node prototypes types
  • bf948be fix(core): run linked signal equality check without reactive consumer
  • 1890c30 fix(core): clean up dehydrated views during HMR component replacement
  • f39896d build: update cross-repo angular dependencies
  • e5ed276 refactor(core): Ensure determineLongestAnimation is run synchronously after s...
  • 334ae10 fix(compiler): ensure generated code compiles
  • 6f41efc refactor(core): Update determineLongestAnimation to account for playback rate
  • 5d755be refactor: ensure modules with 'declare global' are correctly handled by Rollup
  • See full diff in compare view

Updates @angular/forms from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/forms's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/forms's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits

Updates @angular/platform-browser from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/platform-browser's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/platform-browser's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations
621c7071ad fix sanitize translated form attributes

20.3.18 (2026-03-12)

compiler

Commit Type Description
02fbf08890 fix disallow translations of iframe src

core

Commit Type Description

... (truncated)

Commits

Updates @angular/platform-browser-dynamic from 21.2.4 to 21.2.5

Release notes

Sourced from @​angular/platform-browser-dynamic's releases.

21.2.5

compiler

Commit Description
fix - 334ae10168 ensure generated code compiles
fix - 23ea431c4e parse named HTML entities containing digits

compiler-cli

Commit Description
fix - 26c43d14ba escape template literal in TCB
fix - 67e0ba7e03 generic types not filled out correctly in type check block

core

Commit Description
fix - 1890c3008b clean up dehydrated views during HMR component replacement
fix - bf948be4c2 run linked signal equality check without reactive consumer

migrations

Commit Description
fix - 076d41c3f6 prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Description
fix - e19150d2b5 preserve redirect policy on reconstructed asset requests
Changelog

Sourced from @​angular/platform-browser-dynamic's changelog.

21.2.5 (2026-03-18)

compiler

Commit Type Description
334ae10168 fix ensure generated code compiles
23ea431c4e fix parse named HTML entities containing digits

compiler-cli

Commit Type Description
26c43d14ba fix escape template literal in TCB
67e0ba7e03 fix generic types not filled out correctly in type check block

core

Commit Type Description
1890c3008b fix clean up dehydrated views during HMR component replacement
bf948be4c2 fix run linked signal equality check without reactive consumer

migrations

Commit Type Description
076d41c3f6 fix prevent trailing comma syntax errors after removing NgStyle

service-worker

Commit Type Description
e19150d2b5 fix preserve redirect policy on reconstructed asset requests

19.2.20 (2026-03-12)

compiler

Commit Type Description
5be912eb55 fix disallow translations of iframe src

core

<...

Description has been truncated

Commit Type Description
b89b0a83a4 fix sanitize translated attribute bindings with interpolations

imajes and others added 30 commits March 17, 2026 23:18
…s#66)

* chore(ci): rebrand and streamline the release pipeline

- CI/CD:
  - replace the old `develop`/`master` pipelines with explicit validation, nightly, preview, and release workflows
  - switch stable releases to `main`, keep `develop` for nightly builds, and make preview image builds manual-only
  - update the reusable migration check so callers pass explicit refs and validation works correctly across PRs, pushes, and release flows

- Packaging:
  - consolidate container packaging onto the root `Dockerfile` and remove `Dockerfile.ci`
  - stop mutating tracked source files during image builds by building frontend and backend assets inside the container pipeline
  - remove vendored `unrar` binaries and build the upstream CLI from source during the image build
  - keep runtime compatibility for existing Booklore deployments by preserving env vars, ports, mount paths, and legacy internal user defaults

- Deploy Surface:
  - move deployment examples under `deploy/` and Docker runtime assets under `packaging/docker`
  - rebrand image, chart, and helper-script references from Booklore to Grimmory on the build and release surfaces only
  - update Compose, Helm, and Podman examples to reflect Grimmory image names and the stable/nightly tag model

- Docs:
  - add the implementation plan under `docs/plans/ci-cd-rebrand-main-nightly.md`
  - refresh README, contributing guidance, PR template, and operational docs to match the new branch, image, and upgrade story
  - document the Booklore-to-Grimmory image swap path so existing self-hosted installs can upgrade by changing only the image reference

- Validation:
  - pass `git diff --check`
  - parse all workflow YAML successfully
  - pass `shellcheck` on the touched shell scripts

* fix(ci): address review feedback and dedupe test workflows

- Workflows:
  - extract backend and frontend test execution into a shared reusable workflow used by validation, nightly, and release pipelines
  - simplify migration ref handling, sanitize manual preview PR inputs, reduce preview cache writes, and update Flyway to the current image tag
  - remove unnecessary duplicated job definitions so the test path has one source of truth

- Packaging:
  - verify the downloaded UnRAR source tarball with SHA256 before extraction
  - remove the unnecessary forced npm install path from the production Docker build
  - harden container startup by failing clearly when APP_USER collides with an unexpected UID or GID

- Versioning and deploy docs:
  - keep app version metadata embedded in the built image instead of asking operators to set APP_VERSION in deploy examples
  - update runtime release links and support links to the Grimmory repository
  - add the Quadlet install section and finish the remaining review-targeted doc fixes and branding cleanup

- Validation:
  - pass git diff --check
  - pass shellcheck on packaging/docker/entrypoint.sh
  - parse all GitHub workflow YAML successfully

* fix: Resolve flyway version

* fix: Resolve some noise in readme

* feat(release): migrate stable releases to semantic-release

- Release automation:
  - replace the manual stable bump flow and Release Drafter with semantic-release on `main`
  - split stable delivery into a semantic-release workflow that computes version, changelog, tag, and draft GitHub release plus a tag-driven workflow that publishes container images
  - add a maintainer-run dry-run workflow to preview the next stable version and release notes before publishing

- Release tooling:
  - add a dedicated `tools/release` package with semantic-release configuration and lockfile
  - encode Grimmory's release policy so `feat` triggers minor releases, `fix`/`perf`/`refactor` trigger patch releases, and `docs`/`ci`/`build`/`chore`/`test`/`style` are changelog-only
  - maintain a committed `CHANGELOG.md` and draft GitHub releases from the same release notes source

- Contributor workflow:
  - enforce conventional PR titles for PRs targeting `develop` and `main`
  - document that feature work is squash-merged into `develop` and that stable releases are computed from the preserved conventional commit history promoted to `main`
  - update README, contributing guidance, and the PR template to match the new release process

- Bootstrap:
  - add the semantic-release migration plan under `docs/plans/semantic-release-migration.md`
  - seed the local release baseline with `v2.2.1` on commit `384512534fe5a2f42d8482a0646337e28ef54e52`
  - configure the stable image publish workflow to ignore the bootstrap tag so the first semantic-release-managed release can be `v2.2.2`

- Validation:
  - pass `git diff --check`
  - parse all workflow YAML successfully
  - verify the semantic-release config loads correctly
  - verify the local bootstrap tag is present as `v2.2.1`

* Add proper concurrency to prevent version collisions

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Tighten the release preview gate to ensure commits are present in origin/head

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(ci): fail migration checks on missing diff base

- Migration checks:
  - remove the implicit fallback that rewrote an all-zero base ref to `head^`
  - fail fast when callers provide the all-zero sentinel instead of a real comparison base so multi-commit pushes and root-history cases do not silently skip migration files

- Validation:
  - pass `git diff --check`
  - parse `.github/workflows/migrations-check.yml` successfully

* fix(packaging): source unrar from linuxserver layer

- Container packaging:
  - replace the custom UnRAR source build stage with the published `linuxserver/unrar` image layer
  - copy the provided `/usr/bin/unrar-alpine` binary into the final runtime image as `/usr/local/bin/unrar`
  - remove the checksum, tarball, and local compile path from the Dockerfile

- Validation:
  - pass `git diff --check`

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- Workflow callers:
  - grant `contents: read` and `checks: write` when invoking the reusable test suite from CI validation, nightly builds, and main release automation
  - align caller permissions with the nested `backend-tests` and `frontend-tests` jobs so GitHub accepts the workflow graph

- Validation:
  - keep workflow YAML parsing clean after the permission wiring change
  - keep `git diff --check` clean for the touched workflow files
## [2.2.2](grimmory-tools/grimmory@v2.2.1...v2.2.2) (2026-03-19)

### Bug Fixes

* **ci:** forward checks permission to reusable test jobs ([e3b3e7c](grimmory-tools@e3b3e7c))

### Chores

* **ci:** rebrand and streamline the release pipeline ([grimmory-tools#66](grimmory-tools#66)) ([1bc45da](grimmory-tools@1bc45da))
* Update README to use new links, and clean up formatting ([6b0c4aa](grimmory-tools@6b0c4aa))
Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Image builds:
  - pin frontend and backend Docker build stages to the build platform so multi-arch packaging can reuse architecture-independent work
  - add an Angular build cache mount and move dynamic version metadata to the end of the runtime stage so static layers stay reusable across tags
  - reduce image workflow checkout depth and keep preview builds on `linux/amd64` only to avoid unnecessary QEMU and history overhead

- Cache policy:
  - make CI packaging smoke builds consume the shared image cache without writing new BuildKit cache state
  - make normal preview builds consume shared GHA and registry caches without mutating the canonical cache
  - keep nightly and stable release builds as the workflows that refresh the shared image cache in both GHA and registry backends

- Preview override:
  - add a `refresh_shared_cache` input to the preview workflow for an explicit no-cache rebuild that repopulates the shared cache when maintainers need to bust and refresh it
  - keep the default preview behavior optimized for fast disposable builds rather than cache churn

- Validation:
  - keep workflow YAML parsing clean after the cache-policy changes
  - keep `git diff --check` clean for the touched Docker and workflow files
- Backend packaging:
  - make `processResources` include the built frontend dist as an explicit `static/` resource input instead of relying on a manual copy into Gradle's output directory
  - keep `bootJar` as the source of truth for bundling `static/index.html` into the application jar

- Docker build:
  - pass the frontend dist location into Gradle with `-PfrontendDistDir=/tmp/frontend-dist`
  - remove the ad hoc copy into `build/resources/main/static` before `bootJar`

- Validation:
  - verify `processResources` emits `build/resources/main/static/index.html` when given a frontend dist directory
  - keep `git diff --check` clean for the touched packaging files
- Gradle packaging:
  - stop treating the default frontend dist path as a required input during `processResources`
  - include frontend assets only when the resolved dist directory actually exists
  - keep support for the explicit `-PfrontendDistDir=...` path used by the Docker build

- CI stability:
  - restore backend-only Gradle runs in the reusable test workflow without requiring an Angular build first
  - prevent `processResources` from failing before backend tests execute when `booklore-ui/dist/...` is absent

- Validation:
  - run `processResources` successfully with no frontend dist present
  - run `processResources` with a temporary `frontendDistDir` and confirm `static/index.html` is packaged
  - pass `git diff --check`
## [2.2.3](grimmory-tools/grimmory@v2.2.2...v2.2.3) (2026-03-20)

### Bug Fixes

* **build:** make frontend resources optional in test runs ([dfd7a19](grimmory-tools@dfd7a19))
* **build:** package frontend assets through Gradle resources ([c4b021f](grimmory-tools@c4b021f))

### Performance

* **ci:** speed up image builds and centralize cache writes ([d148a09](grimmory-tools@d148a09))

### Chores

* **deps:** bump actions/setup-node from 6.2.0 to 6.3.0 ([#1](grimmory-tools#1)) ([489ffb4](grimmory-tools@489ffb4))
* **deps:** bump docker/build-push-action from 6.19.2 to 7.0.0 ([#3](grimmory-tools#3)) ([cd6f37a](grimmory-tools@cd6f37a))
* **deps:** bump docker/login-action from 3.7.0 to 4.0.0 ([#6](grimmory-tools#6)) ([9373b50](grimmory-tools@9373b50))
* **deps:** bump docker/setup-buildx-action from 3.12.0 to 4.0.0 ([#2](grimmory-tools#2)) ([cc4efe5](grimmory-tools@cc4efe5))

### Documentation

* Add a note about how to make a release ([2b2e08b](grimmory-tools@2b2e08b))
* Adds a note for moving away from packaging everything in a jar ([2294a38](grimmory-tools@2294a38))
- Stable release orchestration:
  - stop relying on a bot-created tag push to trigger stable image publication
  - capture the semantic-release result directly in the main release workflow
  - invoke the stable image publisher as a reusable workflow with the computed tag and release commit SHA

- Stable publish workflow:
  - convert the publish workflow from a `push.tags` trigger to `workflow_call`
  - keep a `workflow_dispatch` entry point so existing tags can be published manually for recovery
  - remove the obsolete `v2.2.1` bootstrap skip and use the release bot token for release finalization when available

- Branch hygiene:
  - automatically cherry-pick the semantic-release changelog commit from `main` back onto `develop`
  - avoid merge commits while keeping `CHANGELOG.md` aligned across the release and integration branches
  - skip the backport if the target release commit is already present on `develop`

- Validation:
  - parse both workflow files successfully with `yq`
  - pass `git diff --check`
## [2.2.4](grimmory-tools/grimmory@v2.2.3...v2.2.4) (2026-03-20)

### Bug Fixes

* **release:** publish stable images via reusable workflow ([03f4a8e](grimmory-tools@03f4a8e))
## [2.2.5](grimmory-tools/grimmory@v2.2.4...v2.2.5) (2026-03-20)

### Bug Fixes

* **frontend:** fix user permissions checks to use optional chaining ([grimmory-tools#58](grimmory-tools#58)) ([5fc4773](grimmory-tools@5fc4773))
## [2.2.6](grimmory-tools/grimmory@v2.2.5...v2.2.6) (2026-03-20)

### Bug Fixes

* **bookservice:** fix of missing cover images by returning ByteArrayResource ([grimmory-tools#59](grimmory-tools#59)) ([b658a0a](grimmory-tools@b658a0a))
* chore(ui): drop support animation preferences

* chore(ui): drop unused github support dialog

* chore(ui): drop github support dialog
- stop publishing unit test results directly from the pull_request test jobs\n- upload the GitHub event payload from CI so a follow-up workflow can reuse the original PR context\n- add a workflow_run publisher that downloads backend/frontend test artifacts and posts the check runs and PR comments with the permissions Dependabot PRs require\n- keep the reusable test suite focused on executing tests and producing artifacts without failing on comment permissions
* build: pull kepubify & ffprobe during build

* refactor: use local ffprobe / kepubify
…ry-tools#73)

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.1 to 3.4.2.
- [Commits](WebReflection/flatted@v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- replace the invalid actions/download-artifact SHA in the workflow_run test-results publisher\n- restore the publisher workflow so it can download CI artifacts and post PR test results\n- keep the new workflow_run-based permissions model intact while fixing the setup-time action resolution failure
- 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
- Frontend translations:
  - rename the remaining `booklore`-named translation keys across the locale JSON files to `grimmory`
  - keep the translated values intact while aligning the key namespace with the Grimmory branding pass

- Angular lookups:
  - update the affected Transloco lookups in book menus, metadata views, user-management permissions, and KOReader settings
  - preserve existing compatibility-oriented API and state names that are not translation identifiers

- Notes:
  - this commit also normalizes JSON formatting across the touched locale files because the key rename was applied structurally
  - the resulting diff is much noisier than the logical change, but the intended behavior change is the translation-key rename itself
N00byKing and others added 24 commits March 22, 2026 19:22
…ooklore PR Port) (#16)

* fix(api): Correct format for fixed-layout epub when using Kobo Sync

* chore: Cleanup duplicate code

* feat: Cache fixed-layout property in db

* fix: Missing nullcheck in after retrieving BookFileEntity

* fix: Remove memory leak in EpubReaderService.java

* chore: Avoid opening the epub twice for fixed-layout extraction

* chore: Fix DB migration from rebase

---------

Co-authored-by: brios <127139797+balazs-szucs@users.noreply.github.com>
grimmory-tools#79)

* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#1)

Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#2)

Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0 (#3)

Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#6)

Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(archive): infer archive type via Magic Numbers instead of filename

* fix(archive): improve archive type detection and improve logging for cover image retrieval

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…unt (grimmory-tools#87)

* fix: fixed halves missing from series number in Hardcover metadata

* fix: use series primary books count
…ry-tools#117)

* refactor(frontend): migrate state to TanStack Query and signals

* fix(frontend): keep book cache in sync after patches
…hints to supported versions (grimmory-tools#76)

* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#1)

Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#2)

Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0 (#3)

Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#6)

Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs(security): update security policy with reporting guidelines and hints to supported versions

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…oring services (grimmory-tools#137)

* refactor(concurrency): improve thread management and locking in monitoring services

* chore: remove unnecessary comments
the kepubify / ffprobe binaries may be on disk but they're
in the "data" directory under `tools` rather than under the
current directory
… in the app (grimmory-tools#158)

Co-authored-by: Zack Yancey <yanceyz@proton.me>
…rimmory-tools#100)

* chore(build): migrate Gradle build scripts from Groovy to Kotlin DSL

* chore(docker): update Gradle build files to Kotlin DSL in Dockerfile
…tead of better fields like ISBN in Goodreads/Bookdrop (grimmory-tools#85)

* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#1)

Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#2)

Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0 (#3)

Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#6)

Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(metadata): fix metadata fetching relying for filename "first" instead of better fields like ISBN in Goodreads/Bookdrop

* perf(ci): speed up image builds and centralize cache writes

- Image builds:
  - pin frontend and backend Docker build stages to the build platform so multi-arch packaging can reuse architecture-independent work
  - add an Angular build cache mount and move dynamic version metadata to the end of the runtime stage so static layers stay reusable across tags
  - reduce image workflow checkout depth and keep preview builds on `linux/amd64` only to avoid unnecessary QEMU and history overhead

- Cache policy:
  - make CI packaging smoke builds consume the shared image cache without writing new BuildKit cache state
  - make normal preview builds consume shared GHA and registry caches without mutating the canonical cache
  - keep nightly and stable release builds as the workflows that refresh the shared image cache in both GHA and registry backends

- Preview override:
  - add a `refresh_shared_cache` input to the preview workflow for an explicit no-cache rebuild that repopulates the shared cache when maintainers need to bust and refresh it
  - keep the default preview behavior optimized for fast disposable builds rather than cache churn

- Validation:
  - keep workflow YAML parsing clean after the cache-policy changes
  - keep `git diff --check` clean for the touched Docker and workflow files

* docs: Add a note about how to make a release

* chore: remove unncesary comments

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Cox <james@imaj.es>
…nt of frontend lint issues (grimmory-tools#163)

* feat(lint): add Angular Lint Threshold workflow for CI integration

* Update workflow name for clarity in CI integration

* fix(lint): update LINT_THRESHOLD to 725 in CI checks

* Also run workflow on main branch

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(lint): simplify lint problem count calculation using jq

* feat(lint): enhance quality threshold checks and reporting in CI workflow

* refactor(lint): rename lint step for clarity in CI workflow

* fix(lint): swap lint warning and error thresholds for correct configuration

* fix(lint): update build warning threshold and correct log processing for accurate warning count

* refactor(lint): remove unnecessary working-directory specification for quality thresholds step

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…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 ([#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>
- Command surface:
  - add a root `Justfile` with namespaced `api`, `ui`, and `release` modules so humans and agents can use the same entrypoints from the repo root
  - add project-local Justfiles for `booklore-api`, `booklore-ui`, and `tools/release` so each area remains self-contained and can still be driven from inside its own directory
  - standardize local developer workflows around `just check`, `just test`, `just api run`, `just ui dev`, `just db-up`, and `just image-build`

- Workflow integration:
  - update the reusable test suite workflow to install `just` and run backend and frontend CI steps through the Justfiles instead of hardcoded shell commands
  - update the semantic-release workflows to install `just` and invoke release tooling via `just release install`, `just release preview`, and `just release run`
  - keep the Docker image publication workflows on the native Docker actions while moving the project-command logic into the canonical command surface

- Documentation:
  - split backend and frontend implementation guidance into `booklore-api/README.md`, `booklore-api/CONTRIBUTING.md`, `booklore-ui/README.md`, and `booklore-ui/CONTRIBUTING.md`
  - simplify the top-level `README.md` and `CONTRIBUTING.md` so they stay focused on overview, policy, and navigation while pointing to component-specific guides for deeper detail
  - align contributor-facing examples on the `just` interface instead of mixing ad hoc Gradle, npm, Docker, and Compose commands

- Developer environment:
  - add `mise.toml` to pin the expected Java and Node toolchain versions for local work
  - switch the development Compose defaults from the old Booklore database values to Grimmory-oriented defaults
  - keep the command layout ready for a future API/UI split without forcing that packaging change yet
- Issue intake:
  - rebrand the bug and feature request forms from Booklore to Grimmory
  - remove the old `[Bug]` and `[Feature]` title prefixes so issue titles can stay natural
  - default issue intake to `needs-triage` while relying on GitHub Issue Types for the primary classification

- New templates:
  - add a dedicated enhancement template for smaller quality-of-life and UX improvements
  - add a documentation template for doc fixes, missing guides, and confusing setup flows
  - add a performance template for runtime, UI, build, and operational performance problems

- Type alignment:
  - map the templates onto the repo's issue-type taxonomy with `Bug`, `Feature`, `Enhancement`, `Documentation`, and `Performance`
  - keep the larger feature template distinct from the smaller enhancement template so incoming requests are easier to triage
- Community links:
  - update the issue-template support link to use the canonical Grimmory Discord invite from `README.md`
  - update the contributing guide to point at the same Discord server

- Consistency:
  - remove the stale invite URL so issue intake, contributor docs, and the repository landing page all reference the same community link
- Community links:
  - replace the old Discord invite code with the new `9YJ7HB4n8T` invite in the repository README
  - update the contributor guide to point at the same server
  - align the issue-template support link with the same canonical invite

- Consistency:
  - keep the public docs and issue intake flow on a single Discord destination so users and contributors land in the right community space
- Agent workflow:
  - add a root `AGENTS.md` focused on agent execution rather than general contributor onboarding
  - document the expected command surface, branch target, and staged verification order
- Repo boundaries:
  - map the backend and frontend layout with the key source, resource, test, i18n, and asset paths
  - call out ownership boundaries for deploy, packaging, tools, docs, and shared assets
- Project rules:
  - capture backend and frontend conventions that agents should follow before editing or validating work
  - include repo-specific PR expectations such as linked issues, test output, and UI evidence
Bumps the npm-dependencies group in /booklore-ui with 28 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.4` | `21.2.5` |
| [@angular/cdk](https://github.com/angular/components) | `21.2.0` | `21.2.3` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.4` | `21.2.5` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.4` | `21.2.5` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.4` | `21.2.5` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.4` | `21.2.5` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.4` | `21.2.5` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.4` | `21.2.5` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.4` | `21.2.5` |
| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.4` | `21.2.5` |
| [@tanstack/angular-query-experimental](https://github.com/TanStack/query/tree/HEAD/packages/angular-query-experimental) | `5.90.26` | `5.95.2` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.2` | `3.3.3` |
| [ng2-charts](https://github.com/valor-software/ng2-charts) | `8.0.0` | `10.0.0` |
| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.1` | `21.1.3` |
| [uuid](https://github.com/uuidjs/uuid) | `11.1.0` | `13.0.0` |
| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.0` |
| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.3.0` | `2.3.1` |
| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.3.0` | `2.3.1` |
| [@angular/build](https://github.com/angular/angular-cli) | `21.2.0` | `21.2.3` |
| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.0` | `21.2.3` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.4` | `21.2.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.2` | `25.5.0` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.1` |
| [eslint](https://github.com/eslint/eslint) | `9.39.3` | `10.1.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.0.1` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.1` | `8.57.2` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.1` |


Updates `@angular/animations` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/animations)

Updates `@angular/cdk` from 21.2.0 to 21.2.3
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](angular/components@v21.2.0...v21.2.3)

Updates `@angular/common` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/common)

Updates `@angular/compiler` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/compiler)

Updates `@angular/core` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/core)

Updates `@angular/forms` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/forms)

Updates `@angular/platform-browser` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/platform-browser)

Updates `@angular/platform-browser-dynamic` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/platform-browser-dynamic)

Updates `@angular/router` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/router)

Updates `@angular/service-worker` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/service-worker)

Updates `@tanstack/angular-query-experimental` from 5.90.26 to 5.95.2
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/angular-query-experimental/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/angular-query-experimental@5.95.2/packages/angular-query-experimental)

Updates `dompurify` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.3.2...3.3.3)

Updates `ng2-charts` from 8.0.0 to 10.0.0
- [Release notes](https://github.com/valor-software/ng2-charts/releases)
- [Commits](valor-software/ng2-charts@v8.0.0...v10.0.0)

Updates `primeng` from 21.1.1 to 21.1.3
- [Release notes](https://github.com/primefaces/primeng/releases)
- [Changelog](https://github.com/primefaces/primeng/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primefaces/primeng/commits/21.1.3/packages/primeng)

Updates `uuid` from 11.1.0 to 13.0.0
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](uuidjs/uuid@v11.1.0...v13.0.0)

Updates `ws` from 8.19.0 to 8.20.0
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.19.0...8.20.0)

Updates `@analogjs/vite-plugin-angular` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/analogjs/analog/releases)
- [Changelog](https://github.com/analogjs/analog/blob/beta/CHANGELOG.md)
- [Commits](analogjs/analog@v2.3.0...v2.3.1)

Updates `@analogjs/vitest-angular` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/analogjs/analog/releases)
- [Changelog](https://github.com/analogjs/analog/blob/beta/CHANGELOG.md)
- [Commits](analogjs/analog@v2.3.0...v2.3.1)

Updates `@angular/build` from 21.2.0 to 21.2.3
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](angular/angular-cli@v21.2.0...v21.2.3)

Updates `@angular/cli` from 21.2.0 to 21.2.3
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](angular/angular-cli@v21.2.0...v21.2.3)

Updates `@angular/compiler-cli` from 21.2.4 to 21.2.5
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.5/packages/compiler-cli)

Updates `@types/node` from 25.3.2 to 25.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vitest/coverage-v8` from 4.0.18 to 4.1.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.1/packages/coverage-v8)

Updates `eslint` from 9.39.3 to 10.1.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.3...v10.1.0)

Updates `jsdom` from 28.1.0 to 29.0.1
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](jsdom/jsdom@v28.1.0...v29.0.1)

Updates `typescript` from 5.9.3 to 6.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v5.9.3...v6.0.2)

Updates `typescript-eslint` from 8.56.1 to 8.57.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/typescript-eslint)

Updates `vitest` from 4.0.18 to 4.1.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.1/packages/vitest)

---
updated-dependencies:
- dependency-name: "@angular/animations"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/cdk"
  dependency-version: 21.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/common"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/compiler"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/core"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/forms"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/platform-browser"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/router"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/service-worker"
  dependency-version: 21.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@tanstack/angular-query-experimental"
  dependency-version: 5.95.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
- dependency-name: dompurify
  dependency-version: 3.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: ng2-charts
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: npm-dependencies
- dependency-name: primeng
  dependency-version: 21.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: uuid
  dependency-version: 13.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: npm-dependencies
- dependency-name: ws
  dependency-version: 8.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
- dependency-name: "@analogjs/vite-plugin-angular"
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@analogjs/vitest-angular"
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/build"
  dependency-version: 21.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/cli"
  dependency-version: 21.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@angular/compiler-cli"
  dependency-version: 21.2.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-dependencies
- dependency-name: "@types/node"
  dependency-version: 25.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
- dependency-name: eslint
  dependency-version: 10.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: npm-dependencies
- dependency-name: jsdom
  dependency-version: 29.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: npm-dependencies
- dependency-name: typescript
  dependency-version: 6.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: npm-dependencies
- dependency-name: typescript-eslint
  dependency-version: 8.57.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
- dependency-name: vitest
  dependency-version: 4.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Mar 25, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, frontend. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

cdome pushed a commit that referenced this pull request Mar 25, 2026
grimmory-tools#79)

* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#1)

Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#2)

Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0 (#3)

Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#6)

Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(archive): infer archive type via Magic Numbers instead of filename

* fix(archive): improve archive type detection and improve logging for cover image retrieval

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cdome pushed a commit that referenced this pull request Mar 25, 2026
…tead of better fields like ISBN in Goodreads/Bookdrop (grimmory-tools#85)

* chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#1)

Dependabot couldn't find the original pull request head commit, ea510f4.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#2)

Dependabot couldn't find the original pull request head commit, faed6bf.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0 (#3)

Dependabot couldn't find the original pull request head commit, f110823.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#6)

Dependabot couldn't find the original pull request head commit, 9a8d7a1.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(metadata): fix metadata fetching relying for filename "first" instead of better fields like ISBN in Goodreads/Bookdrop

* perf(ci): speed up image builds and centralize cache writes

- Image builds:
  - pin frontend and backend Docker build stages to the build platform so multi-arch packaging can reuse architecture-independent work
  - add an Angular build cache mount and move dynamic version metadata to the end of the runtime stage so static layers stay reusable across tags
  - reduce image workflow checkout depth and keep preview builds on `linux/amd64` only to avoid unnecessary QEMU and history overhead

- Cache policy:
  - make CI packaging smoke builds consume the shared image cache without writing new BuildKit cache state
  - make normal preview builds consume shared GHA and registry caches without mutating the canonical cache
  - keep nightly and stable release builds as the workflows that refresh the shared image cache in both GHA and registry backends

- Preview override:
  - add a `refresh_shared_cache` input to the preview workflow for an explicit no-cache rebuild that repopulates the shared cache when maintainers need to bust and refresh it
  - keep the default preview behavior optimized for fast disposable builds rather than cache churn

- Validation:
  - keep workflow YAML parsing clean after the cache-policy changes
  - keep `git diff --check` clean for the touched Docker and workflow files

* docs: Add a note about how to make a release

* chore: remove unncesary comments

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Cox <james@imaj.es>
@dependabot @github

dependabot Bot commented on behalf of github Mar 25, 2026

Copy link
Copy Markdown
Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Mar 25, 2026
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/booklore-ui/npm-dependencies-d4c80561bb branch March 25, 2026 03:38
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.

10 participants