All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- A PEM-formatted key encoded as bytes could cause a
TypeError
to be raised #213
- Newer versions of Pytest could not detect warnings properly #182
- Non-string 'kid' value now raises
InvalidTokenError
#174 jwt.decode(None)
now gracefully fails withInvalidTokenError
#183
- Exclude Python cache files from PyPI releases.
- Added new options to require certain claims
(require_nbf, require_iat, require_exp) and raise
MissingRequiredClaimError
if they are not present. - If
audience=
orissuer=
is specified but the claim is not present,MissingRequiredClaimError
is now raised instead ofInvalidAudienceError
andInvalidIssuerError
- ECDSA (ES256, ES384, ES512) signatures are now being properly serialized #158
- RSA-PSS (PS256, PS384, PS512) signatures now use the proper salt length for PSS padding. #163
- Added a new
jwt.get_unverified_header()
to parse and return the header portion of a token prior to signature verification.
- Python 3.2 is no longer a supported platform. This version of Python is rarely used. Users affected by this should upgrade to 3.3+.
- Added back
verify_expiration=
argument tojwt.decode()
that was erroneously removed in v1.1.0.
- Refactored JWS-specific logic out of PyJWT and into PyJWS superclass. #141
verify_expiration=
argument tojwt.decode()
is now deprecated and will be removed in a future version. Use theoption=
argument instead.
- Added support for PS256, PS384, and PS512 algorithms. #132
- Added flexible and complete verification options during decode. #131
- Added this CHANGELOG.md file.
- Deprecated usage of the .decode(..., verify=False) parameter.
- Fixed command line encoding. #128
- Include jwt/contrib' and jwt/contrib/algorithms` in setup.py so that they will actually be included when installing. 882524d
- Fix bin/jwt after removing jwt.header(). bd57b02