Skip to content

CM-74534: Fix vulnerable dependencies and drop Python 3.9 support - #570

Merged
omer-roth merged 2 commits into
mainfrom
CM-74534-dev-x-fix-vulnearbilities
Oct 8, 2026
Merged

omer-roth merged 2 commits into
mainfrom
CM-74534-dev-x-fix-vulnearbilities

Conversation

@omer-roth

Copy link
Copy Markdown
Collaborator

Summary

Resolves the open Dependabot alerts and consolidates the open Dependabot PRs (#555, #557, #558, #559, #560, #561, #563) into one change.

Dependency upgrades

Package From To
pyjwt 2.13.0 2.15.1
urllib3 2.6.3 2.8.0
anyio 4.12.1 4.15.1
cryptography 49.0.0 50.0.1
marshmallow 4.0.1 4.3.1 (pin loosened to <5.0.0)
requests 2.32.5 2.34.2
setuptools (dev) 82.0.1 83.0.0
pytest / responses / ruff 9.0.3 / 0.26.3 / 0.16.9
docker actions setup-qemu v4.4.0, setup-buildx v4.4.1, build-push v7.4.0

Drop Python 3.9 (minimum is now 3.10)

Most patched releases no longer support 3.9.

  • requires-python >=3.10; classifiers, CI workflows and docs updated (full test matrix 3.10–3.14)
  • mcp command and truststore are now unconditional; removed the 3.9 fallbacks in trust_store.py, host_info.py, app.py, pyinstaller.spec
  • ruff now targets py310, which rewrote Optional/Union to PEP 604 unions. This rewrite accounts for most of the diff.

Other

  • Fixes for the new ruff 0.16 findings
  • test_codex.py: JWT fixture now uses a valid base64url signature. pyjwt 2.14+ decodes the signature even with verify_signature=False.

Release note

Python 3.9 is no longer supported. The CLI interface is unchanged, so this ships as a minor version bump.

Testing

  • ruff check and ruff format --check are clean
  • pytest: 1398 passed on Python 3.10 and on 3.12

🤖 Generated with Claude Code

Upgrade dependencies flagged by Dependabot alerts and consolidate the open
Dependabot PRs (#555, #557, #558, #559, #560, #561, #563):
- pyjwt 2.15.1, urllib3 2.8.0, anyio 4.15.1, cryptography 50.0.1,
  marshmallow 4.3.1, requests 2.34.2, setuptools 83.0.0
- pytest 9.0.3, responses 0.26.3, ruff 0.16.9
- docker/setup-qemu-action v4.4.0, docker/setup-buildx-action v4.4.1,
  docker/build-push-action v7.4.0

Most patched releases require Python 3.10+, so the minimum supported
version is now 3.10:
- requires-python >=3.10, classifiers and CI matrices updated
- drop Python version markers on mcp, truststore, pywin32, anyio
- mcp command and truststore are always available; remove the 3.9 fallbacks
  in trust_store, host_info, app.py and pyinstaller.spec
- ruff targets py310: Optional/Union rewritten to PEP 604 unions

Also fix new ruff 0.16 findings and a test JWT fixture whose signature
segment was not valid base64url (pyjwt 2.14+ decodes it even when
verification is disabled).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@omer-roth
omer-roth merged commit ac79b06 into main Oct 8, 2026
25 checks passed
@omer-roth
omer-roth deleted the CM-74534-dev-x-fix-vulnearbilities branch October 8, 2026 10: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.

2 participants