The PEMImportOptions type interface is renamed to KeyImportOptions.
all builds and bundles now use ES2022 as target
createRemoteJWKSet now uses fetch, because of that its Node.js only options.agent property has been removed and new fetch-related options were added
drop support for Ed448 and X448
drop support for JWK key_ops and CryptoKey usages "(un)wrapKey" and "deriveKey"
resolved keys returned as part of verify/decrypt operations (when get key functions are used) are always normalized to either Uint8Array / CryptoKey depending on what's more efficient for the executed operation
Key "Type" Generics are removed
CJS-style require is now only possible when require(esm) support is present in the Node.js runtime
private KeyObject instances can no longer be used for verify operations
private KeyObject instances can no longer be used for encryption operations
generateSecret, generateKeyPair, importPKCS8, importSPKI, importJWK, and importX509 now yield a CryptoKey instead of a KeyObject in Node.js
drop support for Node.js 18.x and earlier
runtime-specific npm releases (jose-browser-runtime, jose-node-cjs-runtime, and jose-node-esm-runtime) are no longer maintained or supported
removed secp256k1 JWS support
removed deprecated experimental APIs
removed RSA1_5 JWE support
Features
enable CryptoKey and KeyObject inputs in JWK thumbprint functions (6fc9c44)
JSON Web Key is now an allowed input everywhere (ebda967)