Here is the history of joserfc package releases.


Released on May 13, 2024

  • Change jwt.encode and jwt.decode to use JWS by default


Released on November 16, 2023

  • Use os.urandom for OctKey.generate_key.

  • Add allow_blank for JWTClaimsRegistry.

  • Improve callable key for guess_key().


Released on September 06, 2023

  • Add ensure_kid method on key models.

  • Add auto_kid parameter on key model .generate_key method.

  • Improvements on type hints


Released on August 14, 2023

  • Add “iat” claims validation in JWT.

  • Add __bool__ magic method on jwk.KeySet.

  • Raise InvalidExchangeKeyError for exchange_derive_key on Curve key.

  • Improvements on type hints


Released on July 20, 2023

  • Huge improvements on type hints, via @Viicos.

  • Do not mutate the header when jwt.encode, via issue #6.

  • Register algorithms with their matched key types on key set.

  • Improve error handling, raise proper errors.

Breaking changes:


Released on July 12, 2023

  • Add RFC7797 JSON Web Signature (JWS) Unencoded Payload Option

  • Fix decrypt_json when there is no encrypted_key

  • Rename JWE CompleteJSONSerialization to GeneralJSONSerialization

  • Rename JSONEncryption.flatten to .flattened

  • Load and dump RSA, EC, and OKP key with password

  • Rename Curve key method: exchange_shared_key to exchange_derive_key


Released on July 6, 2023

  • Change options to parameters for JWK methods

  • Change JWSRegistry and JWERegistry parameters

  • Guess sender_key from JWKs in JWE

  • Add importing key from DER encoding bytes

  • Fix JWS JSON serialization when members have only unprotected headers

  • Check key type before processing algorithms of JWS and JWE


Released on June 29, 2023

  • Return str instead of bytes for JWS and JWE serializations

  • Add a detach_content method for JWS

  • Remove jwt.extract method, because extract won’t work for JWE

  • Add JWKRegistry for JWK

  • Update JSONEncryption.add_recipient parameters

  • Export register methods for JWE drafts


Released on June 25, 2023

A beta release.


Released on March 5, 2023

Initial release.