Skip to content

Releases: lyaguxafrog/jam

v3.2.0.post0

19 May 10:00

Choose a tag to compare

v3.2.0

19 May 09:50

Choose a tag to compare

Added

  • Complete JOSE module (jam.jose):
    • JWS - JSON Web Signature (RFC 7515)
    • JWE - JSON Web Encryption (RFC 7516)
    • JWK / JWKSet - JSON Web Key (RFC 7517)
    • JWT - JSON Web Token (RFC 7519)
  • JWT token lists (black/white) with pluggable backends: Redis, JSON, in-memory
  • Factory functions: create_jwt_instance, create_jws_instance,
    create_jwe_instance
  • JamJWTNotYetValid exception for nbf claim validation
  • check_nbf parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • include_headers parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • jti parameter in Jam.jwt_encode() and Jam.aio.jwt_encode()
  • Pre-built JWS/JWE instances support in JWT constructor
  • Critical header (crit) validation per RFC 7515
  • HKDF key derivation for symmetric sign-then-encrypt

Changed

  • JWT sign-then-encrypt now follows RFC 7519 nested JWT specification
  • JWE key management algorithm auto-detected based on key type:
    RSA → RSA-OAEP, EC → ECDH-ES, symmetric → A256KW / A128KW
  • exp and nbf claims validation moved from JOSE module to Jam instances
  • JWT.decode() consistently returns {"header": dict, "payload": dict}
  • Updated TestClients

Deprecated

  • jam.Jam.jwt_make_payload: Use JWS for signing
  • jam.Jam.jwt_create: Use jam.Jam.jwt_encode
  • jam.jwt.JWT: Use jam.jose.JWT

Removed

  • JsonEncoder and BaseEncoder from __all__ exports

Fixed

  • Typo in CLI documentation (bahsbash)

Security

  • Algorithm none explicitly disabled

v3.2.0rc2

18 May 21:20
14c6177

Choose a tag to compare

v3.2.0rc2 Pre-release
Pre-release

Added

  • New JOSE module:
    • JWT
    • JWE
    • JWK(s)
    • JWS
  • JamJWTNotYetValid exception for nbf claim validation
  • check_nbf parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • include_headers parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • jti parameter in Jam.jwt_encode() and Jam.aio.jwt_encode()
  • Support for pre-built JWS/JWE instances in JWT constructor
  • JWT.decode() always returns {"header": dict, "payload": dict}

Changed

  • JWT sign-then-encrypt now follows RFC 7519 specification
  • Auto-detection of JWE key management algorithm based on key type (RSA→RSA-OAEP, EC→ECDH-ES, symmetric→A*-KW)
  • exp and nbf claims validation moved from JOSE module to Jam instances
  • include_headers parameter added to both sync and async jwt_decode()

Deprecated

  • jam.Jam.jwt_make_payload: The JWT specification has been introduced, so signing is now done via JWS
  • jam.Jam.jwt_create: Use jam.Jam.jwt_encode
  • jam.jwt.JWT: Use jam.jose.JWT

Removed

  • Remove JsonEncoder and BaseEncoder from __all__ imports.

Fixed

  • Fixed typo in CLI documentation (bahsbash)

Security

v3.2.0rc0

11 May 13:48

Choose a tag to compare

v3.2.0rc0 Pre-release
Pre-release

Added

  • New JOSE module:
    • JWT
    • JWE
    • JWK(s)
    • JWS
  • JamJWTNotYetValid exception for nbf claim validation
  • check_nbf parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • include_headers parameter in Jam.jwt_decode() and Jam.aio.jwt_decode()
  • jti parameter in Jam.jwt_encode() and Jam.aio.jwt_encode()
  • Support for pre-built JWS/JWE instances in JWT constructor
  • JWT.decode() always returns {"header": dict, "payload": dict}

Changed

  • JWT sign-then-encrypt now follows RFC 7519 specification
  • Auto-detection of JWE key management algorithm based on key type (RSA→RSA-OAEP, EC→ECDH-ES, symmetric→A*-KW)
  • exp and nbf claims validation moved from JOSE module to Jam instances
  • include_headers parameter added to both sync and async jwt_decode()

