Skip to content

1.0.0

Compare
Choose a tag to compare
@mosquito mosquito released this 05 Jan 21:05
· 10 commits to master since this release
6f200cd

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.