Skip to content

DLPX-98863 dependency-bump: batch update 16 dependencies (consolidates 26 PRs) - #705

Open
delphix-devops-bot wants to merge 1 commit into
developfrom
dlpx/pr/delphix-devops-bot/36c450dc-c66a-4f38-ab57-2f1d1cbf51cf
Open

DLPX-98863 dependency-bump: batch update 16 dependencies (consolidates 26 PRs)#705
delphix-devops-bot wants to merge 1 commit into
developfrom
dlpx/pr/delphix-devops-bot/36c450dc-c66a-4f38-ab57-2f1d1cbf51cf

Conversation

@delphix-devops-bot

@delphix-devops-bot delphix-devops-bot commented Sep 8, 2026

Copy link
Copy Markdown

Auto-generated by dependency-bump. Tracked in DLPX-98863.

🔧 A fix was applied. The post-change build initially failed due to httpretty 1.1.4 changing latest_requests recording behavior (urllib3 connection-pool overhead causes some requests to appear twice). dependency-bump added a _request_history() deduplication helper in test_delphix_client.py and the build now passes. See Fixes applied below — review it like any other code change in this PR.

This batch includes dependencies above LOW risk. They are still bundled into this single PR (per-dep breakdown below) rather than split out — review the flagged entries before approving.

TL;DR

Consolidates 27 open Dependabot/Mend PRs into one batch. 16 distinct dependencies updated across 5 Python modules (common, libs, platform, tools, dvp) and docs/ (Pipfile + Pipfile.lock). 5 dependencies cross a major version boundary (attrs, certifi, importlib-resources, more-itertools, zipp) → batch risk HIGH. Post-change build passes (766 tests, 1 skipped); one consumer-side fix applied for httpretty 1.1.4. No CVEs with CVSS ≥ 7 callable in production code found across the batch.

Batch risk tier: HIGH

⚠ Manual review required — see the per-dependency breakdown below for which entries are not LOW risk.

Dependencies in this batch (16)

Dependency From → To Risk CVEs Breaking changes
attrs >= 25.3, < 25.426.1.0 HIGH 0 0
certifi >= 2024, < 20252026.7.22 HIGH 0 0
httpretty 1.0.51.1.4 LOW 0 1 (fixed)
importlib-resources >= 6.5, < 6.67.1.0 HIGH 0 0
jsonschema >= 4.25, < 4.264.26.0 LOW 0 0
more-itertools 10.8.011.1.0 HIGH 0 0
packaging 26.026.3 LOW 0 0
pytest 9.0.39.1.1 LOW 0 0
requests >= 2.32, < 2.332.34.2 LOW 0 0
coverage 7.13.57.16.0 LOW 0 0
zipp >= 3.23, < 3.244.1.0 HIGH 0 0
mkdocs-material 9.7.69.7.7 LOW 0 0
pymdown-extensions transitive lock LOW 0 0
idna transitive lock LOW 0 0
urllib3 transitive lock LOW 0 0
pygments 2.19.22.21.0 (transitive lock) LOW 0 0

attrs: >= 25.3, < 25.426.1.0 — risk: HIGH

Note: range-style constraint; upper bound widened to < 26.2. Installed version resolved to 26.1.0. Crosses major CalVer boundary (25.x → 26.x).

Manifests affected:

  • tools/pyproject.toml

CVE findings: No CVE-tagged advisories found between 25.3.0 and 26.1.0.

Commit breakdown: minor releases, no breaking changes flagged upstream.

