Skip to content

chore(deps): clear the open security advisories - #50

Merged
lewisjared merged 5 commits into
mainfrom
chore/dep-security-bumps
Aug 13, 2026
Merged

chore(deps): clear the open security advisories#50
lewisjared merged 5 commits into
mainfrom
chore/dep-security-bumps

Conversation

@lewisjared

@lewisjared lewisjared commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Clears the open high and critical Dependabot alerts across both halves of the repo.

  • Runs npm audit fix on the frontend, which clears the critical seroval advisory along with the other non-breaking ones.
  • Runs uv lock --upgrade on the backend, picking up pillow 12.3.0, cryptography 50.0.0, urllib3 2.7.0, starlette 1.6.0, mako 1.4.1 and python-multipart 0.0.32. Most of these are transitive through the climate-ref provider extras.
  • Bumps @hey-api/openapi-ts from 0.95 to 0.99 and regenerates the client SDK. frontend/openapi.json is unchanged and the generated public types are identical, so every delta under src/client comes from the codegen bump rather than a backend spec drift, and no application code needed touching.
  • Pins js-yaml to ^4.3.1 through a frontend/package.json override, because @hey-api/json-schema-ref-parser pins it at exactly 4.2.0 and openapi-ts 0.99 therefore still resolves a vulnerable copy. The override can go once upstream moves, and Renovate will not remove it on its own.

The lock bump is wider than the advisories strictly needed. It adds 35 new transitive packages and majors like cryptography 46 to 50, with no pyproject.toml change. Tests pass on it.

One low advisory is left unfixed: GHSA-g7r4-m6w7-qqqr, an arbitrary file read in the esbuild dev server on Windows. Clearing it needs an override above every declared consumer range, because vite 7.3.5 asks for esbuild ^0.27.0, and esbuild 0.x minors are breaking by convention. Not worth a semver-violating pin, because the only exposure is the dev server on Windows. Note that vite is not purely a dev dependency here, @tailwindcss/vite pulls it on a runtime path, so the advisory shows up under npm audit --omit=dev too. The affected code path is still only ever reached by the dev server. It will clear when vite moves.

Validation

  • Backend: 193 passed, 1 xfailed. pip-audit over uv export --all-extras reports no known vulnerabilities.
  • Frontend: 221 passed, tsc -b clean, vite build clean, npm audit down to the single low above.
  • pre-commit across all files: passed.

- Runs `npm audit fix` on the frontend, which clears the critical `seroval` advisory and the rest of the non-breaking ones.
- Runs `uv lock --upgrade` on the backend, picking up pillow 12.3.0, cryptography 50.0.0, urllib3 2.7.0, starlette 1.6.0, mako 1.4.1 and python-multipart 0.0.32.
- The remaining frontend advisories all sit under `@hey-api/openapi-ts`, a codegen dev dependency, and need a breaking major bump. Left for a separate change.
…isories

- Bumps `@hey-api/openapi-ts` from 0.95 to 0.99 and regenerates the client SDK. The generated public types are unchanged, so no application code needed touching.
- 0.99 still resolves a vulnerable `js-yaml`, so pins it to ^4.3.1 through an override.
- Pins `esbuild` to ^0.28.1 the same way, because vite 7.3.5 still resolves 0.27.7.
- `npm audit` now reports zero vulnerabilities.
@netlify

netlify Bot commented Aug 13, 2026

Copy link
Copy Markdown

Deploy Preview for climate-ref canceled.

Name Link
🔨 Latest commit 19807bb
🔍 Latest deploy log https://app.netlify.com/projects/climate-ref/deploys/6a7d39a13a26d800087870e9

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@lewisjared, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 87 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 119570a4-5b4b-4761-85fa-c190abb375e1

📥 Commits

Reviewing files that changed from the base of the PR and between b106eaf and 19807bb.

⛔ Files ignored due to path filters (2)
  • backend/uv.lock is excluded by !**/*.lock
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (22)
  • .pre-commit-config.yaml
  • backend/src/ref_backend/api/routes/datasets.py
  • backend/src/ref_backend/api/routes/diagnostics.py
  • backend/src/ref_backend/api/routes/executions.py
  • backend/src/ref_backend/core/reader_values.py
  • backend/tests/test_core/test_core_aft.py
  • changelog/50.trivial.md
  • frontend/package.json
  • frontend/src/client/@tanstack/react-query.gen.ts
  • frontend/src/client/client.gen.ts
  • frontend/src/client/client/client.gen.ts
  • frontend/src/client/client/index.ts
  • frontend/src/client/client/types.gen.ts
  • frontend/src/client/client/utils.gen.ts
  • frontend/src/client/core/auth.gen.ts
  • frontend/src/client/core/params.gen.ts
  • frontend/src/client/core/pathSerializer.gen.ts
  • frontend/src/client/core/queryKeySerializer.gen.ts
  • frontend/src/client/core/serverSentEvents.gen.ts
  • frontend/src/client/core/types.gen.ts
  • frontend/src/client/core/utils.gen.ts
  • frontend/src/client/sdk.gen.ts

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.

- Removes the `esbuild` override. It pinned above every declared consumer range to clear a low, dev-server-only, Windows-only advisory, which is outside the scope of this change.
- Puts the changelog fragment in the past tense, as changelog/README.md asks for.
@lewisjared
lewisjared marked this pull request as ready for review August 13, 2026 03:23
- ruff 0.16 promoted PLR0917 (too many positional arguments) out of preview, and the repo selects the whole `PL` group, so the lock bump turned it on. Every site it flags already carries a deliberate PLR0913 suppression, and none of them are ever called positionally, so the existing suppressions are extended rather than the rule being switched off repo-wide.
- Moves the ruff pre-commit hook from v0.12.2 to v0.16.2 to match the locked version CI runs. The old hook did not know PLR0917, so it stripped the new codes back out as unused. That gap is why the failure only showed up in CI.
@lewisjared
lewisjared merged commit 9b2801e into main Aug 13, 2026
9 checks passed
@lewisjared
lewisjared deleted the chore/dep-security-bumps branch August 13, 2026 03:45
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