pac4j Release Notes
32 release notes curated from 2 sources by the Releasebot Team. Last updated: Oct 13, 2026
pac4j Products
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.6.0
pac4j releases OpenID4VP support, improves OIDC and SAML metadata resilience, and adds expiring stores. The update also strengthens authentication and JWT handling, streamlines resource configuration, and standardizes protocol message logging.
- Moved most test components from the org.pac4j.test package of the pac4j-core module into the new pac4j-test module (only MockWebContext, MockSessionStore, TestsConstants and TestsHelper remain in pac4j-core)
- Update dependencies. Especially Spring v7: although the project is built against this version, you may use older versions of Spring
- Rework the SpringResourceLoader behavior to improve the OIDC/SAML metadata loading resilience:
- retry every 2 seconds before anything has been loaded
- retry every 60 seconds after the first loading and return the old data in case of error
- the minimumDelayBetweenChangeDetectionInMilliseconds property is deprecated and ignored (with a warning)
- Fix OpenID federation forced signing of the auth request object for explicitly registered clients when it is not mandatory
- OIDC’s login hints can be provided dynamically as a login_hint request attribute
- Only empty credentials or a CredentialsException (from the CredentialsExtractor or the Authenticator) now block further authentication attempts of an indirect client: any other exception allows a retry.
- Added the ConcurrentMapStore, a Store expiring its entries (without any additional dependency), and the AbstractConcurrentMapStore for the values carrying their own expiration date
- The DefaultSessionLogoutHandler now uses a ConcurrentMapStore by default (30 minutes, no maximum size) instead of a GuavaStore: the pac4j-core module no longer needs Guava, unless a GuavaStore is configured
- Updated the JwkHelper:
- buildSignedJwt can now publish in the x5c header the certificate chain the signing key carries, for the protocols binding the identity of the signer to a certificate rather than to a key
- the new resolveSigningKey method reads the signing key from a JWKS, or from a keystore when the JWKS is not defined, the logic the OpenID federation used to hold
- the new generateKey method creates a signature key for a given algorithm, and loadJwkFromOrCreateJwks takes an optional algorithm for the key it creates when none exists yet, the default staying RSA-2048
- a signing key loaded from a keystore now carries the whole certificate chain of its entry, intermediate authorities included, instead of the certificate of the alias alone
- Added the OpenID4VP protocol support via the new pac4j-openid4vp module and the EudiWalletClient, OpenId4VpClient and OpenId4VpDcApiClient clients (+ OpenId4VpConfiguration and OpenId4VpDcApiConfiguration configurations)
- Added the ResourceProperties to define a resource by its path (new ResourceProperties(path)); the KeystoreProperties and JwksProperties now extend it (new KeystoreProperties(path), new JwksProperties(path)): use getResource(), setResource(...), setPath(...), the getKeystoreResource(), setKeystoreResource(...), setKeystorePath(...), getJwksResource(), setJwksResource(...) and setJwksPath(...) methods being deprecated
- The SAML identity and service provider metadata are now defined by ResourceProperties: use getIdentityProviderMetadata() and getServiceProviderMetadata(), the SAML2Configuration constructors and methods based on a Resource or a path for the keystore or the metadata being deprecated in favor of the SAML2Configuration(KeystoreProperties, ResourceProperties) constructor
- The JWKS of an OpenID federation trust anchor is now defined by JwksProperties: use getJwks() and the OidcTrustAnchorProperties(String, JwksProperties) constructor, the getJwksResource(), setJwksResource(...) and setJwksPath(...) methods and the other constructors being deprecated
- The messages exchanged by the SAML, CAS, OAuth, OpenID Connect and OpenID4VP supports are logged raw on the PROTOCOL_MESSAGE.SAML, PROTOCOL_MESSAGE.CAS, PROTOCOL_MESSAGE.OAUTH, PROTOCOL_MESSAGE.OIDC and PROTOCOL_MESSAGE.OPENID4VP loggers (all children of the PROTOCOL_MESSAGE logger), at DEBUG level, one line per message with its direction, the secrets of the application being masked (see the ProtocolMessages class and the SAML2ProtocolMessages, CasProtocolMessages, OAuthProtocolMessages, OidcProtocolMessages and OpenId4VpProtocolMessages classes): they are no longer logged on the loggers of the SAML, CAS, OAuth and OIDC classes, and SAML2Utils.logProtocolMessage is deprecated
- Normalize path in JEEContext.getPath()
- JwtAuthenticator: reject RSA/EC-only encryption without a signature; warn for other encryption-only configurations
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.9
pac4j fixes CSRF protection so it always applies to direct clients after indirect client authentication.
Security fix: always apply the CSRF protection for direct clients after an indirect client authentication
Original source All of your release notes in one feed
Join Releasebot and get updates from pac4j and hundreds of other software products.
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.8
pac4j rejects logout redirect URLs containing control characters or spaces, closing a browser-normalization open redirect.
Security fix: the logout redirect URL is rejected if it contains a control character or a space (the browsers strip tabs and new lines before parsing a URL, which allowed an open redirect with //evil.example.org)
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.7
pac4j skips OIDC nonce checks for bearer access tokens and supports OpenSAML initialization with standalone Apache Xerces.
OIDC: ProfileCreator - skip nonce when Bearer Access Token is used
SAML: OpenSAML can be initialized when a standalone Apache Xerces is on the classpath
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.6
pac4j strengthens authentication and session security with SAML, OIDC, OAuth, Keycloak, and redirect fixes, corrects profile type checks, and updates Apache HTTP components to address CVEs.
Security fixes/hardenings
- An unsigned SAML LogoutRequest can no longer destroy a session based on the NameID (when the IdP sends no SessionIndex) unless the signature is validated
- Fix an open redirect in the logout
- Fix the reversed profile type check of the CheckProfileTypeAuthorizer (this may change the outcome of existing type checks in both directions)
- The OIDC callback no longer accepts an access token without an authorization code or an ID token
- The UserInfo subject is now compared to the ID token subject if available
- The Keycloak access token is now validated before its roles are added to the profile (no role is added if it cannot be validated)
- Display a warning if no state parameter is enabled for the OAuth 2 protocol
- Upgrade httpclient5 (and httpclient5-cache) to v5.6.4 and httpcore5 to v5.4.3 as a precaution against three CVEs (CVE-2026-54399, CVE-2026-54428, CVE-2026-71290)
- JEESessionStore: Consider invalidated session in set method (handle IllegalStateException)
Similar to pac4j with recent updates:
- Smokeball release notes147 release notes · Latest Oct 2, 2026
- Cosmolex release notes20 release notes · Latest Jul 30, 2025
- PracticePanther release notes36 release notes · Latest Aug 11, 2026
- Salesforce release notes77 release notes · Latest Oct 1, 2026
- Microsoft release notes950 release notes · Latest Oct 8, 2026
- Zoom release notes219 release notes · Latest Sep 24, 2026
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.5
pac4j now lets OpenID federation trust anchors be defined by URL alone, while recommending out-of-band JWKS configuration.
OpenID federation: trust anchors can now be defined only by their URLs (without specifying the JWKS) although it is better to have the JWKS out of band
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.4
pac4j improves JWT warning messages and lets OIDC attribute names be mapped through OidcConfiguration.setMappedClaims.
Improve JWT warning messages
OIDC attribute names can be mapped via the OidcConfiguration.setMappedClaims method
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.3
pac4j fixes missing SAML logout response attributes, corrects protocol-message logging, and addresses Velocity deprecations.
SAML protocol
- fix missing InResponseTo attribute in logout responses
- fix PROTOCOL_MESSAGE logging and Velocity deprecations
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.2
pac4j fixes OpenID federation registration content types, adds a missing audience claim, and respects claims in registration responses.
- Fix OpenID federation explicit registration request Content-Type value to application/entity-statement+jwt
- Fix OpenID federation explicit registration response Content-Type validation to expect application/explicit-registration-response+jwt
- Added missing audience claim to the OpenID federation explicit registration request
- respect scope, token_endpoint_auth_method, request_object_signing_alg, id_token_signed_response_alg and response_types claims from OpenID federation explicit registration response
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.1
pac4j fixes a security issue in the pac4j-core module.
Security fix on the pac4j-core module
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.5.0
pac4j removes legacy modules, updates profile serialization and OpenID Federation handling, and fixes JWKS signing while modernizing builds and warnings.
- Removed the GAE, CouchDB and SpringBoot modules
- Created the org.pac4j.test package for test components in the pac4j-core module instead of test-jar modules
- Removed the shading Maven phase
- Update PMD plugin (v3.28.0)
- Deprecated the “legacy mode” for the (Ldap|Db|Mongo)ProfileService
- Default serializer for (Ldap|Db|Mongo)ProfileService is JsonSerializer (JavaSerializer is deprecated)
- Fix missing JWKS for request object signing
- OpenID Federation support:
- saves the received secret into a file during an explicit registration
- Generalized the Announcement concept to existing warnings here and there
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.4.2
pac4j removes a SAML provider metadata initialization check, fixes OidcConfiguration.toString(), and announces breaking changes.
Removes initialization check on the SP provider metadata resource/path (SAML support)
Fix bug in OidcConfiguration.toString()
Announcement on breaking changes
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.4.1
pac4j fixes SAML2 configuration initialization, adds entity statement expiry, and addresses security issues in core and LDAP.
Ensures proper initialization of SAML2Configuration
Expires the entity statement after validityInDays in DefaultEntityConfigurationGenerator
Security fixes on the pac4j-core and pac4j-ldap modules
Original source - October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.4.0
pac4j improves security with Shiro 2.1 and expands OpenID Connect support, adding federation, PAR, and signed request objects. It also updates JWT utilities and initialization behavior while marking several legacy modules and APIs for deprecation.
- Upgrade to Shiro v2.1 for security reasons. Defaults remain the ones of Shiro v1.13 though and will change in a future major version.
- Add the encryptionRequired flag (by default false) for the JWtAuthenticator
- KeystoreGenerator and its implementation FileSystemKeystoreGenerator are now in the core (copy/pasted from the SAML components)
OIDC support
- get/setPreferredJwsAlgorithm is deprecated in favor of get/setIdTokenSigningAlgorithm
- it supports the client_secret_jwt authentication method via the PrivateKeyJwtClientAuthnMethodConfig (PrivateKeyJWTClientAuthnMethodConfig is deprecated)
- it supports the request object signing (on the authorization URL) via the config.setRequestObjectSigningAlgorithm
- it supports the PAR mechanism on the authorization URL
- Support for the OpenID Connect Federation protocol v1.0
- Improve object initialization by avoiding re-entrant calls
- Limit detection change in SpringResourceLoader (interval: 60s)
- The JWKHelper (pac4j-jwt) is deprecated and replaced by JwkHelper (in pac4j-core) for pac4j-jwt and pac4j-oidc
- The pac4j-gae, pac4j-couchdb and pac4j-springboot modules are deprecated and will be removed in the next version 6.5.0
- The pac4j-javaee module is deprecated and you should upgrade to the pac4j-jakartaee module
- The pac4j-config module is deprecated: you should define your pac4j configuration programmatically
- October 2026
- No date parsed from source.
- First seen by Releasebot:Oct 13, 2026
v6.3.4
pac4j upgrades Jackson to version 2.21.1, with annotations updated to 2.21.
Upgrade Jackson to v2.21.1 (annotations to v2.21)
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.