Skip to content

chore: resolve open dependabot security alerts - #1446

Merged
toddbaert merged 4 commits into
mainfrom
chore/dependabot-alerts
Aug 12, 2026
Merged

chore: resolve open dependabot security alerts#1446
toddbaert merged 4 commits into
mainfrom
chore/dependabot-alerts

Conversation

@jonathannorris

Copy link
Copy Markdown
Member

Summary

  • Resolved 14 open Dependabot security alerts by bumping vulnerable dependencies (lockfile-only bumps within existing semver ranges where possible, scoped npm overrides only where a vulnerable transitive version was pinned by a parent with no direct upgrade path)

Dependabot Alerts Resolved

Alert Package Severity Fix
#264 undici high Override ^7.29.0 scoped to @angular/build
#263 undici high Override ^7.29.0 scoped to @angular/build
#262 undici high Override ^7.29.0 scoped to @angular/build
#261 undici high Override ^7.29.0 scoped to @angular/build
#260 undici high Override ^7.29.0 scoped to @angular/build
#232 @hono/node-server high Override ^2.1.0 scoped to @modelcontextprotocol/sdk
#179 uuid high Override ^11.1.1 scoped to @cucumber/messages and jest-cucumber
n/a ip-address moderate Lockfile bump to 10.4.0
n/a js-yaml moderate Lockfile bump to 4.3.1 (eslint copy)
n/a postcss moderate Lockfile bump to 8.5.25
n/a @angular/* moderate Bumped @angular/core, @angular/common, @angular/compiler, @angular/compiler-cli, @angular/animations, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic, @angular/router to 21.2.19

Notes on the @hono/node-server override: version 2.0.5-2.0.9 carry a separate known memory-leak DoS advisory (GHSA-9mqv-5hh9-4cgg), so the override target was set to ^2.1.0 rather than the minimum patched version.

Verification

  • npm ci succeeds cleanly from a fresh install
  • npm run build passes
  • npm run test:jest passes (35/35 suites, 612/612 tests)
  • npm run test:angular passes (3/3 suites, 45/45 tests)
  • npm audit shows only pre-existing findings unrelated to the 14 resolved alerts

- undici -> 7.29.0 via override on @angular/build (high, alerts #264,263,262,261,260)
- @hono/node-server -> 2.1.0 via override on @modelcontextprotocol/sdk (high, alert #232)
- uuid -> 11.1.1 via override on @cucumber/messages and jest-cucumber (high, alert #179)
- ip-address -> 10.4.0 (moderate, alerts covering transitive resolution)
- js-yaml -> 4.3.1 (eslint dependency, moderate)
- postcss -> 8.5.25 (moderate)
- @angular/core, @angular/common, @angular/compiler, @angular/compiler-cli, @angular/animations, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic, @angular/router -> 21.2.19 (moderate)

Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c3ccf652-7525-4ecf-aa0c-de4e0442cdc7

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f0f7d04f-c496-47be-b511-92b77328bde1

📥 Commits

Reviewing files that changed from the base of the PR and between 3ba27ac and b7b6be6.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

📝 Walkthrough

Walkthrough

This PR adds @angular/compiler and updates Angular framework and SDK dependencies to ^21.2.19. The Angular SDK dependency entries are reordered.

Changes

Angular dependency management

Layer / File(s) Summary
Angular dependency version updates
package.json, packages/angular/package.json, packages/angular/projects/angular-sdk/package.json
Adds @angular/compiler and updates Angular framework and SDK dependencies to ^21.2.19. Reorders the Angular SDK dependency entries.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

Suggested reviewers: toddbaert

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the dependency updates as security-alert remediation, which matches the pull request objectives.
Description check ✅ Passed The description directly explains the dependency updates, resolved alerts, retained scope, and verification results.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@jonathannorris
jonathannorris marked this pull request as ready for review August 4, 2026 14:12
@jonathannorris
jonathannorris requested review from a team as code owners August 4, 2026 14:12

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/angular/package.json`:
- Around line 24-34: Update `@angular/common`, `@angular/compiler`,
`@angular/compiler-cli`, and `@angular/core` in packages/angular/package.json to
^21.2.19, then refresh the lockfile so the Angular dependency graph is aligned.
Also verify the sibling entries in
packages/angular/projects/angular-sdk/package.json at lines 28-31; no direct
change is needed there unless the lockfile refresh requires it.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 81ae27f7-ef7f-46cc-9a36-4728ace7119a

📥 Commits

Reviewing files that changed from the base of the PR and between 78964f7 and 8ec5055.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • package.json
  • packages/angular/package.json
  • packages/angular/projects/angular-sdk/package.json

Comment on lines +24 to +34
"@angular/animations": "^21.2.19",
"@angular/build": "^21.2.19",
"@angular/cli": "^21.2.19",
"@angular/common": "^21.2.17",
"@angular/compiler": "^21.2.17",
"@angular/compiler-cli": "^21.2.17",
"@angular/core": "^21.2.17",
"@angular/forms": "^21.2.17",
"@angular/platform-browser": "^21.2.17",
"@angular/platform-browser-dynamic": "^21.2.17",
"@angular/router": "^21.2.17",
"@angular/forms": "^21.2.19",
"@angular/platform-browser": "^21.2.19",
"@angular/platform-browser-dynamic": "^21.2.19",
"@angular/router": "^21.2.19",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Relevant package.json version entries:\n'
for f in packages/angular/package.json packages/angular/projects/angular-sdk/package.json; do
  echo "--- $f"
  python3 - <<'PY' "$f"
import json, sys
p=sys.argv[1]
with open(p) as fh:
    data=json.load(fh)
for sec in ('dependencies','devDependencies','peerDependencies','overrides','resolutions'):
    deps=data.get(sec)
    if deps:
        print(f'[{sec}]')
        for k,v in sorted(deps.items()):
            if k.startswith('`@angular/`'):
                print(f'{k}: {v}')
PY
done

printf '\nAll Angular package declaration sites:\n'
rg -n '"`@angular/`(animations|build|cli|common|compiler|compiler-cli|core|forms|platform-browser|platform-browser-dynamic|router|openfeature)"\s*:' -S .

Repository: open-feature/js-sdk

Length of output: 5191


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Angular package lock/installer files present:\n'
git ls-files | rg '(^|/)(package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb|bun\.lock)$|packages/angular/(package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb|bun\.lock)$' || true

printf '\nLockfile Angular version entries (top-level occurrences if present):\n'
for lock in package-lock.json pnpm-lock.yaml yarn.lock bun.lock; do
  if [ -f "$lock" ]; then
    echo "--- $lock"
    rg -n '`@angular/`(common|compiler|compiler-cli|core|form|platform-browser|router|animations|build|cli)',max-count=80 "$lock" || true
  fi
done

Repository: open-feature/js-sdk

Length of output: 313


Align Angular package versions to ^21.2.19. packages/angular/package.json still pins @angular/common, @angular/compiler, @angular/compiler-cli, and @angular/core to ^21.2.17, while sibling Angular packages in this package and the SDK dependency entries use ^21.2.19. Update those four ranges to ^21.2.19 and refresh the lockfile to keep the Angular graph aligned.

📍 Affects 2 files
  • packages/angular/package.json#L24-L34 (this comment)
  • packages/angular/projects/angular-sdk/package.json#L28-L31
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/angular/package.json` around lines 24 - 34, Update `@angular/common`,
`@angular/compiler`, `@angular/compiler-cli`, and `@angular/core` in
packages/angular/package.json to ^21.2.19, then refresh the lockfile so the
Angular dependency graph is aligned. Also verify the sibling entries in
packages/angular/projects/angular-sdk/package.json at lines 28-31; no direct
change is needed there unless the lockfile refresh requires it.

jonathannorris and others added 2 commits August 10, 2026 14:47
- hono 4.12.32 -> 4.13.1 (patched 4.12.34, alerts #269, #270, #271)
- fast-uri 3.1.4 -> 3.1.5 (patched 3.1.5, alert #268)
- add @angular/compiler as explicit root devDependency so it hoists
  alongside @angular/core, fixing 'Cannot find package @angular/compiler'
  failures in build-test CI caused by npm's workspace hoisting decision
  for the 21.2.19 Angular peer graph

Signed-off-by: Jonathan Norris <jonathan.norris@dynatrace.com>
The overrides were load-bearing: @angular/build exact-pins undici 7.28.0,
@angular/cli->mcp-sdk pins @hono/node-server ^1.19.9, and jest-cucumber pins
uuid ^10, so no parent-bump path exists without an Angular 22 major. All three
are build/test tooling, not in any published @openfeature/* runtime surface,
so dismiss them in Dependabot as not-in-production-path rather than carrying
overrides that a fresh npm install silently reverts. Keeps the legit in-range
bumps (ip-address, js-yaml, postcss, @angular 21.2.19).
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
@toddbaert
toddbaert merged commit 0f47863 into main Aug 12, 2026
12 checks passed
@toddbaert
toddbaert deleted the chore/dependabot-alerts branch August 12, 2026 20: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.

2 participants