Skip to content

chore(deps): consolidate dependabot updates - #1510

Merged
wcchang1115 merged 1 commit into
mainfrom
chore/dependabot-20260819-100527
Aug 19, 2026
Merged

wcchang1115 merged 1 commit into
mainfrom
chore/dependabot-20260819-100527

Conversation

@kentwelcome

@kentwelcome kentwelcome commented Aug 19, 2026

Copy link
Copy Markdown
Member

Summary

Consolidates the open Dependabot PRs into a single tested update, and clears
7 of the 11 open Dependabot security alerts on main (6 high, 1 moderate).

#1509 (sqlparse 0.5.5 → 0.6.0) is deliberately NOT closed. dbt-core pins
sqlparse<0.6.0, so 0.6.0 is unreachable; that PR only gets there by replacing
dbt-core 1.12.0 with the 2.0.0b1 pre-release. See Deferred below — the
4 sqlparse alerts are real and this PR should stay open as the tracking item.

Security alerts resolved

Package From To Alerts cleared
GitPython 3.1.57 3.1.59 6GHSA-4gmw-gg2m-w46p, GHSA-9rj7-rf2p-w77r, GHSA-hmq2-w58f-27jc, GHSA-jm78-9fvv-mhgr, GHSA-wvpp-8hx9-p66j (high), GHSA-hh9p-6wh2-4mfc (moderate). Fixed in 3.1.58; the resolver picked 3.1.59, which supersedes it.
nanoid 3.3.16 3.3.18 1GHSA-2v37-7h3g-55p8 (high), infinite loop in custom generators at size zero. Transitive; picked up incidentally by the install + dedupe, not requested by any Dependabot PR.

Remaining open after this PR: the 4 sqlparse alerts (see Deferred).

Note on tooling: pnpm audit reports clean on this branch because the tree is
already at the fixed nanoid. The 11-alert count is GitHub's, measured against
main. Neither number is wrong; they describe different trees.

Dependabot-driven changes

Package From To Ecosystem Security
@codemirror/view 6.43.7 6.43.9 npm
@mui/material 9.2.0 9.3.1 npm
@mui/system 9.2.0 9.3.0 npm
@sentry/nextjs 10.69.0 10.70.0 npm
@sentry/react 10.69.0 10.70.0 npm
@zumer/snapdom 2.23.2 2.24.1 npm
ag-grid-community 36.0.2 36.1.0 npm
ag-grid-react 36.0.2 36.1.0 npm
posthog-js 1.410.9 1.415.1 npm
@testing-library/jest-dom 7.0.0 7.0.1 npm
@types/node 26.1.2 26.2.0 npm
baseline-browser-mapping 2.11.12 2.11.15 npm
postcss 8.5.25 8.5.26 npm
read-excel-file 9.3.5 9.3.10 npm
vite 8.2.0 8.2.1 npm
storybook + @storybook/{addon-docs,addon-vitest,react,react-vite} 10.5.6 10.5.8 npm
gitpython 3.1.57 3.1.59 uv 6 advisories (see above)
nanoid (transitive) 3.3.16 3.3.18 npm 1 advisory (see above)

@datarecce/ui impact

No consumer-facing dependency changes. Dependabot proposed raising seven
@datarecce/ui dependencies floors; none is required by an API change,
security fix, or bug in the old version, so all were held:

Package Dependabot wanted Kept at
@mui/material ^9.3.1 ^9.0.0
@mui/system ^9.3.0 ^9.0.0
ag-grid-community ^36.1.0 ^36.0.1
ag-grid-react ^36.1.0 ^36.0.1
posthog-js ^1.415.1 ^1.410.9
@codemirror/view ^6.43.8 ^6.43.7
@zumer/snapdom ^2.24.1 ^2.23.2

Raising @mui/material from ^9.0.0 to ^9.3.1 would have forced every npm
consumer off MUI 9.0–9.2. Only the monorepo-only devDependencies (postcss,
read-excel-file) moved in packages/ui. All seven floors were queried against
the npm advisory API at their minimum satisfying version — no advisories, so
holding them leaves consumers no known-vulnerable floor.

