General: Bump client and server dependencies to latest stable versions - #2573
General: Bump client and server dependencies to latest stable versions#2573az108 wants to merge 9 commits into
General: Bump client and server dependencies to latest stable versions#2573Conversation
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
… vulnerabilities The root `overrides` block in package.json has been silently ignored since pnpm 10 (the field must live in pnpm-workspace.yaml). Moving it restores every pinned override (cookie, express, esbuild, lodash, undici, webpack, ws, ...) and lets us patch the remaining advisories: - vite pinned to 8.0.5 (fixes 3 advisories: server.fs.deny bypass, dev-server WebSocket file read, optimized-deps path traversal) - postcss pinned to 8.5.15 (fixes XSS in CSS stringify) - qs override bumped from 6.15.0 to 6.15.2 (fixes DoS) - quill reverted from 2.0.3 to 2.0.2 (2.0.3 is the only affected version of the XSS-via-HTML-export advisory; no patched release yet) - @oxc-project/runtime added as a devDep so vite 8.0.5+ can resolve the helpers it injects into transformed sources Brings `pnpm audit` from 12 vulnerabilities (4 high, 7 moderate, 1 low) down to 4 (2 high, 2 moderate), all of them transitive lodash advisories from `prettier-plugin-java > java-parser`. Lodash has no patched release (>=4.17.24) on npm yet, so the override is already pinned at the highest available version (4.17.23) and the remaining advisories are unfixable upstream; the affected code path is a dev-only Java formatter, never shipped to production. Also drops the stale `pnpm.onlyBuiltDependencies` block from package.json (also ignored since pnpm 10; the equivalent `allowBuilds` config already lives in pnpm-workspace.yaml). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI builds started failing with a 403 from Maven Central when resolving liquibase-core 5.0.3. The artifact is published, but the runner's Maven Central edge could not fetch it. Reverting unblocks CI; Renovate will pick the bump back up once Central is healthy in the runner's region. The liquibase Gradle plugin stays on 3.1.0 — it works against 5.0.2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… scan The Lighthouse Applicant scan started failing with `TypeError: Failed to fetch` on the browser-side call to `/api/auth/login` inside lighthouse-auth.js (the Professor scan, which uses the Keycloak login form rather than the server login endpoint, still passes). No `/api/auth/login` entry appears in the server log, so the fetch is being aborted before the request leaves the browser — consistent with the page navigating away mid-flight. The most likely triggers from this PR are vite 8.0.5 (which switched the default transformer to Oxc and changed dev-server behaviour) and the keycloak-js 26.2.2 → 26.2.4 bump (which could alter SSO redirect timing). Reverting both is the smallest change that gets Lighthouse green again. Net effect on `pnpm audit`: re-adds the three dev-only vite advisories (server.fs.deny bypass, WebSocket file read, optimized-deps path traversal). All are dev-server only and not exposed in CI/prod, so the security exposure is negligible. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
|
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
|
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
|
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
|
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
Cathy0123456789
left a comment
There was a problem hiding this comment.
Could you please check the Codacy errors, it seems like the versions are vulnerable, maybe we can directly bump them up?
…findings Resolve the flagged insecure-dependency issues by upgrading to the latest patched releases: - Angular framework 21.2.14 -> 21.2.18 (fixes the reported core/common/ compiler XSS, DoS, hydration and cache-poisoning CVEs) - @angular/build, @angular/cli -> 21.2.19; compiler-cli, language-service -> 21.2.18; @angular/cdk -> 21.2.14 to keep the toolchain in sync - esbuild 0.27.7 -> 0.28.1 (dev-server arbitrary file read) - lodash / lodash-es override 4.17.23 -> 4.18.0 (code execution via template imports, prototype pollution) Verified with a clean production-config build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolve conflicts in package.json and pnpm-lock.yaml. package.json conflicted on a single region where both sides changed adjacent lines: this branch bumped @primeuix/utils to 0.7.2, while main added chart.js as a new dependency. Kept both. Taking either side wholesale would have been wrong - "ours" drops chart.js, which the line-chart component added in main needs as a peer of PrimeNG's UIChart, breaking the usage analytics charts at runtime. pnpm-lock.yaml was regenerated rather than merged by hand: the branch's lock was taken as the base to preserve its bumps, then reconciled against the resolved manifests with pnpm install --lockfile-only. pnpm install --frozen-lockfile now reports the lockfile as up to date, which is the gate CI runs. Verified on the merged tree: dependency sets match main exactly (no package dropped, only versions differ), client typecheck, 2007 client tests, client production build, 784 server tests, eslint (0 errors), a11y lint and prettier all pass. Co-Authored-By: Claude <noreply@anthropic.com>

