build(deps): bump pyjwt from 2.8.0 to 2.12.0 in /examples/cache_invalidation/web_service#1144
Merged
mbouaziz merged 1 commit intoMay 20, 2026
Conversation
…_service Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.8.0 to 2.12.0. PyJWT 2.12.0 imports `Never` from `typing_extensions` unconditionally on Python < 3.11, but doesn't declare typing_extensions as a runtime dependency. Bumping the cache_invalidation web_service base image to python:3.12.13-bookworm sidesteps that, since `Never` is in the stdlib `typing` module from 3.11 onwards. psycopg2-binary 2.9.9 has cp312 wheels, so no other deps need to change. Co-Authored-By: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0ebe72b to
3f52775
Compare
mbouaziz
added a commit
that referenced
this pull request
May 22, 2026
…rvice Clears Dependabot alert #207 (GHSA-752w-5fwx-jx9f, PyJWT accepts unknown `crit` header extensions, patched in 2.12.0). The alert was created 2026-03-14 against PyJWT==2.8.0 and never auto-closed after PRs #1144 and #1145 bumped to 2.12.0; updating to 2.13.0 (latest) re-triggers Dependabot's scan and is itself a security release covering five additional CVEs (JWK-as-HMAC-secret, PyJWK alg bypass, base64 DoS, etc.) — none of which affect these apps' plain-string-secret + HS256 flow, but worth picking up. Bumping both web_service examples in lockstep since they were paired in the original PyJWT 2.8.0 -> 2.12.0 bump. Verified import + HS256 algorithm registration on Python 3.10 (system) and 3.12 (Dockerfile base) maps to the same code path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mbouaziz
added a commit
that referenced
this pull request
May 22, 2026
…rvice Clears Dependabot alert #207 (GHSA-752w-5fwx-jx9f, PyJWT accepts unknown `crit` header extensions, patched in 2.12.0). The alert was created 2026-03-14 against PyJWT==2.8.0 and never auto-closed after PRs #1144 and #1145 bumped to 2.12.0; updating to 2.13.0 (latest) re-triggers Dependabot's scan and is itself a security release covering five additional CVEs (JWK-as-HMAC-secret, PyJWK alg bypass, base64 DoS, etc.) — none of which affect these apps' plain-string-secret + HS256 flow, but worth picking up. Bumping both web_service examples in lockstep since they were paired in the original PyJWT 2.8.0 -> 2.12.0 bump. Verified import + HS256 algorithm registration on Python 3.10 (system) and 3.12 (Dockerfile base) maps to the same code path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mbouaziz
added a commit
that referenced
this pull request
May 22, 2026
## Summary Clears Dependabot alert [#207](https://github.com/SkipLabs/skip/security/dependabot/207) — [GHSA-752w-5fwx-jx9f](GHSA-752w-5fwx-jx9f) (PyJWT accepts unknown `crit` header extensions, patched in 2.12.0). The alert was raised 2026-03-14 against `PyJWT==2.8.0`. [PR #1144](#1144) bumped to 2.12.0 (the first patched version) on 2026-05-20, but Dependabot never auto-closed the alert. Bumping to **2.13.0** (latest) forces a re-scan and is itself a security release: 5 additional CVEs fixed plus 3 hardening changes (JWK-as-HMAC-secret algorithm confusion, PyJWK/PyJWKClient algorithm allow-list bypass, base64 DoS, etc.). ## Compatibility This app's PyJWT usage is the basic plain-string-secret + HS256 flow: - `jwt.encode(token_data, JWT_SECRET, algorithm="HS256")` - `jwt.decode(token, JWT_SECRET, algorithms=["HS256"])` - `except jwt.ExpiredSignatureError` / `except jwt.InvalidTokenError` None of the 2.13.0 changes touch these APIs — the security fixes are around JWK/PyJWK paths we don't use. Verified `import jwt; HS256 algorithm registered` cleanly with PyJWT 2.13.0 on Python 3.10 (system) — the Dockerfile uses Python 3.12.13 which exercises the same code path. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps pyjwt from 2.8.0 to 2.12.0.
Release notes
Sourced from pyjwt's releases.
... (truncated)
Changelog
Sourced from pyjwt's changelog.
... (truncated)
Commits
bd9700cUse PyJWK algorithm when encoding without explicit algorithm (#1148)051ea34Merge commit from fork1451d70fix: do not store reference to algorithms dict on PyJWK (#1143)f3ba74c[pre-commit.ci] pre-commit autoupdate (#1145)0318ffa[pre-commit.ci] pre-commit autoupdate (#1141)a52753dBump actions/download-artifact from 7 to 8 (#1142)b85050fchore(tests): enable mypy (#1138)1272b26[pre-commit.ci] pre-commit autoupdate (#1135)99a8728chore: remove superfluous constants (#1136)412cb67fix: close HTTPError to prevent ResourceWarning on Python 3.14 (#1133)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.