Version note: source PR (#678) proposed < 26.2; dependency-bump resolved to 26.1.0 (policy: latest-stable).


certifi: >= 2024, < 20252026.7.22 — risk: HIGH

Note: range-style constraint; upper bound widened to < 2027. Installed version resolved to 2026.7.22. Crosses CalVer year boundary (2024.x → 2026.x). Used transitively by requests; delphix_client.py makes HTTP (not HTTPS) calls so certifi's CA bundle is largely bypassed in practice.

Manifests affected:

  • tools/pyproject.toml

CVE findings: No CVE-tagged advisories found in this range. certifi periodically removes untrusted CAs — no CVSS-scored vulnerability in this range.


httpretty: 1.0.51.1.4 — risk: LOW

Manifests affected:

  • tools/pyproject.toml (dev dep)

CVE findings: None.

Breaking change (fixed in this PR): httpretty 1.1.x changed HTTPretty.latest_requests — urllib3 connection-pool overhead causes some requests to be recorded twice. 8 tests in test_delphix_client.py relied on negative indexing into this list and failed. Fixed by adding _request_history() deduplication helper (consecutive duplicate-path entries filtered out) and replacing all 8 httpretty.HTTPretty.latest_requests usages with TestDelphixClient._request_history().

Usage: test code only (src/test/python/…/test_delphix_client.py). Not in production code.


importlib-resources: >= 6.5, < 6.67.1.0 — risk: HIGH

Note: range-style constraint; upper bound widened to < 7.2. Crosses major version boundary (6.x → 7.x).

Manifests affected:

  • tools/pyproject.toml

CVE findings: None.

Commit breakdown: 7.x renamed as_file() to as_path() internally but preserved public API compatibility. No consumer call sites use the private API.


jsonschema: >= 4.25, < 4.264.26.0 — risk: LOW

Note: range-style constraint; upper bound widened to < 4.27. Patch bump within 4.x.

Manifests affected:

  • tools/pyproject.toml

CVE findings: None.


more-itertools: 10.8.011.1.0 — risk: HIGH

Manifests affected:

  • tools/pyproject.toml (dev dep)

CVE findings: None.

Commit breakdown: major version crossing (10→11). Dev/test dependency only; not imported in production code. API changes in 11.x are confined to iterator utilities not used by this repo's consumer code.


packaging: 26.026.3 — risk: LOW

Manifests affected:

  • tools/pyproject.toml, common/pyproject.toml, libs/pyproject.toml, platform/pyproject.toml, dvp/pyproject.toml (all dev dep)

CVE findings: None.

Version note: source PRs (#651, #700, #701, #702, #703) proposed 26.2; resolved to 26.3 (latest-stable).


pytest: 9.0.39.1.1 — risk: LOW

Manifests affected:

  • tools/pyproject.toml, common/pyproject.toml, libs/pyproject.toml, platform/pyproject.toml, dvp/pyproject.toml (all dev dep)

CVE findings: None.


requests: >= 2.32, < 2.332.34.2 — risk: LOW

Note: range-style constraint; upper bound widened to < 2.35. Minor bump within 2.x.

Manifests affected:

  • tools/pyproject.toml

CVE findings: No CVEs with CVSS ≥ 7 found callable in production code. delphix_client.py calls requests.post() / requests.get() directly (lines 100, 151) over HTTP to the Delphix Engine.


coverage: 7.13.57.16.0 — risk: LOW

Manifests affected:

  • tools/pyproject.toml (dev dep)

CVE findings: None.


zipp: >= 3.23, < 3.244.1.0 — risk: HIGH

Note: range-style runtime constraint; upper bound widened to < 4.2. Dev pin changed == 3.23.0== 4.1.0. Crosses major version boundary (3.x → 4.x).

Manifests affected:

  • tools/pyproject.toml (runtime + dev), common/pyproject.toml, libs/pyproject.toml, platform/pyproject.toml, dvp/pyproject.toml (all dev dep)

CVE findings: None. zipp is a stdlib backport (zipfile); 4.x aligns with CPython's zipfile improvements for Python 3.11+.


mkdocs-material: 9.7.69.7.7 — risk: LOW

Manifests affected:

  • docs/Pipfile

CVE findings: None. Patch release. docs/Pipfile.lock refreshed.


pymdown-extensions, idna, urllib3, pygments: transitive docs lock refresh — risk: LOW

Transitive dependencies pulled in by docs/Pipfile; updated as a side-effect of running pipenv lock after the mkdocs-material bump. No direct pins in docs/Pipfile. Docs-only — not imported in the SDK consumer code. pygments bumped from 2.19.22.21.0 (PR body originally misreported this as "no change from baseline" — corrected by reconcile pass).


Source PRs consolidated (27)

dependency-bump does not close these. Once this PR merges and dep versions match the manifests, the bot that opened each one is responsible for auto-closing it on its own next scan.

Build verification

Phase Result
Baseline build (bash bin/build_project.sh -bt) ✅ Pass
Post-change build (initial) ✗ 8 failures in test_delphix_client.py
Post-change build (after fix) ✅ Pass (766 tests, 1 skipped)
Flake8 (python -m flake8 src/main/python src/test/python) ✅ Pass (exit 0, all modules)
Docs (mkdocs build --clean --strict) ✅ Pass

Fixes applied

Attempt 1: httpretty 1.1.4 behavioral change — latest_requests records some requests twice due to urllib3 connection-pool overhead, breaking 8 tests that used negative indexing into the request history list.

  • Changed: tools/src/test/python/dlpx/virtualization/_internal/commands/test_delphix_client.py
  • Fix: Added _request_history() static method that deduplicates consecutive same-path entries; replaced all 8 httpretty.HTTPretty.latest_requests usages with TestDelphixClient._request_history()
  • Result: ✅ build passed

Additional automations

Installed package changes (pip freeze diff, explicit packages only)

- attrs==25.3.0
+ attrs==26.1.0
- certifi==2024.12.14
+ certifi==2026.7.22
- coverage==7.13.5
+ coverage==7.16.0
- httpretty==1.0.5
+ httpretty==1.1.4
- importlib_resources==6.5.2
+ importlib_resources==7.1.0
- jsonschema==4.25.1
+ jsonschema==4.26.0
- more-itertools==10.8.0
+ more-itertools==11.1.0
- packaging==26.0
+ packaging==26.3
- pytest==9.0.3
+ pytest==9.1.1
- requests==2.32.5
+ requests==2.34.2
- zipp==3.23.0
+ zipp==4.1.0

Docs lock (docs/Pipfile.lock) transitive changes:

- mkdocs-material==9.7.6
+ mkdocs-material==9.7.7
  pymdown-extensions==11.0.2  (bumped from 10.21)
  idna==3.19  (bumped from 3.11)
  urllib3==2.7.0  (bumped from 2.6.3)
  pygments==2.21.0  (bumped from 2.19.2)

Generated by dependency-bump · policy: latest-stable

@delphix-devops-bot
delphix-devops-bot marked this pull request as ready for review September 8, 2026 03:04
@delphix-devops-bot
delphix-devops-bot requested a review from a team as a code owner September 8, 2026 03:04
@delphix-devops-bot
delphix-devops-bot force-pushed the dlpx/pr/delphix-devops-bot/36c450dc-c66a-4f38-ab57-2f1d1cbf51cf branch from de8713b to 616c566 Compare September 8, 2026 03:04
@delphix-devops-bot delphix-devops-bot added the dependency-bump/risk-high dependency-bump: batch risk tier is high label Sep 8, 2026
This was referenced Sep 8, 2026
@delphix-devops-bot

delphix-devops-bot commented Sep 8, 2026

Copy link
Copy Markdown
Author

dependency-bump reconcile — 2026-09-09

Build result: ✅ PASSED (767 tests, 1 skipped)

SHA: 339cd688b52b2a0beb1b7205b207db964a99eec9 — verified this pass

Pass 1 (build all 5 modules):
Pass 2 (coverage + tests + flake8, all modules):

  • common: 37 passed
  • libs: 56 passed
  • platform: 287 passed
  • tools: 386 passed, 1 skipped
  • dvp: 1 passed

Sync automations: ✅ Both passed

  • sh bin/build_project.sh -f (flake8 all modules): ✅ PASSED
  • dvp init --root-dir . && dvp build --dev (artifact.json produced): ✅ PASSED

PyPI drift check: ✅ No drift

All 16 batch dependencies are at the latest-within-policy version (latest-stable). No new bumps needed.

Review threads: ✅ All resolved

  • Copilot (docstring wording) tools/src/test/python/.../test_delphix_client.py line 33 — In-scope fix applied: Docstring said "retry artifacts" but the deduplication is for urllib3 connection-pool recording duplicates (not retries). Fixed to "connection-pool recording duplicates." Thread resolved after commit.

Top-level feedback: ✅ All addressed

  • Comment 5138596195 (SumoSourabh): already marked as addressed from a previous pass ✅
  • Review 5149891335 (Copilot — "Changes recommended"): addressed prior pass ✅
  • Review 5151138167 (Copilot — "Needs a closer look"): judgment-call — general advisory that the batch warrants human review due to multiple major-version bumps. Acknowledged; this is expected and reflected in the PR's HIGH risk tier. Automated validation (767 tests, 2 blackbox suites, dvp end-to-end build) is complete. Human approval is the next step.

Async automations: 🔄 Triggered for new SHA

Both blackbox jobs re-triggered for SHA 339cd68 (previous jobs ran against 616c566):

@SumoSourabh SumoSourabh 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.

If you can read this comment, reply on the comment with "yes, we did it"

Comment thread common/pyproject.toml
@delphix-devops-bot

Copy link
Copy Markdown
Author

Addressing feedback from @SumoSourabh: yes, we did it

Copilot AI 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.

🟡 Changes recommended

It introduces at least one packaging/dependency issue (a test-only dependency listed as a runtime dependency) plus a noted mismatch between the PR description and the lockfile change.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR consolidates a large dependency-bump batch across the vSDK packages (common, libs, platform, tools, dvp) and the docs/ build environment, plus a targeted test adjustment to accommodate httpretty 1.1.x request-recording behavior changes.

Changes:

  • Bumped multiple dev/runtime dependency pins and ranges across the Python packages (notably attrs, certifi, importlib-resources, zipp, pytest, packaging, etc.).
  • Updated docs build dependencies (mkdocs-material) and refreshed Pipfile.lock.
  • Adjusted tools tests to use a deduplicated request history helper for httpretty 1.1.x.
File summaries
File Description
tools/src/test/python/dlpx/virtualization/_internal/commands/test_delphix_client.py Adds request-history dedup helper and updates assertions to use it for httpretty 1.1.x.
tools/pyproject.toml Widens/bumps several runtime dependency ranges and updates dev pins (incl. httpretty, pytest, packaging, zipp, etc.).
common/pyproject.toml Updates dev pins for packaging, pytest, and zipp.
libs/pyproject.toml Updates dev pins for packaging, pytest, and zipp.
platform/pyproject.toml Updates dev pins for packaging, pytest, and zipp.
dvp/pyproject.toml Updates dev pins for packaging, pytest, and zipp.
docs/Pipfile Bumps mkdocs-material patch version.
docs/Pipfile.lock Refreshes docs lockfile, updating transitive pins/hashes/markers.
Review details
  • Files reviewed: 7/8 changed files
  • Comments generated: 1
  • Review effort level: Lite

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

Comment thread tools/pyproject.toml
@delphix-devops-bot

Copy link
Copy Markdown
Author

Addressing feedback from @copilot-pull-request-reviewer:

1. httpretty listed as a runtime dependency (judgment-call — out of scope): Moving httpretty from the runtime dependencies section to [project.optional-dependencies].dev is a structural manifest change that goes beyond a version-pin PR's scope. This misclassification predates this batch — it exists on develop already and was not introduced by this bump. Left unresolved on the inline thread for a reviewer to decide on separately.

2. PR description vs. lockfile mismatch — pygments (fixed): The original PR body incorrectly stated pygments==2.21.0 (no change from baseline). The baseline (develop) actually has pygments==2.19.2, so this batch does change pygments (2.19.2 → 2.21.0). Updated the PR description to reflect the correct change — table row, transitive section, and pip-freeze diff block.

Copilot AI 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.

🔵 Needs a closer look

It batches multiple major-version dependency updates across several packages (including runtime constraints), which warrants final human review beyond the localized test fix.

Review details
  • Files reviewed: 7/8 changed files
  • Comments generated: 1
  • Review effort level: Lite

@delphix delphix deleted a comment from delphix-devops-bot Sep 9, 2026
@delphix-devops-bot
delphix-devops-bot force-pushed the dlpx/pr/delphix-devops-bot/36c450dc-c66a-4f38-ab57-2f1d1cbf51cf branch 2 times, most recently from 076a727 to 339cd68 Compare September 9, 2026 08:32
@delphix-devops-bot

Copy link
Copy Markdown
Author

Addressing feedback from @copilot-pull-request-reviewer:

"Needs a closer look" (judgment-call — for human reviewer): This review note flags that the batch includes multiple major-version bumps across packages and warrants final human review. That's accurate and expected: 5 of the 16 dependencies cross a major version boundary, which is why the batch is flagged HIGH risk in the PR description. The BUILD & verification commands passed (766 tests, 1 skipped), two blackbox suites succeeded for this branch, and no CVEs with CVSS ≥ 7 callable in production code were found. The remaining approval decision is for the human reviewer — this note is acknowledged and the automated validation is complete.

Copilot AI 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.

🔵 Needs a closer look

It batches multiple high-risk/major dependency range changes across runtime and dev surfaces, so it warrants final human review despite the targeted test fix and passing unit tests.

Review details
  • Files reviewed: 7/8 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@SumoSourabh SumoSourabh 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.

Looks good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency-bump/risk-high dependency-bump: batch risk tier is high

Development

Successfully merging this pull request may close these issues.

4 participants