Version 4.0.0
A new version of the library, including a couple of improvements:
- No longer include a polyfill for atob, as this is supported in all major browsers (and node environments > 14).
- Compile to ES2017, dropping support for anything that does not support ES2017 (which should be very limited according to caniuse)
- Use Node's atob when running on node.
- Drop support for Node 14 and 16, add support for Node 20.
- Add support for package.json's
exports
field, for better CJS/ESM support - Reorganize build artifacts for better CJS/ESM support (cjs and esm needs to be their own directory with a cjs specific package.json file)
- Drop manual UMD bundle creation in
index.standalone.ts
, but rely on rollup instead. - Infer JwtPayload and JwtHeader default types from the
header
argument by using overloads.
Even though some users might experience breaking changes, mostly because of the exports
field, the majority should be able to update without making any changes, assuming the SDK is used in environments with support for atob
.
The jwtDecode
function is now no longer the default export, and is instead provided as a named export. Make sure to update your code in places where you are importing this function:
-import jwtDecode from "jwt-decode";
+import { jwtDecode } from "jwt-decode";
Version 4.0.0-beta.4
Breaking changes
Fixed
- fix default condition should be the last one #199 (frederikprijck)
Version 4.0.0-beta.3
Breaking changes
- Drop UMD bundle #193 (frederikprijck)
Changed
- Use modern JavaScript syntax #187 (jonkoops)
- Use ESNext as default module system #188 (jonkoops)
- Avoid using any bundlers but use tsc instead #192 (frederikprijck)
Version 4.0.0-beta.2
Changed
- Avoid using default exports #175 (frederikprijck)
- Make options optional no default function parameter initializer #179 (cristobal)
Fixed
Version 4.0.0-beta.1
Fixed
- Ensure build is run on prepack #167 (frederikprijck)
Version 4.0.0-beta.0
A new version of the library, including a couple of improvements:
- No longer include a polyfill for atob, as this is supported in all major browsers (and node environments > 14).
- Compile to ES2017, dropping support for anything that does not support ES2017 (which should be very limited according to caniuse)
- Use Node's atob when running on node.
- Drop support for Node 14, add support for Node 20.
- Add support for package.json's
exports
field, for better CJS/ESM support - Reorganize build artifacts for better CJS/ESM support (cjs and esm needs to be their own directory with a cjs specific package.json file)
- Drop manual UMD bundle creation in
index.standalone.ts
, but rely on rollup instead. - Infer JwtPayload and JwtHeader default types from the
header
argument by using overloads.
Additionally, this PR ensures the file size is decreased:
- ESM and CJS decreased by 22%
- UMD decreased by 37%
Even though some users might experience breaking changes, mostly because of the exports
field, the majority should be able to update without making any changes, assuming the SDK is used in environments with support for atob
.
Version 3.1.2
- Add a generic as return type so the user can specify what's expected, this will still be
unknown
by default - Export
JwtHeader
andJwtPayload
that can be used with the generic return type as-is or extended.
Version 3.1.0
- Add TypeScript type definition
- Fix CJS default export
Version 3.0.0
- Include an ESM build for native JavaScript imports
Warning: this version has some potentially breaking changes!
- If you've previously imported the library as
import * as jwt_decode from 'jwt-decode'
, you'll have to change your import toimport jwt_decode from 'jwt-decode';
.