Skip to content

Bulk floor bump for Dependabot security alerts - #70617

Closed
dwoz wants to merge 3 commits into
saltstack:masterfrom
dwoz:dwoz/fix/dependabot-master-bulk
Closed

dwoz wants to merge 3 commits into
saltstack:masterfrom
dwoz:dwoz/fix/dependabot-master-bulk

Conversation

@dwoz

@dwoz dwoz commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Bulk floor bump of pinned dependencies in requirements/base.txt, requirements/static/ci/common.txt, and requirements/static/pkg/{linux,freebsd}.txt to clear open Dependabot security alerts on master. Regenerates all requirements/static/{pkg,ci}/py3.{9..14}/*.lock lock files via the pip-compile pre-commit hooks.

Bumped (py>=3.10 clauses only; 3.9 clauses intentionally frozen)

Package Old New
aiohttp 3.14.1 3.14.4
cryptography (ci/common + static/pkg) 48.0.0 50.0.0 (base.txt already carried 50.0.0)
msgpack 1.2.1 1.2.3
opentelemetry-api / sdk / exporter-otlp-proto-http 1.41.1 1.45.1
urllib3 2.7.0 2.8.0
requests (py3.10 only) <2.32.0 >=2.33.1

The requests py3.10 cap was an inverted range introduced by the 2026-04-06 merge-forward — py3.10 was being held below the CVE floor while py3.9 and py3.11+ were above it.

Deferred to follow-up PRs

Package Why not here
virtualenv >= 21.14.9 Cascades to packaging>=26.3, conflicts with the deliberate packaging==24.0 pin held for salt-ssh target compat
filelock >= 4.2.1 Requires Python >= 3.11; incompatible with the py3.10 lock
pylint ~= 4.0 Comment in lint.txt holds at 3.1 pending codebase audit for new default-on E0601/E0602/E0606 checks
pytest >= 9.0.3 Would need pytest-salt-factories compat review (and dropping the <9 cap)
pip 26.x in constraints.txt That pin is for the lint-pre-commit venv only (the shipped pip is managed by tools/pkg/build.py and is already 26.2). Comment calls out a vendored-pygments breakage in pip 26.0.1 on the py3.14 pre-commit hook venv
ansible >= 12.2.0 Existing comment holds at 10.x for AL2 interpreter discovery (issue #69526)
Python 3.9 clauses Deliberate 3.9 EOL caps, not touched

Alert cleanup

Running against the 118 open alerts, this PR should clear roughly the aiohttp / cryptography / msgpack / opentelemetry / urllib3 / requests subset (approximately 60 alerts). The remaining ~55 alerts are from the deferred set above and are tracked as follow-up work.

Test plan

  • CI green (full matrix)
  • Confirm Dependabot auto-dismisses the aiohttp/cryptography/msgpack/opentelemetry/urllib3/requests alerts after merge

- aiohttp>=3.14.4 (py>=3.10)
- cryptography>=50.0.0 (py>=3.10) synced across ci/common.txt and static/pkg/
- msgpack>=1.2.3 (py>=3.10)
- opentelemetry-api/sdk/exporter-otlp-proto-http>=1.45.1 (py>=3.10)
- urllib3>=2.8.0 (py>=3.10)
- requests>=2.33.1 (py3.10 only): fixes an inverted range from the 2026-04-06
  merge-forward that capped py3.10 at <2.32.0

Regenerated py3.{9-14} x {linux,freebsd,darwin,windows} locks via pre-commit
pip-compile hooks.

Deferred (constraints or codebase-audit blockers):
- virtualenv>=21.14.9 cascades to packaging>=26.3 which conflicts with the
  packaging==24.0 pin held for salt-ssh target compatibility
- filelock>=4.2.1 requires Python>=3.11
- pylint 4.x needs E0601/E0602/E0606 audit (existing comment)
- pytest>=9.0.3 needs pytest-salt-factories compat review
- pip 26.x in constraints.txt breaks the py3.14 pre-commit venv
- ansible>=12.2.0 drops AL2 interpreter discovery (existing comment)
@dwoz dwoz added the test:full Run the full test suite label Oct 30, 2026
@dwoz dwoz added this to the Potassium v3009.0 milestone Oct 30, 2026
relenv-ssh ships a bundled interpreter to target hosts, so the
packaging==24.0 pin (held because packaging 24.1+ used
'from __future__ import annotations' and packaging 26.x used
positional-only '/' syntax, both SyntaxErrors on AL2's stock
Python 3.7 under the legacy salt-ssh thin tarball) is no longer
needed.

- packaging>=26.3 unified for all py versions (removes the
  py>=3.11,<3.14 == 24.0 pin and the py>=3.14 <27 cap)
- virtualenv>=21.14.9 (py>=3.10), which hard-requires packaging>=26.3
- filelock>=4.2.1 (py>=3.11) and filelock>=3.29.1,<4.0.0 (py3.10):
  filelock 4.2+ requires Python>=3.11 so py3.10 stays on the 3.29 line

Regenerated all static/{pkg,ci}/py3.{9-14}/*.lock files via the
pip-compile pre-commit hooks.
@dwoz

dwoz commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #70629 which targets 3008.x. Closing this one — 3008.x will merge-forward to master.

@dwoz dwoz closed this Oct 31, 2026

This branch was previously deployed

1 inactive deployment
ci — 70e2354a Deployed Oct 31, 2026 by dwoz via Build Onedir Packages / macOS (x86_64) #28223
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:full Run the full test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant