Skip to content

Releases: mosquito/pyjwt-rsa

1.1.0

06 Jan 09:44
5ecd789
Compare
Choose a tag to compare

What's Changed

  • Refactor JWT Class into JWTDecoder and JWTSigner, Improve Type Safety and Test Coverage by @mosquito in #4

Full Changelog: 1.0.1...1.1.0

1.0.0

05 Jan 21:05
6f200cd
Compare
Choose a tag to compare

Release Notes

📦 Release v1.0.0

🚀 Enhancements

  • EditorConfig Updates:

    • Added support for Markdown files (*.md) with indent_size = 4.
    • Set max_line_length to 119 for Python files.
  • CI/CD Workflow Refactor:

    • Transitioned from Travis CI to GitHub Actions.
    • Improved Python version coverage: 3.10, 3.11, 3.12, 3.13.
    • Switched dependency management to poetry.
  • Project Configuration:

    • Introduced pyproject.toml for unified configuration.
    • Removed Makefile, MANIFEST.in, and outdated setup.py.
  • Dependencies:

    • Managed through poetry instead of manual requirements files.
    • Dropped support for Python versions below 3.10.
  • Code Quality:

    • Enforced pylama and mypy configurations in pyproject.toml.

⚠️ Breaking Changes

  • JWT Class API Changes:

    • The JWT constructor has been updated to simplify key handling.
    • Before:
      jwt = JWT(private_key=private_key, public_key=public_key)
    • Now:
      jwt = JWT(key=private_key)
      # Or simply
      jwt = JWT(private_key)
      or
      jwt = JWT(key=public_key)
      # Or simply
      jwt = JWT(public_key)
    • private_key and public_key arguments have been replaced with a single key parameter.
    • When a private key is passed, the public key is inferred automatically.
    • Added new parameters:
      • algorithms: A list of allowed algorithms for decoding.
      • options: Optional JWT decode configuration.
    • Updated default claims handling for expiration and nbf.
  • Removed Deprecated Scripts:

    • Removed bump.py, Makefile, and MANIFEST.in.
  • Dropped Support for Older Python Versions:

    • Minimum Python version is now 3.10.

🛠️ Refactoring and Cleanup

  • Consolidated package metadata into pyproject.toml.
  • Removed legacy Travis CI and Tox configurations.
  • Standardized RSA key management APIs and CLI tools.
  • Added a LICENCE file with the MIT license.
  • Removed redundant Python scripts and version bumping tools (bump.py).

📚 Documentation

  • Migrated primary documentation from README.rst to README.md.
  • Expanded and clarified command-line tool usage examples.
  • Documented API changes in the JWT class.

Testing

  • Modernized testing suite with pytest and pytest-cov.
  • Added CLI-specific tests.
  • Refactored test cases for RSA key management and JWT behavior.