Changelog¶
Here is the history of joserfc package releases.
1.4.0¶
Released on October 9, 2025
Improvements on type hints.
Add python 3.14 support.
Breaking changes:
Remove deprecated (since 1.2.0)
rfcXXXXmodules.Rename
jwt.ClaimsRegistrytojwt.BaseClaimsRegistry.
1.3.4¶
Released on September 21, 2025
Add size limit for deserializing JWS content.
Add size limit for decrypting JWE content.
1.3.3¶
Released on September 15, 2025
Reject
critheader in unprotected headers.
1.3.2¶
Released on September 4, 2025
Returns the first key when multiple keys found in a key set.
Validate if a “crit” header is supported in the registry.
1.3.1¶
Released on August 27, 2025
Fix
jws.deserialize_jsonandjwe.decrypt_json, preventing unprotected header overwriting protected header.
1.3.0¶
Released on August 25, 2025
Exporting all algorithms in
joserfc.jwamodule.Allow reusing
JWTClaimsRegistryinstance, via issue #68.Added
claimattribute on claim errors, via issue #69.Added
JWSRegistry.guess_algmethod, via issue #49.
Breaking changes:
Remove Python 3.8 support.
Rename JWS and JWE Algorithm model class names to prevent name conflicts.
1.2.2¶
Released on July 14, 2025
Fix typo for function name of Chacha20-Poly1305 registration, via pull request #67.
Add claims partial list matching in
JWTClaimRegistry.validate, via pull request #63.
1.2.1¶
Released on July 10, 2025
Improve type hints on JWK module: - Overload type hints on
jwk.import_keyandjwk.generate_key. - Return correct types onOctKey.import_key,RSAKey.import_key, and etc.Guess key with “alg” and “use” parameters.
1.2.0¶
Released on July 7, 2025
Added RFC9278 JWK Thumbprint URI
thumbprint_uri.Show security warnings for
noneandRSA1_5algorithms.Show security warnings for
OctKey.generate_keyandRSAKey.generate_key. when key size is too short, per NIST SP 800-131A.
Breaking changes:
Enable “RFC7797” by default, use the
joserfc.jwsmodule directly. - Usejoserfc.jws.serialize_compactinstead ofjoserfc.rfc7797.serialize_compact- Usejoserfc.jws.deserialize_compactinstead ofjoserfc.rfc7797.deserialize_compact- Usejoserfc.jws.serialize_jsoninstead ofjoserfc.rfc7797.serialize_json- Usejoserfc.jws.deserialize_jsoninstead ofjoserfc.rfc7797.deserialize_jsonConvert
joserfc.rfcXXXXto private modulesjoserfc._rfcXXXX.
1.1.0¶
Released on May 24, 2025
Use “import as” to prioritize the modules for editors.
Added parameter
encoder_clsforjwt.encodeanddecoder_clsforjwt.decode.Added
nonealgorithm for JWS.Added
jwk.import_keyandjwk.generate_keyaliases.
Breaking changes:
Use
ECKey.binding.register_curveto register new supported curves.Use
UnsupportedAlgorithmErrorinstead ofValueErrorin JWS/JWE registry.Use
MissingKeyTypeErrorandInvalidKeyIdErrorfor errors in JWK.Use
UnsupportedHeaderError,MissingHeaderError, andMissingCritHeaderErrorfor header validation.Respect RFC6749 character set in error descriptions.
1.0.4¶
Released on February 28, 2025
Use secrets module to generate random bytes.
Use warnings for possible unsafe
OctKeyinstead of raising error, via issue #32.
1.0.3¶
Released on February 6, 2025
Allow using sha256, sha384, sha512 hash functions in thumbprint (RFC7638).
1.0.2¶
Released on January 20, 2025
Support import key from a certificate pem file.
1.0.1¶
Released on December 3, 2024
Throw an error on non-valid base64 strings.
1.0.0¶
Released on July 14, 2024
Fix type hints for strict mode.
0.12.0¶
Released on June 15, 2024
Limit DEF decompress size to 250k bytes.
Fix claims validation, via issue #23.
0.11.1¶
Released on June 4, 2024
Remove validating
typheader withjwt.decodemethod.
0.11.0¶
Released on June 4, 2024
jwe.decrypt_jsonallows to verify only one recipient.Prevent
OctKeyto importssh-dss.Deprecate use of string and bytes as key.
0.10.0¶
Released on May 13, 2024
Change
jwt.encodeandjwt.decodeto use JWS by default.
0.9.0¶
Released on November 16, 2023
Use
os.urandomforOctKey.generate_key.Add
allow_blankforJWTClaimsRegistry.Improve callable key for
guess_key().
0.8.0¶
Released on September 06, 2023
Add ensure_kid method on key models.
Add
auto_kidparameter on key model.generate_keymethod.Improvements on type hints
0.7.0¶
Released on August 14, 2023
Add “iat” claims validation in JWT.
Add
__bool__magic method onjwk.KeySet.Raise
InvalidExchangeKeyErrorforexchange_derive_keyon Curve key.Improvements on type hints
0.6.0¶
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:
jws.JSONSignatureis replaced byjws.GeneralJSONSignatureandjws.FlattenedJSONSignature.jwe.JSONEncryptionis replaced byjwe.GeneralJSONEncryptionandjwe.FlattenedJSONEncryption.
0.5.0¶
Released on July 12, 2023
Add RFC7797 JSON Web Signature (JWS) Unencoded Payload Option
Fix
decrypt_jsonwhen there is noencrypted_keyRename JWE CompleteJSONSerialization to GeneralJSONSerialization
Rename
JSONEncryption.flattento.flattenedLoad and dump RSA, EC, and OKP key with password
Rename Curve key method:
exchange_shared_keytoexchange_derive_key
0.4.0¶
Released on July 6, 2023
Change
optionstoparametersfor JWK methodsChange
JWSRegistryandJWERegistryparametersGuess
sender_keyfrom JWKs in JWEAdd 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
0.3.0¶
Released on June 29, 2023
Return
strinstead ofbytesfor JWS and JWE serializationsAdd a
detach_contentmethod for JWSRemove
jwt.extractmethod, becauseextractwon’t work for JWEAdd
JWKRegistryfor JWKUpdate
JSONEncryption.add_recipientparametersExport register methods for JWE drafts
0.2.0¶
Released on June 25, 2023
A beta release.
0.1.0¶
Released on March 5, 2023
Initial release.