Deprecated

  • jam.Jam.jwt_make_payload: The JWT specification has been introduced, so signing is now done via JWS
  • jam.Jam.jwt_create: Use jam.Jam.jwt_encode
  • jam.jwt.JWT: Use jam.jose.JWT

Removed

  • Remove JsonEncoder and BaseEncoder from __all__ imports.

Fixed

  • Fixed typo in CLI documentation (bahsbash)

Security

v3.1.2

05 May 23:02

Choose a tag to compare

Security

  • Update cryptography to 48.0.0

v3.1.1

05 May 16:42

Choose a tag to compare

Added

  • Experemental plugin system.
  • AGENTS.md file.

Changed

  • Remove unstable branch.

Fixed

  • Fix typo in main instance.

v3.1.0

16 Mar 12:51

Choose a tag to compare

Added

  • Add CLI tool for generate keys.

v3.0.0

15 Mar 12:30
88f8a2e

Choose a tag to compare

Added

  • New changelog format.
  • JSON configuration.
  • New JWT module.
  • Environment variable support in config.
  • PASETO v1–v4 modules.
  • New utilities:
    • Utility for generating symmetric keys
    • Utility for generating ED key pairs

Changed

  • License changed to Apache-2.0.
  • Renamed all __abc_*_module__ to __base__.
  • Exception format updated.
  • Refactored Litestar plugins.
  • Refactored Flask extensions.
  • Refactored Starlette integrations.
  • Renamed default_ttl to ttl in Redis sessions.

Removed

  • Removed obsolete dependencies.
  • Removed module jam.modules.
  • Removed all deprecated modules.

Fixed

  • YAML config builder.
  • Fixed JWT lists in Starlette/FastAPI extensions.
  • Fixed all typo errors.

Security

  • Updated all dependencies.

v3.0.0.rc3

15 Mar 01:41

Choose a tag to compare

v3.0.0.rc3 Pre-release
Pre-release

3.0.0 [Unreleased]

Added

  • New changelog format.
  • Json configuration.
  • New JWT Module.
  • Environment variables support in config.
  • PASETO v1-v4 modules.
  • New utils:
    • Util for generate symmetric keys
    • Util for generate ED key pairs

Changed

  • Change license to Apache-2.0.
  • Rename all __abc_*_module__ to __base__.
  • Exception format.
  • Refactoring litestar plugins.
  • Refactoring flask extensions.
  • Refactoring starlette integrations.
  • Rename default_ttl to ttl in redis sessions.

Removed

  • Deleted old useless dependencies.
  • Delete module jam.modules.
  • Remove all deprecated modules.

Fixed

  • YAML Config builder.
  • Fixed JWT lists in starlette/fastapi ext.
  • Fixed ALL TYPO errors.

Security

  • Update all dependencies.

[unreleased] v2.5.6...unstable

v3.0.0.rc2

15 Mar 00:57

Choose a tag to compare

v3.0.0.rc2 Pre-release
Pre-release

3.0.0 [Unreleased]

Added

  • New changelog format.
  • Json configuration.
  • New JWT Module.
  • Environment variables support in config.
  • PASETO v1-v4 modules.
  • New utils:
    • Util for generate symmetric keys
    • Util for generate ED key pairs

Changed

  • Change license to Apache-2.0.
  • Rename all __abc_*_module__ to __base__.
  • Exception format.
  • Refactoring litestar plugins.
  • Refactoring flask extensions.
  • Refactoring starlette integrations.
  • Rename default_ttl to ttl in redis sessions.

Removed

  • Deleted old useless dependencies.
  • Delete module jam.modules.
  • Remove all deprecated modules.

Fixed

  • YAML Config builder.
  • Fixed JWT lists in starlette/fastapi ext.
  • Fixed ALL TYPO errors.

[unreleased] v2.5.6...unstable