Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jpadilla/pyjwt
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.12.0
Choose a base ref
...
head repository: jpadilla/pyjwt
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.12.1
Choose a head ref
  • 1 commit
  • 4 files changed
  • 3 contributors

Commits on Mar 13, 2026

  1. Add typing_extensions dependency for Python < 3.11 (#1151)

    * Add typing_extensions as dependency for Python < 3.11
    
    PyJWT imports typing_extensions.Never (Python < 3.11) and
    typing_extensions.TypeAlias (Python < 3.10) at runtime in
    jwt/algorithms.py, but typing_extensions was never declared as a
    dependency.  This causes a ModuleNotFoundError on Python 3.9/3.10
    when importing the library.
    
    Fixes #1150
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * Add minimal install CI job to catch undeclared dependencies
    
    The existing install-dev job always installs with [dev] extras, which
    bundles cryptography and pulls in typing_extensions transitively via
    test tooling. This masked the missing typing_extensions dependency
    (#1150).
    
    Add an install-minimal job that tests bare `pip install .` and
    `pip install .[crypto]` on Python 3.9 and 3.13, ensuring undeclared
    runtime dependencies are caught immediately.
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    * Merge install-minimal into install-dev and test all install modes
    
    Consolidate into a single job that tests progressively: bare install,
    crypto extra, then dev extras. Tests Python 3.9 and 3.13 to cover
    both the typing_extensions fallback and native typing paths.
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    * Bump version to 2.12.1
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    * Add explicit permissions block to CI workflow
    
    Restrict GITHUB_TOKEN to read-only contents access, as flagged by
    github-advanced-security[bot].
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    * Fix RST underline length in CHANGELOG
    
    https://claude.ai/code/session_013ZvbKEyVkcUx8xHrqt8v2F
    
    ---------
    
    Co-authored-by: Claude <noreply@anthropic.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    3 people authored Mar 13, 2026
    Configuration menu
    Copy the full SHA
    a4e1a3d View commit details
    Browse the repository at this point in the history
Loading