This release upgrades openid-client and jose to their latest major versions v6, bringing improved security, performance, and standards compliance. See the V3 Migration Guide for full upgrade instructions.
-
Node.js version requirement - requires
^20.19.0 || ^22.12.0 || >= 23.0.0. Node.js 14–19 are no longer supported. -
httpAgentconfig removed - ThehttpAgentoption is no longer supported. Affects apps usinghttpAgentfor proxy configuration. -
clientAssertionSigningAlgnow required - The implicitRS256default has been removed. Affects apps usingclientAssertionSigningKeywith a PEM,Buffer,KeyObject, or a JWK without analgproperty. -
ES256KandEdDSAremoved fromclientAssertionSigningAlg-openid-clientv6 no longer supports these algorithm values. -
afterCallbacknow receives the incoming user's tokens, not the previous session -req.oidcinsideafterCallbacknow reflects the new tokens from the current authentication. Affects apps that readreq.oidcinsideafterCallbackto inspect the prior session. -
Session cookie silently dropped when headers are sent before
res.end()- v2 usedon-headers, which hookedres.writeHeadand could injectSet-Cookieregardless of how the response was written. v3 uses ares.endwrapper instead, so the cookie is written only atres.end(). Any response that flushes headers earlier viares.write(),res.flushHeaders(),res.writeHead(),res.sendFile(), orres.download()will haveres.headersSentset totrueby the time the cookie write runs, and the session cookie is silently dropped with no workaround. Standard OIDC flows are unaffected. -
clientAssertionSigningKeyTypeScript type updated -KeyInputandJSONWebKey(jose v2) are replaced bystring/BufferandJWKrespectively.CryptoKeyis newly supported. Runtime behavior is unchanged.