Checklist
General
Motivation and Context
Renovate has not been opening PRs for the past weeks, so dependencies have drifted behind upstream. This bumps the npm packages on the client and the Gradle dependencies on the server to the latest stable releases that are compatible with the current Angular 21 / Spring Boot 4 stack.
Description
Client (
package.json)@angular/cdk,@angular/build,@angular/cli)@angular-eslint/*,angular-eslint21.3.0 → 21.4.0primeng21.1.3 → 21.1.8,@primeuix/utils0.7.1 → 0.7.2ngx-quill30.0.1 → 30.1.3,quill2.0.2 → 2.0.3keycloak-js26.2.2 → 26.2.4,intl-messageformat11.2.4 → 11.2.7vitest/@vitest/coverage-istanbul4.1.0 → 4.1.7tailwindcss/@tailwindcss/postcss4.2.1 → 4.3.0prettier3.8.1 → 3.8.3postcss,autoprefixer,rollup,jsdom,globals,folder-hash,swagger-ui-dist,@types/node(within v24): minor/patch bumpspackageManagerpnpm 11.1.1 → 11.2.2 (also reflected ingradle.properties)The following were intentionally left at their current versions because they break the build:
typescriptstays at 5.9.3 — Angular 21 (@angular/build) only supports>=5.9 <6.0.eslint/@eslint/jsstay on 9.x —eslint-plugin-importdoes not yet declare support for ESLint 10.@types/nodestays in v24 to match theengines.noderequirement.vitestays at 8.0.0 andesbuildat 0.27.7 — vite 8.0.14 hits a regression in the bundled oxc parser when transformingasync function ...(): Promise<void>signatures inside the Vitest pipeline.@analogjs/vite-plugin-angular/@analogjs/vitest-angularstay at 2.3.1 — 2.5.x triggers the same oxc parser failure.@typescript-eslint/*/typescript-eslintstay at 8.57.0 — 8.59 tightensno-unnecessary-type-assertionenough that--fixstrips assertions Angular's compiler still needs.prettier-plugin-javastays at 2.8.1 — 2.9.x reformats 44 unrelated Java files, which would balloon this PR.These are each worth a follow-up PR once upstream catches up.
Server (
gradle.properties)springBoot4.0.4 → 4.0.6 (pulls Spring Security 7.0.4 → 7.0.5, Hibernate, Tomcat, etc.)jacksonBom3.1.0 → 3.1.3lombok1.18.44 → 1.18.46archunitJunit51.4.1 → 1.4.2junit6.0.3 → 6.1.0jacksonDatabindNullable0.2.9 → 0.2.10mysql9.6.0 → 9.7.0caffeine3.2.3 → 3.2.4springdoc3.0.2 → 3.0.3jaxbRuntime4.0.7 → 4.0.8jsoup1.22.1 → 1.22.2itext6.3.1 → 6.3.2poi5.4.1 → 5.5.1keycloak26.0.8 → 26.0.9liquibase5.0.2 → 5.0.3, Liquibase Gradle plugin 3.0.2 → 3.1.0mockito5.22.0 → 5.23.0dependencyUpdatesplugin 0.53.0 → 0.54.0Skipped:
springAistays on2.0.0-M4— newer M7 is still a milestone, not stable.gitPropertiesplugin stays at 2.5.3 — 3.0.x is a major bump that warrants its own PR.openapi-generatorstays at 7.20.0 — the localopenapi-generator-angular21subproject is tightly coupled to this version and a bump should be evaluated separately.All exact versions are pinned (no
^), in line with the project's convention.Steps for Testing
Prerequisites:
pnpm installfollowed by./gradlew clean buildto make sure both ecosystems resolve cleanly.Local verification done before pushing:
pnpm lint— 0 errors, 169 pre-existing warnings (unchanged)pnpm test— full Vitest suite passes with coverage above the configured thresholdspnpm webapp:build— production Angular build succeedspnpm prettier:check— clean./gradlew compileJava compileTestJava— cleanReview Progress
Code Review