| 1 |
# Changelog |
| 2 |
|
| 3 |
## [](https://github.com/firebase/php-jwt/compare/v7.0.2...v7.0.37.0.3](https://github.com/firebase/php-jwt/compare/v7.0.2...v7.0.3](https://github.com/firebase/php-jwt/compare/v7.0.2...v7.0.3) (2026-02-18) |
| 4 |
|
| 5 |
|
| 6 |
### Miscellaneous Chores |
| 7 |
|
| 8 |
* add environment for Release Please job ([](https://github.com/firebase/php-jwt/issues/619#619](https://github.com/firebase/php-jwt/issues/619](https://github.com/firebase/php-jwt/issues/619)) ([](https://github.com/firebase/php-jwt/commit/300fd02c883f096c9067df652dbd23f62cb5e2a7300fd02](https://github.com/firebase/php-jwt/commit/300fd02c883f096c9067df652dbd23f62cb5e2a7](https://github.com/firebase/php-jwt/commit/300fd02c883f096c9067df652dbd23f62cb5e2a7)) |
| 9 |
|
| 10 |
## [](https://github.com/firebase/php-jwt/compare/v7.0.1...v7.0.27.0.2](https://github.com/firebase/php-jwt/compare/v7.0.1...v7.0.2](https://github.com/firebase/php-jwt/compare/v7.0.1...v7.0.2) (2025-12-16) |
| 11 |
|
| 12 |
|
| 13 |
### Bug Fixes |
| 14 |
|
| 15 |
* add key length validation for ec keys ([](https://github.com/firebase/php-jwt/issues/615#615](https://github.com/firebase/php-jwt/issues/615](https://github.com/firebase/php-jwt/issues/615)) ([](https://github.com/firebase/php-jwt/commit/7044f9ae7e7d175d28cca71714feb236f1c0e2527044f9a](https://github.com/firebase/php-jwt/commit/7044f9ae7e7d175d28cca71714feb236f1c0e252](https://github.com/firebase/php-jwt/commit/7044f9ae7e7d175d28cca71714feb236f1c0e252)) |
| 16 |
|
| 17 |
## [](https://github.com/firebase/php-jwt/compare/v6.11.1...v7.0.07.0.0](https://github.com/firebase/php-jwt/compare/v6.11.1...v7.0.0](https://github.com/firebase/php-jwt/compare/v6.11.1...v7.0.0) (2025-12-15) |
| 18 |
|
| 19 |
|
| 20 |
### ⚠️ ⚠️ ⚠️ Security Fixes ⚠️ ⚠️ ⚠️ |
| 21 |
* add key size validation ([](https://github.com/firebase/php-jwt/issues/613#613](https://github.com/firebase/php-jwt/issues/613](https://github.com/firebase/php-jwt/issues/613)) ([](https://github.com/firebase/php-jwt/commit/6b80341bf57838ea2d011487917337901cd715766b80341](https://github.com/firebase/php-jwt/commit/6b80341bf57838ea2d011487917337901cd71576](https://github.com/firebase/php-jwt/commit/6b80341bf57838ea2d011487917337901cd71576)) |
| 22 |
**NOTE**: This fix will cause keys with a size below the minimally allowed size to break. |
| 23 |
|
| 24 |
### Features |
| 25 |
|
| 26 |
* add SensitiveParameter attribute to security-critical parameters ([](https://github.com/firebase/php-jwt/issues/603#603](https://github.com/firebase/php-jwt/issues/603](https://github.com/firebase/php-jwt/issues/603)) ([](https://github.com/firebase/php-jwt/commit/4dbfac0260eeb0e9e643063c99998e3219cc539b4dbfac0](https://github.com/firebase/php-jwt/commit/4dbfac0260eeb0e9e643063c99998e3219cc539b](https://github.com/firebase/php-jwt/commit/4dbfac0260eeb0e9e643063c99998e3219cc539b)) |
| 27 |
* store timestamp in `ExpiredException` ([](https://github.com/firebase/php-jwt/issues/604#604](https://github.com/firebase/php-jwt/issues/604](https://github.com/firebase/php-jwt/issues/604)) ([](https://github.com/firebase/php-jwt/commit/f1748260d218a856b6a0c23715ac7fae1d7ca95bf174826](https://github.com/firebase/php-jwt/commit/f1748260d218a856b6a0c23715ac7fae1d7ca95b](https://github.com/firebase/php-jwt/commit/f1748260d218a856b6a0c23715ac7fae1d7ca95b)) |
| 28 |
|
| 29 |
|
| 30 |
### Bug Fixes |
| 31 |
|
| 32 |
* validate iat and nbf on payload ([](https://github.com/firebase/php-jwt/issues/568#568](https://github.com/firebase/php-jwt/issues/568](https://github.com/firebase/php-jwt/issues/568)) ([](https://github.com/firebase/php-jwt/commit/953b2c88bb445b7e3bb82a5141928f13d7343afd953b2c8](https://github.com/firebase/php-jwt/commit/953b2c88bb445b7e3bb82a5141928f13d7343afd](https://github.com/firebase/php-jwt/commit/953b2c88bb445b7e3bb82a5141928f13d7343afd)) |
| 33 |
|
| 34 |
## [](https://github.com/firebase/php-jwt/compare/v6.11.0...v6.11.16.11.1](https://github.com/firebase/php-jwt/compare/v6.11.0...v6.11.1](https://github.com/firebase/php-jwt/compare/v6.11.0...v6.11.1) (2025-04-09) |
| 35 |
|
| 36 |
|
| 37 |
### Bug Fixes |
| 38 |
|
| 39 |
* update error text for consistency ([](https://github.com/firebase/php-jwt/issues/528#528](https://github.com/firebase/php-jwt/issues/528](https://github.com/firebase/php-jwt/issues/528)) ([](https://github.com/firebase/php-jwt/commit/c11113afa13265e016a669e75494b9203b8a7775c11113a](https://github.com/firebase/php-jwt/commit/c11113afa13265e016a669e75494b9203b8a7775](https://github.com/firebase/php-jwt/commit/c11113afa13265e016a669e75494b9203b8a7775)) |
| 40 |
|
| 41 |
## [](https://github.com/firebase/php-jwt/compare/v6.10.2...v6.11.06.11.0](https://github.com/firebase/php-jwt/compare/v6.10.2...v6.11.0](https://github.com/firebase/php-jwt/compare/v6.10.2...v6.11.0) (2025-01-23) |
| 42 |
|
| 43 |
|
| 44 |
### Features |
| 45 |
|
| 46 |
* support octet typed JWK ([](https://github.com/firebase/php-jwt/issues/587#587](https://github.com/firebase/php-jwt/issues/587](https://github.com/firebase/php-jwt/issues/587)) ([](https://github.com/firebase/php-jwt/commit/7cb8a265fa81edf2fa6ef8098f5bc5ae573c33ad7cb8a26](https://github.com/firebase/php-jwt/commit/7cb8a265fa81edf2fa6ef8098f5bc5ae573c33ad](https://github.com/firebase/php-jwt/commit/7cb8a265fa81edf2fa6ef8098f5bc5ae573c33ad)) |
| 47 |
|
| 48 |
|
| 49 |
### Bug Fixes |
| 50 |
|
| 51 |
* refactor constructor Key to use PHP 8.0 syntax ([](https://github.com/firebase/php-jwt/issues/577#577](https://github.com/firebase/php-jwt/issues/577](https://github.com/firebase/php-jwt/issues/577)) ([](https://github.com/firebase/php-jwt/commit/29fa2ce9e0582cd397711eec1e80c05ce20fabca29fa2ce](https://github.com/firebase/php-jwt/commit/29fa2ce9e0582cd397711eec1e80c05ce20fabca](https://github.com/firebase/php-jwt/commit/29fa2ce9e0582cd397711eec1e80c05ce20fabca)) |
| 52 |
|
| 53 |
## [](https://github.com/firebase/php-jwt/compare/v6.10.1...v6.10.26.10.2](https://github.com/firebase/php-jwt/compare/v6.10.1...v6.10.2](https://github.com/firebase/php-jwt/compare/v6.10.1...v6.10.2) (2024-11-24) |
| 54 |
|
| 55 |
|
| 56 |
### Bug Fixes |
| 57 |
|
| 58 |
* Mitigate PHP8.4 deprecation warnings ([](https://github.com/firebase/php-jwt/issues/570#570](https://github.com/firebase/php-jwt/issues/570](https://github.com/firebase/php-jwt/issues/570)) ([](https://github.com/firebase/php-jwt/commit/76808fa227f3811aa5cdb3bf81233714b799a5b576808fa](https://github.com/firebase/php-jwt/commit/76808fa227f3811aa5cdb3bf81233714b799a5b5](https://github.com/firebase/php-jwt/commit/76808fa227f3811aa5cdb3bf81233714b799a5b5)) |
| 59 |
* support php 8.4 ([](https://github.com/firebase/php-jwt/issues/583#583](https://github.com/firebase/php-jwt/issues/583](https://github.com/firebase/php-jwt/issues/583)) ([](https://github.com/firebase/php-jwt/commit/e3d68b044421339443c74199edd020e03fb1887ee3d68b0](https://github.com/firebase/php-jwt/commit/e3d68b044421339443c74199edd020e03fb1887e](https://github.com/firebase/php-jwt/commit/e3d68b044421339443c74199edd020e03fb1887e)) |
| 60 |
|
| 61 |
## [](https://github.com/firebase/php-jwt/compare/v6.10.0...v6.10.16.10.1](https://github.com/firebase/php-jwt/compare/v6.10.0...v6.10.1](https://github.com/firebase/php-jwt/compare/v6.10.0...v6.10.1) (2024-05-18) |
| 62 |
|
| 63 |
|
| 64 |
### Bug Fixes |
| 65 |
|
| 66 |
* ensure ratelimit expiry is set every time ([](https://github.com/firebase/php-jwt/issues/556#556](https://github.com/firebase/php-jwt/issues/556](https://github.com/firebase/php-jwt/issues/556)) ([](https://github.com/firebase/php-jwt/commit/09cb2081c2c3bc0f61e2f2a5fbea5741f749864809cb208](https://github.com/firebase/php-jwt/commit/09cb2081c2c3bc0f61e2f2a5fbea5741f7498648](https://github.com/firebase/php-jwt/commit/09cb2081c2c3bc0f61e2f2a5fbea5741f7498648)) |
| 67 |
* ratelimit cache expiration ([](https://github.com/firebase/php-jwt/issues/550#550](https://github.com/firebase/php-jwt/issues/550](https://github.com/firebase/php-jwt/issues/550)) ([](https://github.com/firebase/php-jwt/commit/dda725033585ece30ff8cae8937320d7e9f18baedda7250](https://github.com/firebase/php-jwt/commit/dda725033585ece30ff8cae8937320d7e9f18bae](https://github.com/firebase/php-jwt/commit/dda725033585ece30ff8cae8937320d7e9f18bae)) |
| 68 |
|
| 69 |
## [](https://github.com/firebase/php-jwt/compare/v6.9.0...v6.10.06.10.0](https://github.com/firebase/php-jwt/compare/v6.9.0...v6.10.0](https://github.com/firebase/php-jwt/compare/v6.9.0...v6.10.0) (2023-11-28) |
| 70 |
|
| 71 |
|
| 72 |
### Features |
| 73 |
|
| 74 |
* allow typ header override ([](https://github.com/firebase/php-jwt/issues/546#546](https://github.com/firebase/php-jwt/issues/546](https://github.com/firebase/php-jwt/issues/546)) ([](https://github.com/firebase/php-jwt/commit/79cb30b729a22931b2fbd6b53f20629a83031ba979cb30b](https://github.com/firebase/php-jwt/commit/79cb30b729a22931b2fbd6b53f20629a83031ba9](https://github.com/firebase/php-jwt/commit/79cb30b729a22931b2fbd6b53f20629a83031ba9)) |
| 75 |
|
| 76 |
## [](https://github.com/firebase/php-jwt/compare/v6.8.1...v6.9.06.9.0](https://github.com/firebase/php-jwt/compare/v6.8.1...v6.9.0](https://github.com/firebase/php-jwt/compare/v6.8.1...v6.9.0) (2023-10-04) |
| 77 |
|
| 78 |
|
| 79 |
### Features |
| 80 |
|
| 81 |
* add payload to jwt exception ([](https://github.com/firebase/php-jwt/issues/521#521](https://github.com/firebase/php-jwt/issues/521](https://github.com/firebase/php-jwt/issues/521)) ([](https://github.com/firebase/php-jwt/commit/175edf958bb61922ec135b2333acf5622f2238a2175edf9](https://github.com/firebase/php-jwt/commit/175edf958bb61922ec135b2333acf5622f2238a2](https://github.com/firebase/php-jwt/commit/175edf958bb61922ec135b2333acf5622f2238a2)) |
| 82 |
|
| 83 |
## [](https://github.com/firebase/php-jwt/compare/v6.8.0...v6.8.16.8.1](https://github.com/firebase/php-jwt/compare/v6.8.0...v6.8.1](https://github.com/firebase/php-jwt/compare/v6.8.0...v6.8.1) (2023-07-14) |
| 84 |
|
| 85 |
|
| 86 |
### Bug Fixes |
| 87 |
|
| 88 |
* accept float claims but round down to ignore them ([](https://github.com/firebase/php-jwt/issues/492#492](https://github.com/firebase/php-jwt/issues/492](https://github.com/firebase/php-jwt/issues/492)) ([](https://github.com/firebase/php-jwt/commit/39368423beeaacb3002afa7dcb75baebf204fe7e3936842](https://github.com/firebase/php-jwt/commit/39368423beeaacb3002afa7dcb75baebf204fe7e](https://github.com/firebase/php-jwt/commit/39368423beeaacb3002afa7dcb75baebf204fe7e)) |
| 89 |
* different BeforeValidException messages for nbf and iat ([](https://github.com/firebase/php-jwt/issues/526#526](https://github.com/firebase/php-jwt/issues/526](https://github.com/firebase/php-jwt/issues/526)) ([](https://github.com/firebase/php-jwt/commit/0a53cf2986e45c2bcbf1a269f313ebf56a154ee40a53cf2](https://github.com/firebase/php-jwt/commit/0a53cf2986e45c2bcbf1a269f313ebf56a154ee4](https://github.com/firebase/php-jwt/commit/0a53cf2986e45c2bcbf1a269f313ebf56a154ee4)) |
| 90 |
|
| 91 |
## [](https://github.com/firebase/php-jwt/compare/v6.7.0...v6.8.06.8.0](https://github.com/firebase/php-jwt/compare/v6.7.0...v6.8.0](https://github.com/firebase/php-jwt/compare/v6.7.0...v6.8.0) (2023-06-14) |
| 92 |
|
| 93 |
|
| 94 |
### Features |
| 95 |
|
| 96 |
* add support for P-384 curve ([](https://github.com/firebase/php-jwt/issues/515#515](https://github.com/firebase/php-jwt/issues/515](https://github.com/firebase/php-jwt/issues/515)) ([](https://github.com/firebase/php-jwt/commit/5de4323f4baf4d70bca8663bd87682a69c656c3d5de4323](https://github.com/firebase/php-jwt/commit/5de4323f4baf4d70bca8663bd87682a69c656c3d](https://github.com/firebase/php-jwt/commit/5de4323f4baf4d70bca8663bd87682a69c656c3d)) |
| 97 |
|
| 98 |
|
| 99 |
### Bug Fixes |
| 100 |
|
| 101 |
* handle invalid http responses ([](https://github.com/firebase/php-jwt/issues/508#508](https://github.com/firebase/php-jwt/issues/508](https://github.com/firebase/php-jwt/issues/508)) ([](https://github.com/firebase/php-jwt/commit/91c39c72b22fc3e1191e574089552c1f2041c71891c39c7](https://github.com/firebase/php-jwt/commit/91c39c72b22fc3e1191e574089552c1f2041c718](https://github.com/firebase/php-jwt/commit/91c39c72b22fc3e1191e574089552c1f2041c718)) |
| 102 |
|
| 103 |
## [](https://github.com/firebase/php-jwt/compare/v6.6.0...v6.7.06.7.0](https://github.com/firebase/php-jwt/compare/v6.6.0...v6.7.0](https://github.com/firebase/php-jwt/compare/v6.6.0...v6.7.0) (2023-06-14) |
| 104 |
|
| 105 |
|
| 106 |
### Features |
| 107 |
|
| 108 |
* add ed25519 support to JWK (public keys) ([](https://github.com/firebase/php-jwt/issues/452#452](https://github.com/firebase/php-jwt/issues/452](https://github.com/firebase/php-jwt/issues/452)) ([](https://github.com/firebase/php-jwt/commit/e53979abae927de916a75b9d239cfda8ce32be2ae53979a](https://github.com/firebase/php-jwt/commit/e53979abae927de916a75b9d239cfda8ce32be2a](https://github.com/firebase/php-jwt/commit/e53979abae927de916a75b9d239cfda8ce32be2a)) |
| 109 |
|
| 110 |
## [](https://github.com/firebase/php-jwt/compare/v6.5.0...v6.6.06.6.0](https://github.com/firebase/php-jwt/compare/v6.5.0...v6.6.0](https://github.com/firebase/php-jwt/compare/v6.5.0...v6.6.0) (2023-06-13) |
| 111 |
|
| 112 |
|
| 113 |
### Features |
| 114 |
|
| 115 |
* allow get headers when decoding token ([](https://github.com/firebase/php-jwt/issues/442#442](https://github.com/firebase/php-jwt/issues/442](https://github.com/firebase/php-jwt/issues/442)) ([](https://github.com/firebase/php-jwt/commit/fb85f47cfaeffdd94faf8defdf07164abcdad6c3fb85f47](https://github.com/firebase/php-jwt/commit/fb85f47cfaeffdd94faf8defdf07164abcdad6c3](https://github.com/firebase/php-jwt/commit/fb85f47cfaeffdd94faf8defdf07164abcdad6c3)) |
| 116 |
|
| 117 |
|
| 118 |
### Bug Fixes |
| 119 |
|
| 120 |
* only check iat if nbf is not used ([](https://github.com/firebase/php-jwt/issues/493#493](https://github.com/firebase/php-jwt/issues/493](https://github.com/firebase/php-jwt/issues/493)) ([](https://github.com/firebase/php-jwt/commit/398ccd25ea12fa84b9e4f1085d5ff448c21ec797398ccd2](https://github.com/firebase/php-jwt/commit/398ccd25ea12fa84b9e4f1085d5ff448c21ec797](https://github.com/firebase/php-jwt/commit/398ccd25ea12fa84b9e4f1085d5ff448c21ec797)) |
| 121 |
|
| 122 |
## [](https://github.com/firebase/php-jwt/compare/v6.4.0...v6.5.06.5.0](https://github.com/firebase/php-jwt/compare/v6.4.0...v6.5.0](https://github.com/firebase/php-jwt/compare/v6.4.0...v6.5.0) (2023-05-12) |
| 123 |
|
| 124 |
|
| 125 |
### Bug Fixes |
| 126 |
|
| 127 |
* allow KID of '0' ([](https://github.com/firebase/php-jwt/issues/505#505](https://github.com/firebase/php-jwt/issues/505](https://github.com/firebase/php-jwt/issues/505)) ([](https://github.com/firebase/php-jwt/commit/9dc46a9c3e5801294249cfd2554c5363c9f9326a9dc46a9](https://github.com/firebase/php-jwt/commit/9dc46a9c3e5801294249cfd2554c5363c9f9326a](https://github.com/firebase/php-jwt/commit/9dc46a9c3e5801294249cfd2554c5363c9f9326a)) |
| 128 |
|
| 129 |
|
| 130 |
### Miscellaneous Chores |
| 131 |
|
| 132 |
* drop support for PHP 7.3 ([](https://github.com/firebase/php-jwt/issues/495#495](https://github.com/firebase/php-jwt/issues/495](https://github.com/firebase/php-jwt/issues/495)) |
| 133 |
|
| 134 |
## [](https://github.com/firebase/php-jwt/compare/v6.3.2...v6.4.06.4.0](https://github.com/firebase/php-jwt/compare/v6.3.2...v6.4.0](https://github.com/firebase/php-jwt/compare/v6.3.2...v6.4.0) (2023-02-08) |
| 135 |
|
| 136 |
|
| 137 |
### Features |
| 138 |
|
| 139 |
* add support for W3C ES256K ([](https://github.com/firebase/php-jwt/issues/462#462](https://github.com/firebase/php-jwt/issues/462](https://github.com/firebase/php-jwt/issues/462)) ([](https://github.com/firebase/php-jwt/commit/213924f51936291fbbca99158b11bd4ae56c2c95213924f](https://github.com/firebase/php-jwt/commit/213924f51936291fbbca99158b11bd4ae56c2c95](https://github.com/firebase/php-jwt/commit/213924f51936291fbbca99158b11bd4ae56c2c95)) |
| 140 |
* improve caching by only decoding jwks when necessary ([](https://github.com/firebase/php-jwt/issues/486#486](https://github.com/firebase/php-jwt/issues/486](https://github.com/firebase/php-jwt/issues/486)) ([](https://github.com/firebase/php-jwt/commit/78d3ed1073553f7d0bbffa6c2010009a0d483d5c78d3ed1](https://github.com/firebase/php-jwt/commit/78d3ed1073553f7d0bbffa6c2010009a0d483d5c](https://github.com/firebase/php-jwt/commit/78d3ed1073553f7d0bbffa6c2010009a0d483d5c)) |
| 141 |
|
| 142 |
## [](https://github.com/firebase/php-jwt/compare/v6.3.1...v6.3.26.3.2](https://github.com/firebase/php-jwt/compare/v6.3.1...v6.3.2](https://github.com/firebase/php-jwt/compare/v6.3.1...v6.3.2) (2022-11-01) |
| 143 |
|
| 144 |
|
| 145 |
### Bug Fixes |
| 146 |
|
| 147 |
* check kid before using as array index ([](https://github.com/firebase/php-jwt/commit/bad1b040d0c736bbf86814c6b5ae614f517cf7bdbad1b04](https://github.com/firebase/php-jwt/commit/bad1b040d0c736bbf86814c6b5ae614f517cf7bd](https://github.com/firebase/php-jwt/commit/bad1b040d0c736bbf86814c6b5ae614f517cf7bd)) |
| 148 |
|
| 149 |
## [](https://github.com/firebase/php-jwt/compare/v6.3.0...v6.3.16.3.1](https://github.com/firebase/php-jwt/compare/v6.3.0...v6.3.1](https://github.com/firebase/php-jwt/compare/v6.3.0...v6.3.1) (2022-11-01) |
| 150 |
|
| 151 |
|
| 152 |
### Bug Fixes |
| 153 |
|
| 154 |
* casing of GET for PSR compat ([](https://github.com/firebase/php-jwt/issues/451#451](https://github.com/firebase/php-jwt/issues/451](https://github.com/firebase/php-jwt/issues/451)) ([](https://github.com/firebase/php-jwt/commit/60b52b71978790eafcf3b95cfbd83db0439e8d2260b52b7](https://github.com/firebase/php-jwt/commit/60b52b71978790eafcf3b95cfbd83db0439e8d22](https://github.com/firebase/php-jwt/commit/60b52b71978790eafcf3b95cfbd83db0439e8d22)) |
| 155 |
* string interpolation format for php 8.2 ([](https://github.com/firebase/php-jwt/issues/446#446](https://github.com/firebase/php-jwt/issues/446](https://github.com/firebase/php-jwt/issues/446)) ([](https://github.com/firebase/php-jwt/commit/2e07d8a1524d12b69b110ad649f17461d068b8f22e07d8a](https://github.com/firebase/php-jwt/commit/2e07d8a1524d12b69b110ad649f17461d068b8f2](https://github.com/firebase/php-jwt/commit/2e07d8a1524d12b69b110ad649f17461d068b8f2)) |
| 156 |
|
| 157 |
## 6.3.0 / 2022-07-15 |
| 158 |
|
| 159 |
- Added ES256 support to JWK parsing ([](https://github.com/firebase/php-jwt/pull/399#399](https://github.com/firebase/php-jwt/pull/399](https://github.com/firebase/php-jwt/pull/399)) |
| 160 |
- Fixed potential caching error in `CachedKeySet` by caching jwks as strings ([](https://github.com/firebase/php-jwt/pull/435#435](https://github.com/firebase/php-jwt/pull/435](https://github.com/firebase/php-jwt/pull/435)) |
| 161 |
|
| 162 |
## 6.2.0 / 2022-05-14 |
| 163 |
|
| 164 |
- Added `CachedKeySet` ([](https://github.com/firebase/php-jwt/pull/397#397](https://github.com/firebase/php-jwt/pull/397](https://github.com/firebase/php-jwt/pull/397)) |
| 165 |
- Added `$defaultAlg` parameter to `JWT::parseKey` and `JWT::parseKeySet` ([](https://github.com/firebase/php-jwt/pull/426#426](https://github.com/firebase/php-jwt/pull/426](https://github.com/firebase/php-jwt/pull/426)). |
| 166 |
|
| 167 |
## 6.1.0 / 2022-03-23 |
| 168 |
|
| 169 |
- Drop support for PHP 5.3, 5.4, 5.5, 5.6, and 7.0 |
| 170 |
- Add parameter typing and return types where possible |
| 171 |
|
| 172 |
## 6.0.0 / 2022-01-24 |
| 173 |
|
| 174 |
- **Backwards-Compatibility Breaking Changes**: See the [](https://github.com/firebase/php-jwt/releases/tag/v6.0.0Release Notes](https://github.com/firebase/php-jwt/releases/tag/v6.0.0](https://github.com/firebase/php-jwt/releases/tag/v6.0.0) for more information. |
| 175 |
- New Key object to prevent key/algorithm type confusion (#365) |
| 176 |
- Add JWK support (#273) |
| 177 |
- Add ES256 support (#256) |
| 178 |
- Add ES384 support (#324) |
| 179 |
- Add Ed25519 support (#343) |
| 180 |
|
| 181 |
## 5.0.0 / 2017-06-26 |
| 182 |
- Support RS384 and RS512. |
| 183 |
See [](https://github.com/firebase/php-jwt/pull/117#117](https://github.com/firebase/php-jwt/pull/117](https://github.com/firebase/php-jwt/pull/117). Thanks [](https://github.com/joostfaassen@joostfaassen](https://github.com/joostfaassen](https://github.com/joostfaassen)! |
| 184 |
- Add an example for RS256 openssl. |
| 185 |
See [](https://github.com/firebase/php-jwt/pull/125#125](https://github.com/firebase/php-jwt/pull/125](https://github.com/firebase/php-jwt/pull/125). Thanks [](https://github.com/akeeman@akeeman](https://github.com/akeeman](https://github.com/akeeman)! |
| 186 |
- Detect invalid Base64 encoding in signature. |
| 187 |
See [](https://github.com/firebase/php-jwt/pull/162#162](https://github.com/firebase/php-jwt/pull/162](https://github.com/firebase/php-jwt/pull/162). Thanks [](https://github.com/psignoret@psignoret](https://github.com/psignoret](https://github.com/psignoret)! |
| 188 |
- Update `JWT::verify` to handle OpenSSL errors. |
| 189 |
See [](https://github.com/firebase/php-jwt/pull/159#159](https://github.com/firebase/php-jwt/pull/159](https://github.com/firebase/php-jwt/pull/159). Thanks [](https://github.com/bshaffer@bshaffer](https://github.com/bshaffer](https://github.com/bshaffer)! |
| 190 |
- Add `array` type hinting to `decode` method |
| 191 |
See [](https://github.com/firebase/php-jwt/pull/101#101](https://github.com/firebase/php-jwt/pull/101](https://github.com/firebase/php-jwt/pull/101). Thanks [](https://github.com/hywak@hywak](https://github.com/hywak](https://github.com/hywak)! |
| 192 |
- Add all JSON error types. |
| 193 |
See [](https://github.com/firebase/php-jwt/pull/110#110](https://github.com/firebase/php-jwt/pull/110](https://github.com/firebase/php-jwt/pull/110). Thanks [](https://github.com/gbalduzzi@gbalduzzi](https://github.com/gbalduzzi](https://github.com/gbalduzzi)! |
| 194 |
- Bugfix 'kid' not in given key list. |
| 195 |
See [](https://github.com/firebase/php-jwt/pull/129#129](https://github.com/firebase/php-jwt/pull/129](https://github.com/firebase/php-jwt/pull/129). Thanks [](https://github.com/stampycode@stampycode](https://github.com/stampycode](https://github.com/stampycode)! |
| 196 |
- Miscellaneous cleanup, documentation and test fixes. |
| 197 |
See [](https://github.com/firebase/php-jwt/pull/107#107](https://github.com/firebase/php-jwt/pull/107](https://github.com/firebase/php-jwt/pull/107), [](https://github.com/firebase/php-jwt/pull/115#115](https://github.com/firebase/php-jwt/pull/115](https://github.com/firebase/php-jwt/pull/115), |
| 198 |
[](https://github.com/firebase/php-jwt/pull/160#160](https://github.com/firebase/php-jwt/pull/160](https://github.com/firebase/php-jwt/pull/160), [](https://github.com/firebase/php-jwt/pull/161#161](https://github.com/firebase/php-jwt/pull/161](https://github.com/firebase/php-jwt/pull/161), and |
| 199 |
[](https://github.com/firebase/php-jwt/pull/165#165](https://github.com/firebase/php-jwt/pull/165](https://github.com/firebase/php-jwt/pull/165). Thanks [](https://github.com/akeeman@akeeman](https://github.com/akeeman](https://github.com/akeeman), |
| 200 |
[](https://github.com/chinedufn@chinedufn](https://github.com/chinedufn](https://github.com/chinedufn), and [](https://github.com/bshaffer@bshaffer](https://github.com/bshaffer](https://github.com/bshaffer)! |
| 201 |
|
| 202 |
## 4.0.0 / 2016-07-17 |
| 203 |
- Add support for late static binding. See [](https://github.com/firebase/php-jwt/pull/88#88](https://github.com/firebase/php-jwt/pull/88](https://github.com/firebase/php-jwt/pull/88) for details. Thanks to [](https://github.com/chappy84@chappy84](https://github.com/chappy84](https://github.com/chappy84)! |
| 204 |
- Use static `$timestamp` instead of `time()` to improve unit testing. See [](https://github.com/firebase/php-jwt/pull/93#93](https://github.com/firebase/php-jwt/pull/93](https://github.com/firebase/php-jwt/pull/93) for details. Thanks to [](https://github.com/josephmcdermott@josephmcdermott](https://github.com/josephmcdermott](https://github.com/josephmcdermott)! |
| 205 |
- Fixes to exceptions classes. See [](https://github.com/firebase/php-jwt/pull/81#81](https://github.com/firebase/php-jwt/pull/81](https://github.com/firebase/php-jwt/pull/81) for details. Thanks to [](https://github.com/Maks3w@Maks3w](https://github.com/Maks3w](https://github.com/Maks3w)! |
| 206 |
- Fixes to PHPDoc. See [](https://github.com/firebase/php-jwt/pull/76#76](https://github.com/firebase/php-jwt/pull/76](https://github.com/firebase/php-jwt/pull/76) for details. Thanks to [](https://github.com/akeeman@akeeman](https://github.com/akeeman](https://github.com/akeeman)! |
| 207 |
|
| 208 |
## 3.0.0 / 2015-07-22 |
| 209 |
- Minimum PHP version updated from `5.2.0` to `5.3.0`. |
| 210 |
- Add `\Firebase\JWT` namespace. See |
| 211 |
[](https://github.com/firebase/php-jwt/pull/59#59](https://github.com/firebase/php-jwt/pull/59](https://github.com/firebase/php-jwt/pull/59) for details. Thanks to |
| 212 |
[](https://github.com/Dashron@Dashron](https://github.com/Dashron](https://github.com/Dashron)! |
| 213 |
- Require a non-empty key to decode and verify a JWT. See |
| 214 |
[](https://github.com/firebase/php-jwt/pull/60#60](https://github.com/firebase/php-jwt/pull/60](https://github.com/firebase/php-jwt/pull/60) for details. Thanks to |
| 215 |
[](https://github.com/sjones608@sjones608](https://github.com/sjones608](https://github.com/sjones608)! |
| 216 |
- Cleaner documentation blocks in the code. See |
| 217 |
[](https://github.com/firebase/php-jwt/pull/62#62](https://github.com/firebase/php-jwt/pull/62](https://github.com/firebase/php-jwt/pull/62) for details. Thanks to |
| 218 |
[](https://github.com/johanderuijter@johanderuijter](https://github.com/johanderuijter](https://github.com/johanderuijter)! |
| 219 |
|
| 220 |
## 2.2.0 / 2015-06-22 |
| 221 |
- Add support for adding custom, optional JWT headers to `JWT::encode()`. See |
| 222 |
[](https://github.com/firebase/php-jwt/pull/53/files#53](https://github.com/firebase/php-jwt/pull/53/files](https://github.com/firebase/php-jwt/pull/53/files) for details. Thanks to |
| 223 |
[](https://github.com/mcocaro@mcocaro](https://github.com/mcocaro](https://github.com/mcocaro)! |
| 224 |
|
| 225 |
## 2.1.0 / 2015-05-20 |
| 226 |
- Add support for adding a leeway to `JWT:decode()` that accounts for clock skew |
| 227 |
between signing and verifying entities. Thanks to [](https://github.com/lcabral@lcabral](https://github.com/lcabral](https://github.com/lcabral)! |
| 228 |
- Add support for passing an object implementing the `ArrayAccess` interface for |
| 229 |
`$keys` argument in `JWT::decode()`. Thanks to [](https://github.com/aztech-dev@aztech-dev](https://github.com/aztech-dev](https://github.com/aztech-dev)! |
| 230 |
|
| 231 |
## 2.0.0 / 2015-04-01 |
| 232 |
- **Note**: It is strongly recommended that you update to > v2.0.0 to address |
| 233 |
known security vulnerabilities in prior versions when both symmetric and |
| 234 |
asymmetric keys are used together. |
| 235 |
- Update signature for `JWT::decode(...)` to require an array of supported |
| 236 |
algorithms to use when verifying token signatures. |
| 237 |
|