CHANGELOG.md
171 lines
| 1 | # Changelog |
| 2 | |
| 3 | ## [](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) |
| 4 | |
| 5 | |
| 6 | ### Features |
| 7 | |
| 8 | * 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)) |
| 9 | |
| 10 | ## [](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) |
| 11 | |
| 12 | |
| 13 | ### Features |
| 14 | |
| 15 | * 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)) |
| 16 | |
| 17 | ## [](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) |
| 18 | |
| 19 | |
| 20 | ### Bug Fixes |
| 21 | |
| 22 | * 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)) |
| 23 | * 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)) |
| 24 | |
| 25 | ## [](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) |
| 26 | |
| 27 | |
| 28 | ### Features |
| 29 | |
| 30 | * 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)) |
| 31 | |
| 32 | |
| 33 | ### Bug Fixes |
| 34 | |
| 35 | * 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)) |
| 36 | |
| 37 | ## [](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) |
| 38 | |
| 39 | |
| 40 | ### Features |
| 41 | |
| 42 | * 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)) |
| 43 | |
| 44 | ## [](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) |
| 45 | |
| 46 | |
| 47 | ### Features |
| 48 | |
| 49 | * 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)) |
| 50 | |
| 51 | |
| 52 | ### Bug Fixes |
| 53 | |
| 54 | * 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)) |
| 55 | |
| 56 | ## [](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) |
| 57 | |
| 58 | |
| 59 | ### Bug Fixes |
| 60 | |
| 61 | * 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)) |
| 62 | |
| 63 | |
| 64 | ### Miscellaneous Chores |
| 65 | |
| 66 | * 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)) |
| 67 | |
| 68 | ## [](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) |
| 69 | |
| 70 | |
| 71 | ### Features |
| 72 | |
| 73 | * 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)) |
| 74 | * 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)) |
| 75 | |
| 76 | ## [](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) |
| 77 | |
| 78 | |
| 79 | ### Bug Fixes |
| 80 | |
| 81 | * 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)) |
| 82 | |
| 83 | ## [](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) |
| 84 | |
| 85 | |
| 86 | ### Bug Fixes |
| 87 | |
| 88 | * 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)) |
| 89 | * 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)) |
| 90 | |
| 91 | ## 6.3.0 / 2022-07-15 |
| 92 | |
| 93 | - 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)) |
| 94 | - 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)) |
| 95 | |
| 96 | ## 6.2.0 / 2022-05-14 |
| 97 | |
| 98 | - 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)) |
| 99 | - 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)). |
| 100 | |
| 101 | ## 6.1.0 / 2022-03-23 |
| 102 | |
| 103 | - Drop support for PHP 5.3, 5.4, 5.5, 5.6, and 7.0 |
| 104 | - Add parameter typing and return types where possible |
| 105 | |
| 106 | ## 6.0.0 / 2022-01-24 |
| 107 | |
| 108 | - **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. |
| 109 | - New Key object to prevent key/algorithm type confusion (#365) |
| 110 | - Add JWK support (#273) |
| 111 | - Add ES256 support (#256) |
| 112 | - Add ES384 support (#324) |
| 113 | - Add Ed25519 support (#343) |
| 114 | |
| 115 | ## 5.0.0 / 2017-06-26 |
| 116 | - Support RS384 and RS512. |
| 117 | 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)! |
| 118 | - Add an example for RS256 openssl. |
| 119 | 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)! |
| 120 | - Detect invalid Base64 encoding in signature. |
| 121 | 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)! |
| 122 | - Update `JWT::verify` to handle OpenSSL errors. |
| 123 | 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)! |
| 124 | - Add `array` type hinting to `decode` method |
| 125 | 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)! |
| 126 | - Add all JSON error types. |
| 127 | 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)! |
| 128 | - Bugfix 'kid' not in given key list. |
| 129 | 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)! |
| 130 | - Miscellaneous cleanup, documentation and test fixes. |
| 131 | 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), |
| 132 | [](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 |
| 133 | [](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), |
| 134 | [](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)! |
| 135 | |
| 136 | ## 4.0.0 / 2016-07-17 |
| 137 | - 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)! |
| 138 | - 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)! |
| 139 | - 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)! |
| 140 | - 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)! |
| 141 | |
| 142 | ## 3.0.0 / 2015-07-22 |
| 143 | - Minimum PHP version updated from `5.2.0` to `5.3.0`. |
| 144 | - Add `\Firebase\JWT` namespace. See |
| 145 | [](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 |
| 146 | [](https://github.com/Dashron@Dashron](https://github.com/Dashron](https://github.com/Dashron)! |
| 147 | - Require a non-empty key to decode and verify a JWT. See |
| 148 | [](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 |
| 149 | [](https://github.com/sjones608@sjones608](https://github.com/sjones608](https://github.com/sjones608)! |
| 150 | - Cleaner documentation blocks in the code. See |
| 151 | [](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 |
| 152 | [](https://github.com/johanderuijter@johanderuijter](https://github.com/johanderuijter](https://github.com/johanderuijter)! |
| 153 | |
| 154 | ## 2.2.0 / 2015-06-22 |
| 155 | - Add support for adding custom, optional JWT headers to `JWT::encode()`. See |
| 156 | [](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 |
| 157 | [](https://github.com/mcocaro@mcocaro](https://github.com/mcocaro](https://github.com/mcocaro)! |
| 158 | |
| 159 | ## 2.1.0 / 2015-05-20 |
| 160 | - Add support for adding a leeway to `JWT:decode()` that accounts for clock skew |
| 161 | between signing and verifying entities. Thanks to [](https://github.com/lcabral@lcabral](https://github.com/lcabral](https://github.com/lcabral)! |
| 162 | - Add support for passing an object implementing the `ArrayAccess` interface for |
| 163 | `$keys` argument in `JWT::decode()`. Thanks to [](https://github.com/aztech-dev@aztech-dev](https://github.com/aztech-dev](https://github.com/aztech-dev)! |
| 164 | |
| 165 | ## 2.0.0 / 2015-04-01 |
| 166 | - **Note**: It is strongly recommended that you update to > v2.0.0 to address |
| 167 | known security vulnerabilities in prior versions when both symmetric and |
| 168 | asymmetric keys are used together. |
| 169 | - Update signature for `JWT::decode(...)` to require an array of supported |
| 170 | algorithms to use when verifying token signatures. |
| 171 |