Reviewer notes — two non-obvious things

  1. pnpm-workspace.yaml is in the diff. @testing-library/jest-dom is
    pinned exactly (7.0.0) in overrides:, which outranks the manifests, so
    Dependabot's own PR would have bumped package.json to 7.0.1 with no effect.
    The override was raised to 7.0.1 to make the update real. Seven other packages
    in this group (@mui/*, ag-grid-*, posthog-js, postcss, vite) are
    also override-governed, but with ranges that already permitted the targets —
    they needed pnpm update, not an override edit.
  2. pnpm dedupe ran. Holding the @datarecce/ui floors low left duplicate
    copies (@codemirror/view at both 6.43.7 and 6.43.9, @sentry/react at
    10.69.0 and 10.70.0, @zumer/snapdom at 2.23.2 and 2.24.1). pnpm dedupe
    collapsed them to the single newer version without touching any manifest,
    removing 34 packages. Floors stay low, the tree stays single-version.

Security review

No high-confidence findings beyond the alerts resolved above. CI=true pnpm install --frozen-lockfile passes (strictDepBuilds satisfied, no allowBuilds
placeholder lines appended); none of the deliberate CVE-mitigation overrides
(brace-expansion, js-yaml, minimatch, picomatch, xmldom, ws,
fast-uri, serialize-javascript) was touched; every new lockfile entry carries
a sha512 integrity and no registry changed. Both telemetry SDKs were checked for
new data-capture defaults in range — Sentry 10.69→10.70 is a single hono fix and
posthog 1.411–1.415 changes no defaults.

Audit-driven recommendations

Advisory only — nothing below is applied in this PR.

Recommended to bundle

Package Ecosystem Current Latest Bump Notes
jaraco-context uv 6.0.1 6.1.0 minor (security) GHSA-58pv-8j8x-9vj2 / PYSEC-2026-1469, HIGH, Zip Slip in jaraco.context.tarball(). Not in GitHub's alert list. Transitive via twine → keyring, so dev-tooling only, not shipped at runtime. One-command fix: uv lock --upgrade-package jaraco-context.
storybook + @storybook/{addon-docs,addon-vitest,react,react-vite} npm 10.5.8 10.5.9 patch family — ships together
vitest + @vitest/{coverage-v8,browser-playwright} npm 4.1.10 4.1.11 patch family
next + @next/third-parties npm 16.3.0 16.3.1 patch family, both exact-pinned
@amplitude/analytics-core npm 2.54.1 2.54.2 patch
@amplitude/unified npm 1.1.28 1.1.29 patch exact-pinned
@testing-library/user-event npm 14.6.3 14.6.5 patch exact-pinned
@xyflow/react npm 12.11.2 12.11.3 patch
@zumer/snapdom npm 2.24.1 2.24.3 patch
globals npm 17.9.0 17.11.0 minor

That is 16 packages — right at the 15-package bundle cap, so splitting the
storybook family into its own PR is reasonable.

Recommended separate PRs

Item Current Latest Bump Action
GitHub Actions — not covered by Dependabot at all major .github/dependabot.yml configures only pip and npm. There is no github-actions ecosystem, so action versions have never been updated automatically. Add the ecosystem, then bump in one PR.
actions/checkout v4 (19 uses) v7 major one workflow already uses @v6 — inconsistent today
actions/download-artifact v4 v8 major
actions/upload-artifact v4 v7 major
actions/setup-python v5 v7 major
actions/cache v4 v6 major
actions/create-github-app-token v2 v3 major
astral-sh/setup-uv v4 (15 uses) v10 major six majors behind
codecov/codecov-action v5 v7 major
getsentry/action-release v1 v3 major
stefanzweifel/git-auto-commit-action v4 v7 major
@biomejs/biome 2.5.7 2.5.9 patch Not bundleable. js/.husky/pre-commit pins the biome version and aborts the commit on a change until it is deliberately acknowledged (DRC-3460). Needs its own PR following the hook's printed steps.

Deferred

Item Reason
sqlparse 0.5.5 → 0.6.0 (#1509) 4 open alerts (GHSA-prg7-hcfm-mfcr, GHSA-f2ff-p2ww-7p4p, GHSA-pwgv-4x5q-6m9f high; GHSA-3496-9g83-7v6x moderate — DoS and codegen-escaping). Blocked: dbt-core pins sqlparse<0.6.0. Reaching 0.6.0 today requires dbt-core 2.0.0b1. Recce never imports sqlparse; the parsing path belongs to dbt-core and the input is the user's own dbt project, not attacker-controlled. Revisit when a stable dbt-core relaxes the pin.
posthog-js 1.415.1 → 1.418.1 Just bumped to 1.415.1 here; 1.418.1 is days old — defer one cycle.
@dagrejs/dagre 3.1.0 → 3.1.1 User-configured ignore in .github/dependabot.yml ("Pinned: breaking layout changes in v2") — skipping.
Python dependency floors in pyproject.toml 17 floors lag PyPI (e.g. posthog>=3.0.0 vs 7.39.1, rich>=12.0.0 vs 15.0.0, click>=7.1 vs 8.4.2). Do not bulk-raise these. recce is published to PyPI, so its dependencies floors are a consumer contract in exactly the way @datarecce/ui's are. The generic audit advice ("raise floors to document reality") applies to applications, not published libraries. Raise a floor only when recce's code needs the newer API.

Test plan

  • pnpm lint — 672 files, no errors
  • pnpm type:check — all three projects
  • pnpm test — 4020 passed, 5 skipped (191 files)
  • pnpm run build — succeeds
  • CI=true pnpm install --frozen-lockfile — CI parity, strictDepBuilds satisfied
  • make flake8 — clean
  • pytest tests/ — 1589 passed, 5 skipped
  • Manual verification (not needed — no source changes)

Generated with Claude Code

npm (all-minor-patch group, #1507):
- @codemirror/view: 6.43.7 -> 6.43.9
- @mui/material: 9.2.0 -> 9.3.1
- @mui/system: 9.2.0 -> 9.3.0
- @sentry/nextjs: 10.69.0 -> 10.70.0
- @sentry/react: 10.69.0 -> 10.70.0
- @zumer/snapdom: 2.23.2 -> 2.24.1
- ag-grid-community: 36.0.2 -> 36.1.0
- ag-grid-react: 36.0.2 -> 36.1.0
- posthog-js: 1.410.9 -> 1.415.1
- @testing-library/jest-dom: 7.0.0 -> 7.0.1
- @types/node: 26.1.2 -> 26.2.0
- baseline-browser-mapping: 2.11.12 -> 2.11.15
- postcss: 8.5.25 -> 8.5.26
- read-excel-file: 9.3.5 -> 9.3.10
- vite: 8.2.0 -> 8.2.1
- storybook + @storybook/{addon-docs,addon-vitest,react,react-vite}: 10.5.6 -> 10.5.8

Python (#1502):
- gitpython: 3.1.57 -> 3.1.59 (supersedes the 3.1.58 target; security hardening)

@datarecce/ui dependency floors unchanged - no consumer-facing dependency
changes. @mui/material, @mui/system, ag-grid-community, ag-grid-react and
posthog-js floors stay at their published values; none of the bumps is
required by an API change, security fix, or bug. Only the monorepo-only
devDependencies (postcss, read-excel-file) moved there.

@testing-library/jest-dom is pinned exactly in pnpm-workspace.yaml
overrides, so the override was raised to 7.0.1 for the manifest bump to
take effect. pnpm dedupe collapsed the duplicate copies the held ui
floors would otherwise have created (-34 packages).

Not applied: sqlparse 0.5.5 -> 0.6.0 (#1509). dbt-core pins
sqlparse<0.6.0, and that PR reaches 0.6.0 only by replacing dbt-core
1.12.0 with the 2.0.0b1 pre-release. Left open deliberately.

Refs: #1507, #1502, #1509

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Kent Huang <kent@infuseai.io>
Copilot AI lite review requested due to automatic review settings August 19, 2026 02:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR consolidates multiple open Dependabot updates into a single dependency refresh across the Python (uv) and JavaScript (pnpm) parts of the Recce monorepo, primarily updating lockfiles/manifests without introducing source-code behavior changes.

Changes:

  • Updated Python locked dependency gitpython to 3.1.59 in uv.lock.
  • Updated pnpm workspace override for @testing-library/jest-dom to 7.0.1 and refreshed js/pnpm-lock.yaml to reflect the resolved dependency graph.
  • Bumped selected JS dependencies/devDependencies in workspace manifests (root js/, packages/ui, packages/storybook) to align with the consolidated update set.

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
uv.lock Updates the uv-resolved Python dependency set, including gitpython → 3.1.59.
js/pnpm-workspace.yaml Updates an override pin (@testing-library/jest-dom) so the bump is effective across the workspace.
js/pnpm-lock.yaml Captures the resulting pnpm resolution changes for the updated dependency set.
js/packages/ui/package.json Updates postcss and read-excel-file devDependencies in the UI workspace package.
js/packages/storybook/package.json Updates Storybook-family packages and @testing-library/jest-dom to match the consolidated update set.
js/package.json Updates root frontend dependencies/devDependencies (MUI, Sentry, ag-grid, posthog, etc.) to the intended newer versions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@wcchang1115 wcchang1115 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

local build and local run pass.
Thanks!

@wcchang1115
wcchang1115 merged commit 09b5e65 into main Aug 19, 2026
20 checks passed
@wcchang1115
wcchang1115 deleted the chore/dependabot-20260819-100527 branch August 19, 2026 02:34
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.

3 participants