Skip to content

chore(deps): move cryptography to 50.x - #317

Merged
cbetta merged 1 commit into
mainfrom
cb/bump-cryptography-50
Sep 15, 2026
Merged

cbetta merged 1 commit into
mainfrom
cb/bump-cryptography-50

Conversation

@cbetta

@cbetta cbetta commented Sep 15, 2026

Copy link
Copy Markdown
Member

What

Moves cryptography from ^49.0.0 to ^50.0.1.

Follow-up to #315, which took ^49.0.0 as the minimal change that cleared the two open CVEs. 50.0.1 is the current release, so this takes the extra runway rather than sitting one major behind from the day it landed.

No security urgency

49.x is already outside the vulnerable range (>=42.0.0, <=48.0.0) for both CVE-2026-69249 and CVE-2026-69248, and the alerts are closed. 50.0.1 carries no known advisories. This is purely about not needing another bump shortly — merge it whenever suits.

Speakeasy-managed

Same as #315: the constraint is set in .speakeasy/gen.yaml under python.additionalDependencies.main, with the generated pyproject.toml kept in step.

Worth noting as evidence the approach is sound — generation 2.4.11 landed on top of #315 and preserved the ^49.0.0 value, so gen.yaml is confirmed as the durable place for this.

Verification

Resolved the runtime set cleanly (cryptography 50.0.1, PyJWT 2.14.0, python-jose 3.5.0) and exercised the real auth paths from src/gr4vy/auth.py against 50.0.1 — ES512 key load, JWK thumbprint, jwt.encode and jwt.decode all pass.

cryptography 50 requires Python ≥3.9; this SDK requires ≥3.10. The SDK's whole surface here is serialization.load_pem_private_key and hashes.SHA256, both unchanged across 49→50.

🤖 Generated with Claude Code

Follow-up to #315, which widened the constraint to ^49.0.0 as the minimal
change that cleared CVE-2026-69249 and CVE-2026-69248. 50.0.1 is the
current release and carries no known advisories, so this takes the extra
runway rather than sitting one major behind from the day it landed.

No security urgency: 49.x is already outside the vulnerable range
(>=42.0.0, <=48.0.0) for both CVEs. This is purely about not needing
another bump shortly.

As in #315 the constraint is set in .speakeasy/gen.yaml under
python.additionalDependencies.main, with the generated pyproject.toml kept
in step. Generation 2.4.11 landed on top of #315 and preserved the ^49.0.0
value, confirming gen.yaml is the durable place for this.

Verified against 50.0.1: resolved the runtime set (cryptography 50.0.1,
PyJWT 2.14.0, python-jose 3.5.0) and exercised the ES512 thumbprint,
jwt.encode and jwt.decode paths in src/gr4vy/auth.py. cryptography 50
requires Python >=3.9; this SDK requires >=3.10.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🧪 Test coverage

Metric Value
Endpoints reached (HTTP) 119 / 120 (99.2%)

⚠️ 1 endpoint operation(s) have no E2E test. Newly generated endpoints show up here — consider adding tests for them.

  • GET /roles

Endpoint reach is measured from HTTP requests actually sent by the suite (see tests/utils/client.py). See TESTING.md.

@cbetta
cbetta marked this pull request as ready for review September 15, 2026 10:10
@cbetta
cbetta merged commit d6566fd into main Sep 15, 2026
13 checks passed
@cbetta
cbetta deleted the cb/bump-cryptography-50 branch September 15, 2026 10:10
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.

1 participant