Skip to content

fix: bump vulnerable dependencies - #855

Merged
nabinchha merged 2 commits into
mainfrom
codex/address-dt-nspect-vulnerabilities
Aug 10, 2026
Merged

fix: bump vulnerable dependencies#855
nabinchha merged 2 commits into
mainfrom
codex/address-dt-nspect-vulnerabilities

Conversation

@nabinchha

Copy link
Copy Markdown
Contributor

📋 Summary

Raises the minimum and locked versions of packages identified by the August 3 security scan so supported environments no longer resolve the vulnerable releases. Bleach remains at 6.4.0 because the scan lists no patched release and nbconvert still requires it.

🔗 Related Issue

N/A

🔄 Changes

  • Require MCP 1.29.0 or newer in data-designer-engine.
  • Require aiohttp 3.14.3, setuptools 83.0.0, and Soup Sieve 2.9.1 or newer in notebook environments.
  • Apply the aiohttp 3.14.3 minimum to the isolated E2E environment.
  • Regenerate uv.lock with aiohttp 3.14.3, MCP 1.29.0, setuptools 83.0.0, and Soup Sieve 2.9.2.
  • Preserve the documented Bleach exception until nbconvert removes the dependency or a patched release becomes available.

🧪 Testing

  • uv lock --check passes
  • 124 targeted MCP compatibility tests pass
  • make check-all passes
  • Unit tests added/updated (N/A — dependency-only change)
  • E2E tests added/updated (N/A — constraint-only change)

✅ Checklist

  • Follows commit message conventions
  • Commits are signed off (DCO)
  • Architecture docs updated (N/A — no architecture change)

Raise the minimum and locked versions for aiohttp, MCP, setuptools,
and Soup Sieve to releases recommended by the security scan.

Keep the documented Bleach exception because nbconvert still requires it
and no patched release is available.

Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
@nabinchha
nabinchha requested a review from a team as a code owner August 10, 2026 15:53
@nabinchha
nabinchha deployed to agentic-ci August 10, 2026 15:53 — with GitHub Actions Active
@greptile-apps

greptile-apps Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Raises dependency minimums and refreshes the lockfile to avoid vulnerable package releases.

  • Raises the engine MCP minimum to 1.29.0.
  • Raises notebook and E2E aiohttp constraints to 3.14.3.
  • Adds minimum versions for setuptools and Soup Sieve.
  • Regenerates the lockfile with the updated dependency versions.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
packages/data-designer-engine/pyproject.toml Raises the MCP dependency floor from 1.26.0 to 1.29.0.
pyproject.toml Raises notebook dependency floors for aiohttp, setuptools, and Soup Sieve.
tests_e2e/pyproject.toml Aligns the isolated E2E environment with the aiohttp 3.14.3 minimum.
uv.lock Refreshes locked packages and artifacts to reflect the updated dependency constraints.

Reviews (2): Last reviewed commit: "Merge branch 'main' into codex/address-d..." | Re-trigger Greptile

@github-actions

Copy link
Copy Markdown
Contributor

Code Review: PR #855fix: bump vulnerable dependencies

Author: nabinchha · State: OPEN · Changes: +141 / −135 across 4 files

Summary

This is a dependency-hygiene PR that raises minimum/locked versions of packages
flagged by the August 3 security scan. Concretely:

  • mcp >=1.26.0>=1.29.0 in data-designer-engine
  • aiohttp >=3.14.1>=3.14.3 in the root notebooks extra
  • Adds setuptools>=83.0.0,<84 and soupsieve>=2.9.1,<3 to the notebooks extra
  • aiohttp >=3.13.5>=3.14.3 in the isolated E2E constraint set
  • Regenerates uv.lock accordingly (bulk of the +/− churn)

Bleach is deliberately kept at 6.4.0 with an inline comment pointing to the
upstream nbconvert removal tracker — a reasonable documented exception.

Findings

Correctness / consistency — all clean

  • uv lock --check passes locally (201 packages resolved, no drift between the
    pyproject edits and uv.lock).
  • Locked versions match the declared constraints: aiohttp 3.14.3, mcp 1.29.0,
    setuptools 83.0.0, soupsieve 2.9.2.
  • soupsieve constraint is >=2.9.1 while the lock pins 2.9.2. This is correct
    and intentional (the floor is the patched version; the resolver picks the latest
    in range). The PR body already calls this out.
  • The aiohttp bump is applied in both places that pin it (root notebooks
    and tests_e2e constraints), so no environment is left resolving the vulnerable
    release. No stray older references remain (grep across all .toml confirms).

Conventions — followed

  • Each new/changed constraint carries an inline comment naming the advisory
    source, matching the existing style of the surrounding lines (mistune,
    nbconvert, tornado).
  • Alphabetical ordering within the notebooks list is preserved: the new
    setuptools / soupsieve entries are inserted correctly between notebook
    and tornado.
  • Upper bounds (<84, <3) follow the repo's existing capped-range convention,
    avoiding surprise majors.

Risk / blast radius — low, with one item worth a sanity check

  • mcp is the only bump against a runtime engine dependency (the rest are
    notebook/docs/E2E tooling), so it carries the most behavioral risk. The jump is
    three minor releases (1.26 → 1.29). The PR reports 124 targeted MCP
    compatibility tests passing, which covers this; no code changes were needed,
    consistent with a non-breaking minor bump.
  • All other packages are dev/notebook/test-only extras — they do not ship in the
    installed runtime of any of the three core packages, so end-user blast radius is
    effectively nil.

Suggestions (non-blocking, optional)

  • Consider whether setuptools and soupsieve should also be reflected in the
    tests_e2e constraint-dependencies list if those transitive deps can appear
    in the E2E environment. If the E2E env never pulls jupyterlab/nbconvert, this is
    moot — but worth a moment's confirmation since the E2E constraints exist
    precisely to floor transitive vulnerable deps.

Test Coverage

Appropriately N/A for a constraint-only change; no source logic is touched.
Verification rests on uv lock --check, the MCP compat suite, and make check-all, all reported green in the PR body and reproduced here for the lock
check.

Security

This PR is the security fix. It closes the flagged advisories for aiohttp, MCP,
setuptools, and soupsieve by flooring to patched versions. The one residual —
Bleach 6.4.0 — is an unavoidable, documented exception tied to an upstream
nbconvert dependency, not an oversight.

Verdict

Approve (non-blocking suggestion only). Clean, well-scoped, well-documented
dependency bump. Constraints and lock are consistent, ordering and comment
conventions are respected, and the only runtime-facing bump (mcp) is backed by
a passing compatibility suite. The single optional follow-up is confirming
whether setuptools/soupsieve need floors in the E2E constraint set too.

(Note: this review does not approve or request changes on the PR itself, per CI policy.)

@nabinchha
nabinchha merged commit 4b18f56 into main Aug 10, 2026
68 checks passed
@nabinchha
nabinchha deleted the codex/address-dt-nspect-vulnerabilities branch August 10, 2026 17:55
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