Skip to content

Draft: Update All Maven dependencies to v26 (major)

Renovate Bot requested to merge renovate/major-all-maven-dependencies into main

This MR contains the following updates:

Package Type Update Change
org.keycloak:keycloak-services (source) provided major 25.0.6 -> 26.2.3
org.keycloak:keycloak-server-spi-private (source) provided major 25.0.6 -> 26.2.3
org.keycloak:keycloak-core (source) provided major 25.0.6 -> 26.2.3
org.keycloak:keycloak-server-spi (source) provided major 25.0.6 -> 26.2.3

Release Notes

keycloak/keycloak (org.keycloak:keycloak-services)

v26.2.3

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

New features

  • #​38985 Possibility to log details and representation to the jboss-logging listener

Enhancements

  • #​39080 Standardize introductory text in Keycloak guides

Bugs

  • #​38104 Temporary failure in name resolution with nip.io ci
  • #​38145 Unknown error on authentication-flow delete action admin/ui
  • #​38482 SAML client certificate not persisted admin/ui
  • #​38487 [Keycloak Operator CI] - Test remote (slow) - UpdateTest.testExplicitStrategy ci
  • #​38660 Ldap federation seems to open and keep open a new thread/connection for each ldap request ldap
  • #​38671 Duplicate Key Violation When Reauthenticating After Account Deletion via Google identity-brokering
  • #​38703 Password Policy Changes get overwritten in the UI admin/ui
  • #​38799 Kerberos principal attribute value "comes back" when cleared. admin/ui
  • #​38873 Client Credentials tab : "Allow regex pattern comparison" toggle is always "On" on page load admin/ui
  • #​38911 Filtering of user- and admin-events by dateTo always returns empty results admin/api
  • #​38932 Home button always redirects to master realm when permission denied admin/ui
  • #​38934 UI: Readonly/disabled profile form input fields are visually indistinguishable from active fields account/ui
  • #​38964 [26.2.0/26.1.5] Regression: ClientList value is empty in UI for Custom UserStorageProviderFactory admin/ui
  • #​38970 Authentication request can fail with `unknown_error` authentication
  • #​39026 Fine-grained-permssion v2 Display problem admin/fine-grained-permissions
  • #​39037 UserInfo request fails by using an access token obtained in Hybrid flow with offline_access scope oidc
  • #​39046 Keycloak 26.2.0 can't authenticate to the H2 database after the upgrade core
  • #​39055 After import of keys an export doesn't include these values admin/ui
  • #​39065 Issue with SSL and `CertificatereloadManager` in Keycloak 26.2 when using Istio infinispan
  • #​39085 Redirects to admin endpoint 404s on hostname-admin / request scheme mismatch core
  • #​39124 [Operator CI] - Test remote (slow) ci
  • #​39180 Groups view: Filter/search bar disappears and groups not shown after clearing empty search results admin/ui
  • #​39182 Oracle driver problems in keycloak 26.2.1 dependencies
  • #​39187 Account console: defaultLocale item in select locale field account/ui
  • #​39206 Wrong UDP jgroups metric name docs
  • #​39219 Serverinfo response grows over time admin/api
  • #​39237 Deletion of a role is slow when when there are a lot of roles in the database core
  • #​39246 Duplicate user entries when searching custom attributes core
  • #​39274 Aurora DB should not update automatically to the latest minor version ci
  • #​39296 Inconsistent "grant_types" vs "grantTypes" Naming Causes GrantTypeCondition to Always Fail core
  • #​39312 SLO measurement should mention a month as a period docs

v26.2.2

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​39142 Make distribution startup timeout configurable testsuite

Bugs

  • #​39125 [Keycloak CI] - FIPS UT - Run crypto tests ci
  • #​39349 CVE-2025-3910 Two factor authentication bypass
  • #​39350 CVE-2025-3501 Keycloak hostname verification

v26.2.1

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​38956 Clarify upgrade instructions
  • #​39057 Change the title for Grafana dashboards guide to plural docs
  • #​39059 Document operator `Auto` update strategy when used with `podTemplate`

Bugs

  • #​38458 [FGAP] [UI] Permission search doesn't execute correct consequent search request admin/fine-grained-permissions
  • #​38692 Test coverage for count menthods when filtering admin/fine-grained-permissions
  • #​38767 Make group required when selecting a specific group creating a premission admin/ui
  • #​38812 Test failures in CI in Chrome tests ci
  • #​38846 StatefulSet reconciliation infinitely looping operator
  • #​38913 [FGAP] AvailableRoleMappings do not consider all-clients permissions admin/fine-grained-permissions
  • #​38920 Downstream docs have duplicate ID on sampling docs
  • #​38925 Blocking issue with increasing JVM thread count after migrating from 26.0.8 to 26.1.4 infinispan
  • #​38929 Permission details sometimes don't show the name of the client admin/fine-grained-permissions
  • #​38930 [Docs] Broken link in ExternalLinksTest for importmap docs
  • #​38937 Liquibase checksum mismatch when upgrading from Keycloak ≤ 22.0.4 directly to 26.2.x storage
  • #​38982 JpaRealmProvider getGroupByName return group duplicate due to change of comparison (like vs equal) ldap
  • #​39015 Keycloak operator with update strategy to Auto: missing imagePullSecrets operator
  • #​39096 Release note 26.2.0 has broken link docs

v26.2.0

Compare Source

Highlights

Supported Standard Token Exchange

In this release, we added support for the Standard token exchange! The token exchange feature was in preview for a long time, so we are glad to finally support the standard token exchange. For now, this is limited to exchanging the Internal token to internal token compliant with the Token exchange specification. It does not yet cover use cases related to identity brokering or subject impersonation. We hope to support even more token exchange use cases in subsequent releases.

For more details, see the Standard token exchange.

For information on how to upgrade from the legacy token exchange used in previous Keycloak versions, see the Upgrading Guide.

Fine-grained admin permissions supported

This release introduces support for a new version of fine-grained admin permissions. Version 2 (V2) provides enhanced flexibility and control over administrative access within realms. With this feature, administrators can define permissions for administering users, groups, clients, and roles without relying on broad administrative roles. V2 offers the same level of access control over realm resources as the previous version, with plans to extend its capabilities in future versions. Some key points follow:

  • Centralized Admin Console Management - New Permissions section was introduced to allow management from a single place without having to navigate to different places in the Admin Console.

  • Improved manageability - Administrators can more easily search and evaluate permissions when building a permission model for realm resources.

  • Resource-Specific and Global Permissions – Permissions can be defined for individual resources (such as specific users or groups), or entire resource types (such as all users or all groups).

  • Explicit Operation Scoping – Permissions are now independent, removing hidden dependencies between operations. Administrators must assign each scope explicitly, making it easier to see what is granted without needing prior knowledge of implicit relationships.

  • Per-Realm Enablement – Fine-Grained Admin Permissions can be enabled on a per-realm basis, allowing greater control over adoption and configuration.

For more details, see fine-grained admin permissions.

For more information about migration, see the Upgrading Guide.

Guides for metrics and Grafana dashboards

In addition to the list of useful metric names the Observability guides category now also contains a guide on how to display these metrics in Grafana. The guide contains two dashboards.

  • Keycloak troubleshooting dashboard - showing metrics related to service level indicators and troubleshooting.

  • Keycloak capacity planning dashboard - showing metrics related to estimating the load handled by Keycloak.

Zero-configuration secure cluster communication

For clustering multiple nodes, Keycloak uses distributed caches. Starting with this release for all TCP-based transport stacks, the communication between the nodes is encrypted with TLS and secured with automatically generated ephemeral keys and certificates.

This strengthens a secure-by-default setup and minimizes the configuration steps of new setups.

For more information, check the Securing Transport Stacks in the distributed caches guide.

Rolling updates for optimized and customized images

When using an optimized or customized image, the Keycloak Operator can now perform a rolling update for a new image if the old and the new image contain the same version of Keycloak. This is helpful when you want to roll out, for example, an updated theme or provider without downtime.

To use the functionality in the Operator, enable the Auto update strategy and the Keycloak Operator will on image change briefly start up the old and the new image to determine if a rolling update without downtime is possible. Read the section Managing Rolling Updates in the Keycloak Operator Advanced Configuration guide for more details on this functionality.

The checks to determine if a rolling update is possible are also available on the Keycloak command line so you can use them in your deployment pipeline. Continue reading in the Update Compatibility Tool guide for more information about the functionality available on the command line.

Additional query parameters in Admin Events API

The Admin Events API now supports filtering for events based on Epoc timestamps in addition to the previous yyyy-MM-dd format. This provides more fine-grained control of the window of events to retrieve.

A direction query parameter was also added, allowing controlling the order of returned items as asc or desc. In the past the events where always returned in desc order (most recent events first).

Finally, the returned event representations now also include the id, which provides a unique identifier for an event.

Logs support ECS format

All available log handlers now support ECS (Elastic Common Schema) JSON format. It helps to improve Keycloak​8217;s observability story and centralized logging.

For more details, see the Logging guide.

New cache for CRLs loaded for the X.509 authenticator

Now the Certificate Revocation Lists (CRL), that are used to validate certificates in the X.509 authenticator, are cached inside a new infinispan cache called crl. Caching improves the validation performance and decreases the memory consumption because just one CRL is maintained per source.

Check the crl-storage section in the All provider configuration guide to know the options for the new cache provider.

Operator creates NetworkPolicies to restrict traffic

The Keycloak Operator now creates by default a NetworkPolicy to restrict traffic to internal ports used for Keycloak​8217;s distributed caches.

This strengthens a secure-by-default setup and minimizes the configuration steps of new setups.

You can restrict the access to the management and HTTP endpoints further using the Kubernetes NetworkPolicies rule syntax.

Read more about this in the Operator Advanced configuration.

Option to reload trust and key material for the management interface

The https-management-certificates-reload-period option can be set to define the reloading period of key store, trust store, and certificate files referenced by https-management-* options for the management interface. Use -1 to disable reloading. Defaults to https-certificates-reload-period, which defaults to 1h (one hour).

For more information, check the Configuring the Management Interface guide.

Dynamic Authentication Flow selection using Client Policies

Introduced the ability to dynamically select authentication flows based on conditions such as requested scopes, ACR (Authentication Context Class Reference) and others. This can be achieved using Client Policies by combining the new AuthenticationFlowSelectorExecutor with conditions like the new ACRCondition. For more details, see the Server Administration Guide.

JWT Client authentication aligned with the latest OIDC specification

The latest version of the OpenID Connect Core Specification tightened the rules for audience validation in JWT client assertions for the Client Authentication methods private_key_jwt and client_secret_jwt . Keycloak now enforces by default that there is single audience in the JWT token used for client authentication.

For information on the changed audience validation in JWT Client authentication Keycloak versions, see the Upgrading Guide.

Many thanks to Thomas Darimont for the contribution.

Federated credentials are available now when fetching user credentials

Until now, querying user credentials using the User API will not return credentials managed by user storage providers and, as a consequence, prevent fetching additional metadata associated with federated credentials like the last time a credential was updated.

In this release, we are adding a new method getCredentials(RealmModel, UserModel) to the org.keycloak.credential.CredentialInputUpdater interface so that user storage providers can return the credentials they manage for a specific user in a realm. By doing this, user storage providers can indicate whether the credential is linked to it as well as provide additional metadata so that additional information can be shown when managing users through the administration console.

For LDAP, it should be possible now to see the last time the password was updated based on the standard pwdChangedTime attribute or, if using Microsoft AD, based on the pwdLastSet attribute.

In order to check if a credential is local - managed by Keycloak - or federated, you can check the federationLink property available from both CredentialRepresentation and CredentialModel types. If set, the federationLink property holds the UUID of the component model associated with a given user storage provider.

Token based authentication for SMTP (XOAUTH2)

The Keycloak outgoing SMTP mail configuration now supports token authentication (XOAUTH2). Many service providers (Microsoft, Google) are moving towards SMTP OAuth authentication and end the support for basic authentication. The token is gathered using Client Credentials Grant.

Many thanks to Sebastian Rose for the contribution.

New client configuration for access token header type

A new admin setting has been added: Clients ​8594; Advanced ​8594; Fine grain OpenID Connect configuration ​8594; Use "at+jwt" as access token header type

If enabled, access tokens will get header type at+jwt in compliance with rfc9068#section-2.1. Otherwise, the access token header type will be JWT.

This setting is turned off by default.

Many thanks to Laurids Møller Jepsen for the contribution.

OpenID for Verifiable Credential Issuance documentation

The OpenID for Verifiable Credential Issuance (OID4VCI) remains an experimental feature in Keycloak, but it received further improvements and especially the The documentation, with the steps how to try this feature.

You will find significant development and discussions in the Keycloak OAuth SIG. Anyone from the Keycloak community is welcome to join and provide the feedback.

Many thanks to all members of the OAuth SIG group for the participation in the development and discussions about this feature. Especially thanks to Awambeng Rodrick and Ingrid Kamga.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

New features

  • #​10438 Release process for OperatorHub operator
  • #​17171 Traefik SPI Provider
  • #​35507 Token exchange - permissions token-exchange
  • #​36306 New CLI command: update-compatibility
  • #​36520 New operator spec: upgrade strategy
  • #​36696 Support token type "at+jwt" for OAuth 2 access tokens oidc
  • #​36750 Create CA certificate for JGroups encryption
  • #​38523 Expose OTP Policy in FreeMarker Context for Login Themes login/ui

Enhancements

  • #​17432 Add support for SMTP OAuth 2.0 authentication for outgoing email core
  • #​19127 Improve docs about audience docs
  • #​19148 Token Exchange in "Securing Applications and Services" should mention admin_fine_grained_authz token-exchange
  • #​21728 Removal of X-XSS-Protection header core
  • #​23144 Review and document how refresh tokens are issued when executing token exchanges token-exchange
  • #​24297 Add authentication flow mapping to existing ACR implementation authentication
  • #​25154 `VERIFY_EMAIL` is not supported as an Application Initiated Action
  • #​26473 The way CRLs are currently loaded is slow and uses large amounts of memory authentication
  • #​27734 Use separate OLM channels for each major Keycloak release operator
  • #​28569 Ability to set DN for new users/groups seperate to DN used for search
  • #​30226 Admin-UI: disable Direct Access Grant by default when creating a new client
  • #​31797 Improved consent handling in token exchange (OIDC to OIDC Client) token-exchange
  • #​33357 Create some mechanism to catch duplicate keys in .properties file translations
  • #​33804 Support multiple mail domains for linked IDPs per organization organizations
  • #​33833 Replace `RTL_LANGUAGE_CODE` with Intl request
  • #​33946 Keycloak Admin Client: Close Session when Client is Closed
  • #​34132 Signed SAML metadata saml
  • #​34202 Improve useability of authentication flow UI admin/ui
  • #​34275 Organizations: Allow Organization Selection organizations
  • #​34343 CreatedResponseUtil.getCreatedId should expose the actual error message from the server admin/client-java
  • #​34720 Include broker session ID in IDENTITY_PROVIDER_LOGIN events
  • #​34764 Do not remove users in LDAP when queries return an empty result ldap
  • #​34922 IPv6 support: OLM tests not passing operator
  • #​34971 Extend InfiniSpan ProtoSchema with custom types
  • #​34989 Not email password policy provider: case insensitive comparison
  • #​35505 Support for multiple values of audience token-exchange
  • #​35861 Make client cert lookup honor the `proxy-trusted-addresses` option dist/quarkus
  • #​35901 Document how Keycloak is upgraded when Operator is upgraded via OLM docs
  • #​35995 Review usages of `ref` in `Inject` annotations as they not always translate to the identifier of the object being injected test-framework
  • #​36036 Make Network policy supported
  • #​36126 Add OpenSSF Scorecard badge to README
  • #​36262 Introduce guide for metrics provided by Keycloak docs
  • #​36266 Make user events feature supported
  • #​36440 Remove Node.js adapter documentation from main repo docs
  • #​36456 Clarify IPv6 JGroups requirements in Keycloak documenation
  • #​36501 Upgrade to Quarkus 3.17.x dist/quarkus
  • #​36557 Polishing of CreatedResponseUtil.getCreatedId admin/client-java
  • #​36600 Extend REST API for login and admin events to support sync scenarios
  • #​36671 Translation guide should show a more detailed translation status translations
  • #​36691 Upstream KC main docs to ROSA 4.17 in the sizing guide docs
  • #​36748 Operator: automatic upgrade strategy
  • #​36775 Add option to enable debugging for distribution server mode test-framework
  • #​36786 SPI for compatibility metadata
  • #​36794 Upgrade to Quarkus 3.20 LTS
  • #​36798 Add detail on dependencyManagement section for POM files
  • #​36840 Update Compatibility CLI: add feature flag
  • #​36854 Enable QUARKUS_LOG_JSON_LOG_FORMAT = ecs when logging in Keycloak dist/quarkus
  • #​36885 Improve UX of realm selector
  • #​36904 Add APIResponse annotations to User resources
  • #​36905 Add APIResponse annotations to Role resources
  • #​36906 Add APIResponse annotations to Client Scope resources
  • #​36907 Add APIResponse annotations to Realm resources
  • #​36908 Add APIResponse annotations to Organization resources
  • #​36941 Organization membership for federated users organizations
  • #​36996 Updated translation for "noAccount" in messages_ko.properties
  • #​37005 Login[v2]: Worsen appearance of list of Identity Providers login/ui
  • #​37011 Missing language: Slovenian translations
  • #​37014 Improve readability of relevant options in guides docs
  • #​37034 Remove redundant information from cache entries
  • #​37056 Upgrade to Quarkus 3.18.2 dist/quarkus
  • #​37062 Slow query when checking if a realm has brokers and brokering is enabled identity-brokering
  • #​37079 Improve docs about JPA provider configuration for DB migration strategy core
  • #​37083 Update screens for new realm selector
  • #​37087 Test logs for Quarkus IT are huge and cannot be viewed testsuite
  • #​37089 Stabilize `QuarkusPropertiesDistTest` for Windows in Quarkus IT testsuite
  • #​37093 Avoid sending JSON for user and client sessions to the database
  • #​37129 Create new guide for Keycloak Grafana dashboards
  • #​37145 Simplify translations by removing leading blanks in strings translations
  • #​37220 Operator: new CR status condition for upgrades
  • #​37225 Refactor OAuthClient used for testing test-framework
  • #​37306 Add full Keycloak CR HPA example to docs
  • #​37316 JGroups certificate rotation
  • #​37389 Make event metrics supported
  • #​37416 Operator: Implement an explicit update stategy
  • #​37428 Add a HTML sanitizer for translated message resources translations
  • #​37433 Allow admin to disable automatic refresh of event views admin/ui
  • #​37436 Quarkus 3.19.x upgrade
  • #​37458 Prevent proxy-protocol-enabled=true from being used proxy-headers set
  • #​37535 Add CLOMonitor Badge to the README
  • #​37582 Check surplus blanks in source strings translations
  • #​37584 Support RTL in HTML generated for emails translations
  • #​37624 Suppress info message about mapper config synchronizer core
  • #​37645 Changes needed for new realm selector admin/ui
  • #​37696 Document default key length (2048 bits) and key type (RSA) and make JGroups encryption enabled by default
  • #​37711 Upgrade to Infinispan 15.0.14
  • #​37850 Upgrade to Quarkus 3.19.2 dist/quarkus
  • #​37998 Improve Documentation for Email Event Listner
  • #​38107 Upgrade to Quarkus 3.20.0.CR1
  • #​38168 Make make the rolling updates feature supported versioned and supported
  • #​38212 Improve message when evaluating permission results admin/fine-grained-permissions
  • #​38263 Login[v2]: Use SVG Keycloak logo
  • #​38273 Support partial evaluation for the group resource type admin/fine-grained-permissions
  • #​38355 Add Italian and Romanian language to translations.md
  • #​38366 Polish the events thrown by client policies oidc
  • #​38398 Update javadoc of java admin-client for Keycloak 26.2 admin/client-java
  • #​38415 Login[v2]: WebAuthn/Passkeys screens are not polished
  • #​38426 New realm creation should validate the name uniqueness before hitting the DB
  • #​38445 Not possible to delegate creating or deleting RecoveryKeys credential to userStorage authentication
  • #​38459 Docker image creation simplification
  • #​38490 Support decoding EC private keys and PEM bundles in PEM/DER utilities
  • #​38540 Validate placeholder usage in frontend and backend messages
  • #​38568 Clear persistent user sessions cache on Keycloak cluster merge
  • #​38583 Rework titles in the observability guide
  • #​38596 Prevent NPE in `CryptoIntegration.setProvider(null)`
  • #​38644 Do not allow delete the FGAP client admin/fine-grained-permissions
  • #​38688 Adding a guide on how to use and enable exemplars
  • #​38732 Improvements to partial evaluation admin/fine-grained-permissions
  • #​38764 OTel: Unable to disable sampling at runtime; tracing-sampler-ratio validation prevents setting 0.0 dist/quarkus
  • #​38792 Add Janher to Dutch translation
  • #​38798 Update FGAP documentation admin/fine-grained-permissions
  • #​38819 Make sure that there is single audience allowed by default in JWT tokens sent to client authentication oidc
  • #​38837 Cache resource names associated to policies to improve partial evaluation admin/fine-grained-permissions

Bugs

  • #​26104 Improper Input Validation for Recovery Codes Setup authentication
  • #​26105 Users Can Change Recovery Codes Generation Timestamp authentication
  • #​26106 Recovery Code Validation Race Possible authentication
  • #​29585 Passkeys conditional UI authenticator: NullPointerException when filling some random username authentication/webauthn
  • #​29586 Passkeys conditional UI authenticator: NullPointerException when authenticated as removed user authentication/webauthn
  • #​32262 SAML Frontchannel Logout missing via Redirect or Post Binding is missing signature if login happened via artifact binding saml
  • #​32535 Invalid migration export for empty database core
  • #​32766 Translation error in messages_fr.properties translations
  • #​32921 Update realm erases browser security header fields admin/api
  • #​33332 External token (not issued by Keycloak) cannot be validated in token exchange flow in case user info check is disabled token-exchange
  • #​33432 UI Build complains about Typescript issue (TS2742) admin/ui
  • #​33475 quarkus-next: SunCertPathBuilderException: unable to find valid certification path to requested target ci
  • #​33477 LDAP groups not showing members in Groups when using memberOf attribute ldap
  • #​33524 Social login - several tests failing constantly ci
  • #​33743 Linked accounts displayed when there are no providers available account/ui
  • #​34364 User import gets exponentially slow import-export
  • #​34396 com.google.code.findbugs:jsr305 is old and no longer under active maintenance dependencies
  • #​34454 quarkus-next: StackOverflowError causes build failure dist/quarkus
  • #​34512 Keycloak OpenAPI specification doesn't match actual API implementation admin/api
  • #​34868 [Jenkins Operator CI] - Test remote - ClusteringTest on OpenShift ci
  • #​35020 Pasword creation date from active directory is wrong ldap
  • #​35261 liveness probe /health/live not UP while DB migrations initialization core
  • #​35580 AvailableRoleMappingResource.listAvailableUserRoleMappings returns the wrong roles when using fine grained permissions admin/fine-grained-permissions
  • #​35700 Very uncommon new german Weblate translation 'Berechtigungsnachweis' for login data /account credential translations
  • #​35833 Install on oracle database with custom schema fails on clean install storage
  • #​36103 Translation resolution bug in keycloak-admin-ui admin/ui
  • #​36159 Realm not found while exists and works if entered directly in the URL admin/ui
  • #​36195 CVE-2024-12397 - HTTP Request Smuggling in io.quarkus.http:quarkus-http-core dist/quarkus
  • #​36284 Fail to import realm during the startup with specific name file import-export
  • #​36285 Permission editor shows resource IDs instead of names admin/ui
  • #​36338 Scrollbar missing so I can't scroll to the last menu item on the left admin/ui
  • #​36345 [Keycloak CI] - Cookies tests - KcOidcBrokerTokenExchangeTest ci
  • #​36383 Operator tests failing on IPV6 environment operator
  • #​36405 Redirect after linking account account/ui
  • #​36409 Verify email required action shows presents message that email was sent even on errors core
  • #​36413 Empty state in new events tabs admin/ui
  • #​36447 ClientProtocolCondition.getProviderId() typo authentication
  • #​36460 Deployment artifacts for Quarkus extensions are not in deployment dir dist/quarkus
  • #​36464 Remove a duplicate code block
  • #​36475 DPoP: Refresh token created with DPoP can be refreshed without proof oidc
  • #​36476 DPoP: User Info Endpoint authorization type mismatch oidc
  • #​36478 Spelling and grammar mistakes in admin UI messages admin/ui
  • #​36482 The root cause of error is suppressed in KC 26 at building dependencies
  • #​36483 Wrong link for tracing in 26.1.0 release notes docs
  • #​36486 ExternalLinksTest is broken after Keycloak 26.1.0 release docs
  • #​36498 Duplicated code due to typo in DefaultHttpClientFactory core
  • #​36514 The organization claim does not appear if the Organization Membership Mapper is added through a custom client scope organizations
  • #​36517 Custom ClientAuthenticatorFactory with ProviderConfigProperty broken admin/ui
  • #​36518 Duplicate groups needs fine grained authorisation admin/ui
  • #​36527 Viewing user events requires `view-realm`-role admin/ui
  • #​36531 WebAuthN and dark mode: device icons are hardly readable login/ui
  • #​36535 Duplicate message keys for FA email template translations
  • #​36541 Unable to build from source using instructions core
  • #​36559 keycloak.v2 forms are too small for mobile view login/ui
  • #​36560 Policy enforcer do not handle suppressed server resources authorization-services
  • #​36569 Organization invite link leads to non-defined page, when clicked second time organizations
  • #​36585 Keycloak user attribute key broken in Keycloak 26.1.0 admin/ui
  • #​36596 Client session list doesn't show all sessions (again..) admin/ui
  • #​36598 Duplicated warning banner for temporary admin admin/ui
  • #​36611 TimeOffsetSupplier for new test framework doesn't reset time offset test-framework
  • #​36615 Unable to regenerate secret after changing client authenticator admin/ui
  • #​36621 Multi-valued control in user attributes doesn't sort entries and doesn't support autocomplete admin/ui
  • #​36629 All IDPs shown when reloading login page login/ui
  • #​36633 JGroups warning on startup infinispan
  • #​36649 When organizations feature is turned on, login_hint doesn't prefill identity-first login's page email field organizations
  • #​36669 --spi-connections-liquibase-default-index-creation-threshold does not work core
  • #​36675 Links error for https://jwt.io in documentation docs
  • #​36679 FIPS docs is incorrect docs
  • #​36697 kc.bat script doesn't allow multiple log level entries dist/quarkus
  • #​36703 When linking IDP to an organization hide on login sets as off admin/ui
  • #​36708 After importing SAML client certificate the client is broken and can't be saved admin/ui
  • #​36709 SAML2 Client Signing Keys Config does not accept PEM import admin/ui
  • #​36725 IPA-Tuura federation README needs a few fixes core
  • #​36728 Logging errors on DB transaction retries core
  • #​36732 External (IDP) token-exchange is possible even for clients needing user consents token-exchange
  • #​36745 Conflict when Keycloak uses an OpenShift cluster ingress certificate operator
  • #​36752 Addition of crl cache is a breaking change infinispan
  • #​36781 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportInternal ci
  • #​36782 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnSigningInTest#multipleSecurityKeys ci
  • #​36789 Seaching users in the user selector will not show the username for users already selected admin/ui
  • #​36811 OAuth 2.0 Device Authorization Grant Issues: Token Issued After Authorization Denial and Browser Back oidc
  • #​36826 NullPointerException when registering a oid4vc CredentialBuilder provider component oid4vc
  • #​36834 Documentation about ImportSynchronization mentions wrong interface UserStorageProvider storage
  • #​36837 Remove resources from permissions when updating the associated resources admin/fine-grained-permissions
  • #​36838 Update FGAP v2 to not grant permissions of all users when permission is granted only for a single user admin/fine-grained-permissions
  • #​36842 Comboxes do not display selected option after reset admin/ui
  • #​36843 Login with x-forwarded-for: IP address in user login event is null admin/cli
  • #​36844 Provide an option to force login after reset credentials authentication
  • #​36858 JDBC Ping with Docker infinispan
  • #​36861 AuthenticationFlowContext.getRefreshUrl(true) - adds auth_session_id query param in an old non-supported format core
  • #​36865 Error pulling from docker.io in DockerClientTest ci
  • #​36872 Duplicate admin UI message keys admin/ui
  • #​36874 Unrecognized configuration key "quarkus.smallrye-health.extensions.enabled" was provided dist/quarkus
  • #​36887 Outdated documentation about how to use reCAPTCHA in development with localhost docs
  • #​36902 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnErrorTest#errorPageWithTimeout ci
  • #​36916 [FGAP] User can see itself even though he has negative permission to view itself
  • #​36919 Latency issue after Keycloak version upgrade core
  • #​36926 Invoking dynamic client registration with lightweight access token results in a 404 oidc
  • #​36927 MeterFilter is configured after a Meter has been registered dist/quarkus
  • #​36945 Bad escape apostrophe character in messages_fr.properties login/ui
  • #​36965 CVE-2025-0736 Error during JGroups channel creation may reveal secure information
  • #​36985 Admin console: unable to edit user profile attribute either on the form or the JSON editor. admin/ui
  • #​36988 Typos in English email message templates translations
  • #​36998 UI tests failing admin/ui
  • #​37002 RawKeycloakDistribution creates empty directory when copying provider testsuite
  • #​37039 Certificate reloading dosen't work for management interface related certificate dist/quarkus
  • #​37066 Error on import of a public key (pem) authentication
  • #​37072 AccountRestService.supportedLocales is missing @​Produces account/api
  • #​37073 Account console not working on embedded Keycloak server account/ui
  • #​37081 Review how all resource type permissions are evaluated admin/fine-grained-permissions
  • #​37127 Organization invitation flow -> changing locale / language does not work organizations
  • #​37128 Customized quarkus.properties for MySQL cause "Unable to find the JDBC driver (org.h2.Driver)",The server fails to start. storage
  • #​37136 Password Setting modal box title is "Reset Password..." admin/ui
  • #​37162 Pods become unresponsive after upgrade to 26.1.0 infinispan
  • #​37169 Wrong organization claim assignment in JWT access token organizations
  • #​37207 Change default value for force-login option in reset-credential-email authentication
  • #​37229 Login form can be used to determine which email addresses / usernames are in the system login/ui
  • #​37268 Problems changing pre-defined user profile attributes admin/ui
  • #​37285 Upgrade to latest JGroups patch version
  • #​37298 Main is broken because of the OAuthClient changes testsuite
  • #​37320 Cannot fetch realm role that was renamed admin/api
  • #​37337 Make sure resources are properly managed when updating permissions admin/fine-grained-permissions
  • #​37360 CVE-2024-47072 - XStream is vulnerable to a Denial of Service attack due to stack overflow from a manipulated binary input stream
  • #​37392 [Jenkins Operator CI] - UpgradeTest#testImageChange ci
  • #​37393 Organizations: Adding LDAP federated user to org leads to org group being pushed to LDAP core
  • #​37415 Typo in English text for admin UI key resourceAttributeHelp translations
  • #​37431 Password policies like NoUsername consider case-sensitivity authentication
  • #​37434 External Link Test failing docs
  • #​37449 'Registration Flow' forms on organization invites should have the 'token' query parameter added to forms 'url.loginAction' organizations
  • #​37508 Allow refresh of session list in admin ui even if list is corrently empty admin/ui
  • #​37530 Missing translation for INVITE_ORG event in admin console admin/ui
  • #​37544 INVALID_REQUEST error code returned but not INVALID_SCOPE authentication
  • #​37546 new warnings with simple start-dev dist/quarkus
  • #​37552 The token exchange grant type not available in well-known endpoint when token-exchange-standard feature enabled oidc
  • #​37560 Flaky test OrganizationInvitationLinkTest testsuite
  • #​37570 Requested locale applied on first login page but not on following pages admin/ui
  • #​37571 Flaky test: org.keycloak.testsuite.actions.RequiredActionPriorityTest#executeRequiredActionWithCustomPriorityAppliesSamePriorityToSessionAndUserActions ci
  • #​37577 Property Name Casing Mismatch in ProtocolMapperUtils saml
  • #​37621 When calling the token revoke endpoint multiple times with the same token, a database REVOKED-TOKEN constraint error is reported storage
  • #​37656 [Keycloak Integration CI] - Extension - Start keycloak failed ci
  • #​37673 `ClientPolicyProvider` doesn't check for deleted Clients - throws NPE authorization-services
  • #​37675 Keycloak Fails to Load HTTPS Key Material (Incorrect Path Resolution) dist/quarkus
  • #​37690 [Operator] Test UpgradeTest is unstable ci
  • #​37694 Session type incorrectly set in access-token context when token created with scope=offline_access oidc
  • #​37710 Code editor is not displaying when viewing a policy from Clients → Authorization → Policies admin/ui
  • #​37715 Quick Theme needs icon support admin/ui
  • #​37744 Group search of nested groups does not work as expected core
  • #​37749 "remember me" session are reset as standard session after browser restart authentication
  • #​37766 API docs don't build after adding new ISPN compile time annotations ci
  • #​37772 Configuring log levels for package names with underscores dist/quarkus
  • #​37780 keycloak.conf allows for some quarkus. properties dist/quarkus
  • #​37781 Config expression may use the wrong value dist/quarkus
  • #​37792 Save Button Not Enabled When Switching OTP Type from "Time Based" to "Counter Based" admin/ui
  • #​37802 Add User to Organisation documentation wrong admin/api
  • #​37816 Compilation failure: KeycloakModelSchema cannot find symbol KeycloakModelSchemaImpl infinispan
  • #​37817 internal options are settable in non-cli config sources dist/quarkus
  • #​37824 Organization - Identity-First Flow automatic redirect only works with domain in login name organizations
  • #​37834 URI template for paths shouldn't allow nested braces core
  • #​37839 OIDC Backchannel Logout does not honour pairwise subject identifier oidc
  • #​37842 webauthn-authenticate.ftl broken login/ui
  • #​37843 Admin events: resource type filter does not work admin/ui
  • #​37869 ConditionalOtpFormAuthenticator fails to set CONFIGURE_TOTP required action for LDAP read-only users
  • #​37890 Add search filter to Organizations page admin/ui
  • #​37898 [Keycloak CI] - SSSD tests ci
  • #​37911 Unwanted placeholder texts in user profile fields admin/ui
  • #​37920 When testing/evaluating permissions UMA resources are not resolved properly authorization-services
  • #​37922 KeycloakModelUtils.findUserByNameOrEmail() returns null for email as "username" (realm setting: login with email disabled) core
  • #​37928 Custom Authenticator SPI MAP_TYPE default value ignored in Admin UI admin/ui
  • #​37930 Inconsistent use of single quotes in message resources translations
  • #​37941 Repeated info logs running an import infinispan
  • #​37944 KC_HTTPS_TRUST_STORE_TYPE not working dist/quarkus
  • #​37988 For external-to-internal token exchange when using the userinfo endpoint, information from access or ID token can't be extracted token-exchange
  • #​37992 Id of user federations not respecting UUID format, consequently warning logs "The given key is not a valid key per specification, future migration might fail" are raised core
  • #​38006 Polynomial regex in KeycloakUriBuilder core
  • #​38020 [FGAP] [UI] Remove the requirement for mandatory fields in admin console when creating policies
  • #​38029 User created with undefined locale except when they explicitely select their language login/ui
  • #​38030 Need a better 403 page for admin console admin/ui
  • #​38038 The default setting of the client request object parameter is empty admin/ui
  • #​38041 [Keycloak CI] - WebAuthn tests ci
  • #​38061 Selecting an indvidual Client Policy selects all client policies admin/ui
  • #​38063 Issue in clearing offline sessions internally using ClearExpiredUserSessions Scheduled task
  • #​38065 Login with admin-cli not possible with password starting with "@​@​" admin/cli
  • #​38078 Custom UI Tab Incorrectly Displayed Under Multiple Tabs admin/ui
  • #​38112 Worse UX with new realm selector admin/ui
  • #​38117 Login[v2]: Worsen UI design for login screens core
  • #​38119 Login[v2]: Keycloak logo is not fully visible core
  • #​38120 Login[v2]: Missing info section for screens core
  • #​38121 Login[v2]: Worsen login screen layout core
  • #​38127 Profile Custom Attribute Group: Click on attribute group changes URL, breaking the navigation in AdminUI admin/ui
  • #​38137 Cannot authenticate to "admin-cli" client due to Java null pointer exception admin/cli
  • #​38141 Account UI doesn't show max length validation for user profile account/ui
  • #​38143 Message format must not be used for UI messages account/ui
  • #​38152 Broken guides link on reverseproxy page docs
  • #​38162 Missing Space in Role Attribute View After Refresh admin/ui
  • #​38180 Unstable test TimeOffsetTest testsuite
  • #​38190 [Documentation CI] - External links check docs
  • #​38193 Managed resource not injected if a dependency is incompatible testsuite
  • #​38195 Injected HttpClient is always re-created testsuite
  • #​38208 Attribute added to managed test client with rollback is not removed testsuite
  • #​38240 [FGAP] [UI] Searching for permissions doesn't clear `Resource` field upon changing `Resource type` admin/fine-grained-permissions
  • #​38243 Updating a client with rollback in a test doesn't reset all values testsuite
  • #​38247 Keycloak rotate certificate without delay when rotation time is less then 100s infinispan
  • #​38249 Unable to activate user-event-metrics with optimized container image using the operator dist/quarkus
  • #​38250 Unexpected transformation of user labels in the Account UI account/ui
  • #​38253 ERROR Hostname v1 options [hostname-strict-https] are still in use on startup dist/quarkus
  • #​38257 Can not set user email to blank organizations
  • #​38260 File upload in realm settings is not working admin/ui
  • #​38269 Fine-Grain Admin Permissions: Difference in Policy Evaluation in v1 vs v2 admin/fine-grained-permissions
  • #​38281 [Keycloak CI] - AuroraDB IT - Error deleting AuroraDB ci
  • #​38282 [Keycloak JavaScript CI] - Admin UI E2E (chrome) - Upload Playwright report error ci
  • #​38284 `PartialEvaluator` ignores `view-*` and `manage-*` roles admin/fine-grained-permissions
  • #​38298 Fix leaking 5s rotation period to other tests
  • #​38304 Filtering not working when using view-member permission with a permission that denies access to a resource admin/fine-grained-permissions
  • #​38319 Authorization Settings (ResourceServerRepresentation) Import doesn't reflected into all keycloak functionalities without server restart authorization-services
  • #​38320 Locale RTL does not work properly login/ui
  • #​38323 Regression in the "client selector" UI component admin/ui
  • #​38331 Not Recently Used (In Days) "user" is null on registration core
  • #​38333 When calling the user info endpoint, the DPoP is not bound to the access token core
  • #​38353 Keycloak email message ID contains the local host name or IP address core
  • #​38369 [FGAP] User not visible when permission with different scope exists admin/fine-grained-permissions
  • #​38381 Recovery Codes messages in account console are not displayed / API change account/ui
  • #​38394 JWKSUtils.computeThumbprint(..) broken for ECPublicKeys oidc
  • #​38417 Cookie “KC_AUTH_SESSION_HASH” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict” authentication
  • #​38454 Keycloak account console is missing the Keycloak logo account/ui
  • #​38463 Frontend endpoint redirects to admin endpoint core
  • #​38467 PersistenceExceptionConverter#convert NPE if SQLState is null storage
  • #​38500 Impossible to update client settings after previously updated client in tab "Advanced" admin/ui
  • #​38501 Disabled switch for "Allow refresh token for token exchange" after client is created admin/ui
  • #​38517 [Keycloak CI] - Quarkus IT - ProxyHostnameV2DistTest.testForwardedProxyHeaders ci
  • #​38550 Cluster is not correctly formed with JDBC_PING2 infinispan
  • #​38572 Missing explicit target for cross-reference 2FA in server admin guide docs
  • #​38576 Define a max expiration window for Signed JWT client authentication oidc
  • #​38591 Persistent User Sessions doesn't track staleness of client sessions core
  • #​38607 Recaptcha secret key configuration lost when migrating from 24.0.5 to 26.1.4 authentication
  • #​38617 Set the correct revision number in stateful set operator
  • #​38648 Can not delete users using the administration consle admin/ui
  • #​38677 [FGAP] Documentation contains redundant sentense admin/fine-grained-permissions
  • #​38695 Export failing if the realm has FGAP enabled admin/fine-grained-permissions
  • #​38712 Can not add or remove groups when updating a group resource type permission admin/fine-grained-permissions
  • #​38721 Obsolete pinned guides and wrong ordering in downstream docs
  • #​38740 OTelHttpClientFactory not configured properly when tracing enabled dist/quarkus
  • #​38760 POST /admin/realms/{realm}/organizations/{id}/members in Keycloak API not working with some REST clients admin/api
  • #​38765 Client 'admin-permissions' doesn't have protocol set. admin/fine-grained-permissions

v26.1.5

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​38409 Upgrade to Quarkus 3.15.4 dist/quarkus
  • #​38764 OTel: Unable to disable sampling at runtime; tracing-sampler-ratio validation prevents setting 0.0 dist/quarkus

Bugs

  • #​36482 The root cause of error is suppressed in KC 26 at building dependencies
  • #​37792 Save Button Not Enabled When Switching OTP Type from "Time Based" to "Counter Based" admin/ui
  • #​37869 ConditionalOtpFormAuthenticator fails to set CONFIGURE_TOTP required action for LDAP read-only users
  • #​38041 [Keycloak CI] - WebAuthn tests ci
  • #​38063 Issue in clearing offline sessions internally using ClearExpiredUserSessions Scheduled task
  • #​38152 Broken guides link on reverseproxy page docs
  • #​38353 Keycloak email message ID contains the local host name or IP address core
  • #​38454 Keycloak account console is missing the Keycloak logo account/ui
  • #​38576 Define a max expiration window for Signed JWT client authentication oidc
  • #​38607 Recaptcha secret key configuration lost when migrating from 24.0.5 to 26.1.4 authentication
  • #​38740 OTelHttpClientFactory not configured properly when tracing enabled dist/quarkus

v26.1.4

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​37433 Allow admin to disable automatic refresh of event views admin/ui
  • #​37711 Upgrade to Infinispan 15.0.14

Bugs

  • #​37320 Cannot fetch realm role that was renamed admin/api
  • #​37621 When calling the token revoke endpoint multiple times with the same token, a database REVOKED-TOKEN constraint error is reported storage
  • #​37843 Admin events: resource type filter does not work admin/ui
  • #​37911 Unwanted placeholder texts in user profile fields admin/ui
  • #​37944 KC_HTTPS_TRUST_STORE_TYPE not working dist/quarkus
  • #​38038 The default setting of the client request object parameter is empty admin/ui

v26.1.3

Compare Source

Highlights

Send Reset Email force login again for federated users after reset credentials

In version 26.1.1 a new configuration option was added to the reset-credential-email (Send Reset Email) authenticator to allow changing the default behavior after the reset credentials flow. Now the option force-login (Force login after reset) is adding a third configuration value only-federated, which means that the force login is true for federated users and false for the internal database users. The new behavior is now the default. This way all users managed by user federation providers, whose implementation can be not so tightly integrated with Keycloak, are forced to login again after the reset credentials flow to avoid any issue. This change in behavior is due to the secure by default policy.

For more information, see Enable forgot password.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Bugs

  • #​32535 Invalid migration export for empty database core
  • #​36405 Redirect after linking account account/ui
  • #​36527 Viewing user events requires `view-realm`-role admin/ui
  • #​36585 Keycloak user attribute key broken in Keycloak 26.1.0 admin/ui
  • #​36703 When linking IDP to an organization hide on login sets as off admin/ui
  • #​36709 SAML2 Client Signing Keys Config does not accept PEM import admin/ui
  • #​36842 Comboxes do not display selected option after reset admin/ui
  • #​36927 MeterFilter is configured after a Meter has been registered dist/quarkus
  • #​36965 CVE-2025-0736 Error during JGroups channel creation may reveal secure information
  • #​36985 Admin console: unable to edit user profile attribute either on the form or the JSON editor. admin/ui
  • #​37029 CI fails with "Problem creating zip: Execution exception: Java heap space" ci
  • #​37066 Error on import of a public key (pem) authentication
  • #​37128 Customized quarkus.properties for MySQL cause "Unable to find the JDBC driver (org.h2.Driver)",The server fails to start. storage
  • #​37169 Wrong organization claim assignment in JWT access token organizations
  • #​37207 Change default value for force-login option in reset-credential-email authentication
  • #​37229 Login form can be used to determine which email addresses / usernames are in the system login/ui
  • #​37268 Problems changing pre-defined user profile attributes admin/ui
  • #​37285 Upgrade to latest JGroups patch version
  • #​37360 CVE-2024-47072 - XStream is vulnerable to a Denial of Service attack due to stack overflow from a manipulated binary input stream
  • #​37431 Password policies like NoUsername consider case-sensitivity authentication
  • #​37434 External Link Test failing docs
  • #​37577 Property Name Casing Mismatch in ProtocolMapperUtils saml

v26.1.2

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Deprecated features

  • #​525 Drop support for end-of-life versions of Node.js

Enhancements

  • #​573 Convert tests to standard modules to upgrade dependencies
  • #​576 Upgrade `@keycloak/keycloak-admin-client` to latest version dependencies

Bugs

  • #​567 Connections with an error code are not terminated
  • #​571 CI status badge in README is incorrect
  • #​36858 JDBC Ping with Docker infinispan
  • #​36919 Latency issue after Keycloak version upgrade core
  • #​36926 Invoking dynamic client registration with lightweight access token results in a 404 oidc
  • #​37162 Pods become unresponsive after upgrade to 26.1.0 infinispan

v26.1.1

Compare Source

Highlights

New option in X.509 authenticator to abort authentication if CRL is outdated

The X.509 authenticator has a new option x509-cert-auth-crl-abort-if-non-updated (CRL abort if non updated in the Admin Console) to abort the login if a CRL is configured to validate the certificate and the CRL is not updated in the time specified in the next update field. The new option defaults to true in the Admin Console. For more details about the CRL next update field, see RFC5280, Section-5.1.2.5.

The value false is maintained for compatibility with the previous behavior. Note that existing configurations will not have the new option and will act as if this option was set to false, but the Admin Console will add the default value true on edit.

New option in Send Reset Email to force a login after reset credentials

The reset-credential-email (Send Reset Email) is the authenticator used in the reset credentials flow (forgot password feature) for sending the email to the user with the reset credentials token link. This authenticator now has a new option force-login (Force login after reset). When this option is set to true, the authenticator terminates the session and forces a new login.

For more details about this new option, see Enable forgot password.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​552 Clean up old release code from Node.js adapter repo
  • #​34275 Organizations: Allow Organization Selection organizations
  • #​34343 CreatedResponseUtil.getCreatedId should expose the actual error message from the server admin/client-java
  • #​36440 Remove Node.js adapter documentation from main repo docs
  • #​36456 Clarify IPv6 JGroups requirements in Keycloak documenation
  • #​36798 Add detail on dependencyManagement section for POM files

Bugs

  • #​558 The draft nightly untagged release is created by "Release nightly" GH action
  • #​562 Incorrectly resolved {project_versionNpm} expression in the documentation
  • #​32766 Translation error in messages_fr.properties translations
  • #​33477 LDAP groups not showing members in Groups when using memberOf attribute ldap
  • #​36159 Realm not found while exists and works if entered directly in the URL admin/ui
  • #​36460 Deployment artifacts for Quarkus extensions are not in deployment dir dist/quarkus
  • #​36483 Wrong link for tracing in 26.1.0 release notes docs
  • #​36514 The organization claim does not appear if the Organization Membership Mapper is added through a custom client scope organizations
  • #​36531 WebAuthN and dark mode: device icons are hardly readable login/ui
  • #​36559 keycloak.v2 forms are too small for mobile view login/ui
  • #​36629 All IDPs shown when reloading login page login/ui
  • #​36649 When organizations feature is turned on, login_hint doesn't prefill identity-first login's page email field organizations
  • #​36669 --spi-connections-liquibase-default-index-creation-threshold does not work core
  • #​36675 Links error for https://jwt.io in documentation docs
  • #​36728 Logging errors on DB transaction retries core
  • #​36745 Conflict when Keycloak uses an OpenShift cluster ingress certificate operator
  • #​36781 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportInternal ci
  • #​36782 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnSigningInTest#multipleSecurityKeys ci
  • #​36844 Provide an option to force login after reset credentials authentication
  • #​36887 Outdated documentation about how to use reCAPTCHA in development with localhost docs
  • #​36902 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnErrorTest#errorPageWithTimeout ci
  • #​36945 Bad escape apostrophe character in messages_fr.properties login/ui
  • #​36988 Typos in English email message templates translations
  • #​36998 UI tests failing admin/ui

v26.1.0

Compare Source

Highlights

Transport stack jdbc-ping as new default

Keycloak now uses by default its database to discover other nodes of the same cluster, which removes the need of additional network related configurations especially for cloud providers. It is also a default that will work out-of-the-box in cloud environments.

Previous versions of Keycloak used as a default UDP multicast to discover other nodes to form a cluster and to synchronize the replicated caches of Keycloak. This required multicast to be available and to be configured correctly, which is usually not the case in cloud environments.

Starting with this version, the default changes to the jdbc-ping configuration which uses Keycloak​8217;s database to discover other nodes. As this removes the need for multicast network capabilities and UDP and no longer using dynamic ports for the TCP-based failure detection, this is a simplification and a drop-in replacement for environments which used the previous default. To enable the previous behavior, choose the transport stack udp which is now deprecated.

The Keycloak Operator will continue to configure kubernetes as a transport stack.

See the Configuring distributed caches guide for more information.

Virtual Threads enabled for Infinispan and JGroups thread pools

Starting from this release, Keycloak automatically enables the virtual thread pool support in both the embedded Infinispan and JGroups when running on OpenJDK 21. This removes the need to configure the JGroups thread pool, the need to align the JGroups thread pool with the HTTP worker thread pool, and reduces the overall memory footprint.

OpenTelemetry Tracing supported

In the previous release, the OpenTelemetry Tracing feature was preview and is fully supported now. It means the opentelemetry feature is enabled by default.

There were made multiple improvements to the tracing capabilities in Keycloak such as:

  • Configuration via Keycloak CR in Keycloak Operator

  • Custom spans for:

    • Incoming/outgoing HTTP requests including Identity Providers brokerage

    • Database operations and connections

    • LDAP requests

    • Time-consuming operations (passwords hashing, persistent sessions operations, ​8230;​8203;)

For more information, see the Enabling Tracing guide.

Infinispan default XML configuration location

Previous releases ignored any change to conf/cache-ispn.xml if the --cache-config-file option was not provided.

Starting from this release, when --cache-config-file is not set, the default Infinispan XML configuration file is conf/cache-ispn.xml as this is both the expected behavior and the implied behavior given the docs of the current and previous releases.

Individual options for category-specific log levels

It is now possible to set category-specific log levels as individual log-level-category options.

For more details, see the Logging guide.

OpenID for Verifiable Credential Issuance

The OpenID for Verifiable Credential Issuance (OID4VCI) remains an experimental feature in Keycloak, but it has great improvements in this release. This feature benefits from much polishing of the existing configuration and making the feature more dynamic and customizable.

You will find significant development and discussions in the Keycloak OAuth SIG. Anyone from the Keycloak community is welcome to join.

Many thanks to all members of the OAuth SIG group for the participation in the development and discussions about this feature. Especially thanks to Francis Pouatcha, Ingrid Kamga, Pascal Knüppel, Thomas Darimont, Ogen Bertrand, Awambeng Rodrick and Takashi Norimatsu.

Minimum ACR Value for the client

The option Minimum ACR value is added as a configuration option on the realm OIDC clients. This addition is an enhancement related to step-up authentication, which makes it possible to enforce minimum ACR level when logging in to the particular client.

Many thanks to Simon Levermann for the contribution.

Support for prompt=create

Support now exists for the Initiating user registration standard, which allows OIDC clients to initiate the login request with the parameter prompt=create to notify Keycloak that a new user should be registered rather than an existing user authenticated. Initiating user registration was already supported in Keycloak with the use of dedicated endpoint /realms/<realm>/protocol/openid-connect/registrations. However, this endpoint is now deprecated in favor of the standard way as it was a proprietary solution specific to Keycloak.

Many thanks to Thomas Darimont for the contribution.

Option to create certificates for generated EC keys

A new option, Generate certificate, exists for EC-DSA and Ed-DSA key providers. When the generated key is created by a realm administrator, a certificate might be generated for this key. The certificate information is available in the Admin Console and in the JWK representation of this key, which is available from JWKS endpoint with the realm keys.

Many thanks to Pascal Knüppel for the contribution.

Authorization Code Binding to a DPoP Key

Support now exists for Authorization Code Binding to a DPoP Key including support for the DPoP with Pushed Authorization Requests.

Many thanks to Takashi Norimatsu for the contribution.

Maximum count and length for additional parameters sent to OIDC authentication request

The OIDC authentication request supports a limited number of additional custom parameters of maximum length. The additional parameters can be used for custom purposes (for example, adding the claims into the token with the use of the protocol mappers). In the previous versions, the maximum count of the parameters was hardcoded to 5 and the maximum length of the parameters was hardcoded to 2000. Now both values are configurable. Additionally it can be possible to configure if additional parameters cause a request to fail or if parameters are ignored.

Many thanks to Manuel Schallar and Patrick Weiner for the contribution.

Network Policy support added to the Keycloak Operator

Note
Preview feature.

To improve the security of your Kubernetes deployment, Network Policies can be specified in your Keycloak CR. The Keycloak Operator accepts the ingress rules, which define from where the traffic is allowed to come from, and automatically creates the necessary Network Policies.

LDAP users are created as enabled by default when using Microsoft Active Directory

If you are using Microsoft AD and creating users through the administrative interfaces, the user will be created as enabled by default.

In previous versions, it was only possible to update the user status after setting a (non-temporary) password to the user. This behavior was not consistent with other built-in user storages as well as not consistent with other LDAP vendors supported by the LDAP provider.

New conditional authenticators Condition - sub-flow executed and Condition - client scope

The Condition - sub-flow executed and Condition - client scope are new conditional authenticators in Keycloak. The condition Condition - sub-flow executed checks if a previous sub-flow was executed (or not executed) successfully during the authentication flow execution. The condition Condition - client scope checks if a configured client scope is present as a client scope of the client requesting authentication. For more details, see Conditions in conditional flows.

Defining dependencies between provider factories

When developing extensions for Keycloak, developers can now specify dependencies between provider factories classes by implementing the method dependsOn() in the ProviderFactory interface. See the Javadoc for a detailed description.

Dark mode enabled for the welcome theme

We​8217;ve now enabled dark mode support for all the keycloak themes. This feature was previously present in the admin console, account console and login, and is now also available on the welcome page. If a user indicates their preference through an operating system setting (e.g. light or dark mode) or a user agent setting, the theme will automatically follow these preferences.

If you are using a custom theme that extends any of the keycloak themes and are not yet ready to support dark mode, or have styling conflicts that prevent you from implementing dark mode, you can disable support by adding the following property to your theme:

darkMode=false

Alternatively, you can disable dark mode support for the built-in Keycloak themes on a per-realm basis by turning off the Dark mode setting under the Theme tab in the realm settings.

Metrics on password hashing

There is a new metric available counting how many password validations were performed by Keycloak. This allows you to better assess where CPU resources are used, and can feed into your sizing calculations.

Sign out all active sessions in admin console now effectively removes all sessions

In previous versions, clicking on Sign out all active sessions in the admin console resulted in the removal of regular sessions only. Offline sessions would still be displayed despite being effectively invalidated.

This has been changed. Now all sessions, regular and offline, are removed when signing out of all active sessions.

Dedicated release cycle for the Node.js adapter and JavaScript adapter

From this release onwards, the Keycloak JavaScript adapter and Keycloak Node.js adapter will have a release cycle independent of the Keycloak server release cycle. The 26.1.0 release may be the last one where these adapters are released together with the Keycloak server, but from now on, these adapters may be released at a different time than the Keycloak server.

Updates in quickstarts

The Keycloak quickstarts are now using main as the base branch. The latest branch, used previously, is removed. The main branch depends on the last released version of the Keycloak server, Keycloak client libraries, and adapters. As a result, contributions to the quickstarts are immediately visible to quickstart consumers with no need to wait for the next Keycloak server release.

Updated format of KEYCLOAK_SESSION cookie and AUTH_SESSION_ID cookie

The format of KEYCLOAK_SESSION cookie was slightly updated to not contain any private data in plain text. Until now, the format of the cookie was realmName/userId/userSessionId. Now the cookie contains user session ID, which is hashed by SHA-256 and URL encoded.

The format of AUTH_SESSION_ID cookie was updated to include a signature of the auth session id to ensure its integrity through signature verification. The new format is base64(auth_session_id.auth_session_id_signature). With this update, the old format will no longer be accepted, meaning that old auth sessions will no longer be valid. This change has no impact on user sessions.

These changes can affect you just in case when implementing your own providers and relying on the format of internal Keycloak cookies.

Removal of robots.txt file

The robots.txt file, previously included by default, is now removed. The default robots.txt file blocked all crawling, which prevented the noindex/nofollow directives from being followed. The desired default behaviour is for Keycloak pages to not show up in search engine results and this is accomplished by the existing X-Robots-Tag header, which is set to none by default. The value of this header can be overridden per-realm if a different behaviour is needed.

If you previously added a rule in your reverse proxy configuration for this, you can now remove it.

Imported key providers check and passivate keys with an expired cetificate

The key providers that allow to import externally generated keys (rsa and java-keystore factories) now check the validity of the associated certificate if present. Therefore a key with a certificate that is expired cannot be imported in Keycloak anymore. If the certificate expires at runtime, the key is converted into a passive key (enabled but not active). A passive key is not used for new tokens, but it is still valid for validating previous issued tokens.

The default generated key providers generate a certificate valid for 10 years (the types that have or can have an associated certificate). Because of the long validity and the recommendation to rotate keys frequently, the generated providers do not perform this check.

Admin events might include now additional details about the context when the event is fired

In this release, admin events might hold additional details about the context when the event is fired. When upgrading you should expect the database schema being updated to add a new column DETAILS_JSON to the ADMIN_EVENT_ENTITY table.

OpenShift v3 identity brokering removed

As OpenShift v3 reached end-of-life a while back, support for identity brokering with OpenShift v3 has been removed from Keycloak.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

New features

  • #​24992 Allow more extensive Override of BackchannelAuthenticationCallbackEndpoint core
  • #​25006 Use optional realm attribute for authenticationrequest parameter max size/number validation configuration
  • #​26178 Support dark mode, at least for the login pages login/ui
  • #​26466 Operator support for setting default value of `http-pool-max-threads` operator
  • #​27736 Used encrypted JGroups connection by default in Operator deployments operator
  • #​29399 JDBC_PING2 as default discovery protocol
  • #​32135 Option to specify trusted proxies dist/quarkus
  • #​32488 Enabling authorization_details for client grant tokens until RAR is fully implemented
  • #​33043 Provide missing user event metrics from aerogear/keycloak-metrics-spi to a keycloak mircometer event listener
  • #​34957 Ability to specify log category levels through separate options dist/quarkus
  • #​35110 Enhance WebAuthn registration to support custom FIDO2 origin validation
  • #​35231 Ability to reject authentication to users without 2FA configured authentication
  • #​35639 Allow users to specify the start page of a custom account-console theme account/ui
  • #​36081 Authentication flow condition for client scope authentication

Enhancements

  • #​10138 Align admin console for client for backchannel and frontchannel logout oidc
  • #​10701 AuthenticationRequest add "create" prompt for sign-up oidc
  • #​13852 js adapter just sets error to true upon error updateToken adapter/javascript
  • #​16545 Additional authorization request parameters shouldn't be limited to 5 and shouldn't be discarded silently oidc
  • #​16884 Support to enforce LoA in authentication flow for a client (Step-up) authentication
  • #​17014 Allow custom message for brute force temporary lockout authentication
  • #​23805 H2 Database should be opt-in and well-documented storage
  • #​23881 Prevent "lost replace" in InfinispanAuthenticationSessionProvider storage
  • #​26780 Maximum 100 resources with same URI checked when requesting permissions by URI authorization-services
  • #​29511 Allow to restrict ProviderConfigProperty input to int values
  • #​29570 Generalize or remove stack trace information found in error message exception handling
  • #​29859 Keycloak native verification of an SD-JWT based vp_token oid4vc
  • #​31764 Run tests with original `keycloak` login theme in nightly
  • #​31842 Allow to create certificates for provider-keys authentication
  • #​32092 OTEL: Add Keycloak CR support for Tracing options operator
  • #​32094 OTEL: Apache HTTP client OpenTelemetry instrumentation
  • #​32110 [Documentation] - Configuring trusted certificates - Fully specify truststore path dist/quarkus
  • #​32114 OTEL: Instrument parts of Keycloak with OTEL spans
  • #​32152 Clarify the behaviour of multiple Operator versions installed in the same cluster operator
  • #​32657 Readonly profile attribute profile has unwanted not translated placeholder account/ui
  • #​32773 [OID4VCI] Migrate Verifiable Credential Definitions from Client Attributes to Realm Level Attributes oid4vc
  • #​33203 Explicitly document that the Operator does not create an Ingress for Admin URL operator
  • #​33233 Add ui to override patternfly colors and logo
  • #​33275 Better logging when error happens during transaction commit storage
  • #​33484 Consolidate the logic for determining a local address core
  • #​33492 Remove retry in LoginPage.resetPassword testsuite
  • #​33496 Add CopyToClipboardButton to UserID in Admin UI
  • #​33498 Expose membership type in the Admin UI for organization members admin/ui
  • #​33559 Add an example nginx reverse proxy configuration
  • #​33569 Show User Events on dedicated tab on Client-/User-Details
  • #​33605 Add a reference to http-enabled in TLS/SSL setup
  • #​33646 Upgrade Infinispan to 15.0.10.Final
  • #​33651 Utilise `jdbc-ping` TCP based JGroups stack as default for non-operator Keycloak deployments
  • #​33678 Make createWebAuthnRegistrationManager protected to allow cutomizations in subclasses authentication/webauthn
  • #​33702 Prevent Keycloak from starting with wrong `work` cache configuration
  • #​33717 Create a new base login theme
  • #​33821 Add switch to disable dark mode
  • #​33932 Background SQL statements show without a connected trace dist/quarkus
  • #​33939 Enable virtual threads in Infinispan and JGroups by default
  • #​34026 Update KEYCLOAK_SESSION cookie to not have sessionId in plain-text authentication
  • #​34027 Sign the AUTH_SESSION_ID cookie value authentication
  • #​34091 Username Form should support autocomplete login/ui
  • #​34137 Standardize error messages from client and server in login theme (keycloak.v2) login/ui
  • #​34253 Deprecate other transport stacks (ec2, azure, google)
  • #​34265 Add JDBC_PING2 stacks for both TCP and UDP
  • #​34284 Keycloak-admin-client should work with the future versions of Keycloak server admin/client-java
  • #​34315 Update the Keycloak CPU and Memory sizing guide to reflect the new ec2 workder nodes
  • #​34330 Delete Openshift 3.x identity provider
  • #​34351 Support for the Croatian language
  • #​34380 Remove remaining table USERNAME_LOGIN_FAILURE from the jpa UserSessionProvider times
  • #​34382 Make the organization chapter of Server Admin guide available on downstream
  • #​34386 Some dynamic imported functions are also statically imported making bundling them in-efficient
  • #​34393 Improve build time of the js module
  • #​34524 Add ability to enable support for Verifiable Credentials per Realm account/ui
  • #​34536 Make cache-remote-host available when feature multi-site or cache-embedded-remote-store is enabled
  • #​34570 Make documentation more clear that keycloak javascript adapter and node.js adapter are OIDC docs
  • #​34583 Microsoft login - add prompt param configure
  • #​34630 Avoid multi-release and java16 specific sources in the core module oidc
  • #​34640 Update certain email templates for password recovery to match English translation format
  • #​34658 Document network ports for Keycloak clustering
  • #​34659 [Operator] Enhance the Keycloak Operator with Network Policies operator
  • #​34695 Allow custom OIDCIdentityProvider implementations to specfiy the supported token types identity-brokering
  • #​34711 OTEL: Provide Tracing SPI
  • #​34755 Disable trim_trailing_whitespace in editorconfig to reduce noise in MRs
  • #​34760 Improving the error message when failing to query an LDAP provider ldap
  • #​34804 Allow a request object by considering a clock skew for smooth interoperability oidc
  • #​34805 Allow a JWT client assertion by considering a clock skew for smooth interoperability oidc
  • #​34848 Too many exceptions created when validating user profile
  • #​34850 Avoid throwing exceptions when issuing reflection on user model
  • #​34855 Add conditional text to Installation Locations
  • #​34873 Update Leveraging JaKarta EE in Server Development guide
  • #​34880 Feature: Allow disabling XA enforcement introduced with v26 dist/quarkus
  • #​34882 Edits to Authorization Services guide
  • #​34894 Allow a DPoP Proof by considering a clock skew for smooth interoperability
  • #​34916 Addresse QE comments on Server Administration guide
  • #​34931 Upgrade to ISPN 15.0.11.Final
  • #​34990 Authorization Code Binding to a DPoP Key and DPoP with Pushed Authorization Requests oidc
  • #​35003 Expose templateName in attributes when rendering freemarker templates login/ui
  • #​35077 Upgrade to Quarkus 3.15.2 dist/quarkus
  • #​35080 Prefer usage of StandardCharsets.UTF_8 over "UTF-8" charset reference core
  • #​35103 [LoginUI] Set HTML lang attribute to "en" when internationalization disabled account/ui
  • #​35180 Improve test method signature and gather more info about assertions testsuite
  • #​35192 Resolve scopes from authenticated client sessions when selecting attributes
  • #​35225 Allow configuring retries for JavaScript tests using environment variable ci
  • #​35243 Allow asking for additional scopes when querying the account console root URL
  • #​35252 Add WHY issues are important for each MR no matter how small to CONTRIBUTING.md docs
  • #​35254 CONTRIBUTING.md has confusing ordered list with two times point 5
  • #​35331 Updated tested PostgreSQL version to 17
  • #​35333 Updated tested MariaDB version to 11.4
  • #​35335 Updated tested MySQL version to 8.4
  • #​35402 Consistent use of log.debugf to avoid generating too much GC overhead
  • #​35415 Add a page with an index that links to smaller pages (JVM, HTTP, Database, embedded caches, external Infinispan) - we can show example widgets from the dashboards later
  • #​35419 OTEL: Enhance traces with spans for each RestEASY resource
  • #​35425 OTEL: Show spans in transaction completion at the end of a request
  • #​35430 OTEL: Group persistent session work activities in parent span or link them
  • #​35457 Avoid creating ObjectMapper but using JsonSerialization utility class when managing event details
  • #​35478 Add password validation to update-password
  • #​35506 Support for multiple values of some parameters in the grant SPI oidc
  • #​35573 Update the Enabling Keycloak Event Metrics guide with the list of possible events and errors
  • #​35588 Update release notes for Keycloak 26.1.0 with new community additions docs
  • #​35598 [Operator] Network Policy Rules operator
  • #​35604 Removing unnecessary configuration from auth servers
  • #​35640 Update the sizing guide with an indicator on which user events to use
  • #​35676 Reduce debounce time in RealmSelector
  • #​35714 Replace `uuid` module with `crypto.randomUUID()`
  • #​35758 Set the LDAP connection pooling protocols by default to plain and tls
  • #​35775 Document the performance numbers from the ARM based ROSA cluster runs
  • #​35807 Add a test that the metrics listed in the docs are available from Keycloak (keep it simple, ignore metrics that don't show up right after the start)
  • #​35834 Use MeterProvider as suggested by the Micrometer team to avoid GC overhead
  • #​35852 Enable LDAP Connection pooling by default
  • #​35856 Release note about node.js adapter and javascript adapter released independently of keycloak server docs
  • #​35859 Update upgrading notes with the changes related to core clients docs
  • #​35939 Rescue dutch translations from aborted Weblate MR
  • #​36015 Update the CA translation translations
  • #​36039 Tune caching guide list of stacks for the upcoming release
  • #​36047 Align realm name placeholder in the docs docs
  • #​36048 Add metric for number of password validations
  • #​36059 OTEL: Add tracing for credential validation
  • #​36079 Suggestion: Improve Regex for NPM Version Conversion in set-version.sh ci
  • #​36087 Allow tracing packets sent to and from LDAP for troubleshooting purposes
  • #​36211 Help texts in the admin UI should end with a dot admin/ui
  • #​36263 OTEL: merge Operator tracing test cases
  • #​36388 Rename `org.keycloak.test.framework` package to `org.keycloak.testframework` test-framework
  • #​36389 Rename `org.keycloak.test` package to `org.keycloak.tests` test-framework
  • #​36425 Make @​EnableFeature to handle the case with added provider of currently non-used SPI testsuite
  • #​36442 Prepare a new guide for Keycloak's own metrics in the observability guide

Bugs

  • #​8935 keycloak.js example from the documentation leads to error path adapter/javascript
  • #​10233 Locale Setting for Update Password Mail admin/api
  • #​10417 Race when creating client protocol mappers (ClientManager#enableServiceAccount) resulting in duplicate entries storage
  • #​11008 Incorrect get the members of a group imported from LDAP ldap
  • #​12309 IllegalArgumentException on canceled Account Linking oidc
  • #​12919 Step-up authentication with existing cookie not working when using `Authentication Flow Overrides` per client authentication
  • #​14562 Broken Promise implementation for AuthZ JS adapter/javascript
  • #​15058 Backchannel Logout silently not sent, if Frontchannel Logout is enabled as well oidc
  • #​15635 oidc - JavaScript-Adapter LocalStorage#clearExpired does not clear all possible items adapter/javascript
  • #​16451 Documentation - Expand/Clarify Admin REST API User Search Functionality admin/api
  • #​17233 the InfoPage after an ExecuteActionsEmail is not localized based on the user's locale authentication
  • #​17433 robots.txt causes indexing authentication/webauthn
  • #​17593 Incorrect ldap-group-mapper chosen to sync changes to ActiveDirectory when several mappers with varying group paths used ldap
  • #​19101 Uncaught (in promise): QuotaExceededError adapter/javascript
  • #​19358 Issue with concurrent user & group delete, unable to cleanup resource server user-policy & group-policy authorization-services
  • #​19652 Members are inhereted from LDAP group with the same name ldap
  • #​20287 When using `oidcProvider` config url (.well-known) it's not possible to use `silentCheckSsoRedirectUri` adapter/javascript
  • #​23732 JavascriptAdapterTest errors when running with strict cookies on Firefox ci
  • #​24493 Broken (read-only) database connections not getting removed from connection pool, keycloak claims to be healthy. storage
  • #​25085 Inconsistent TypeScript definitions in the module @​keycloak/keycloak-admin-client while compiling admin/client-js
  • #​25675 Workflow error: Base IT - RefreshTokenTest#refreshTokenWithDifferentIssuer testsuite
  • #​25917 Allow increasing wait time on each failure after the max number of failures is reached authentication
  • #​27378 update brute force docs to reflect available lockouts modes (temporary / permanent / mixed) authentication
  • #​27856 Social login - Stack Overflow test fails ci
  • #​28241 NPE on External OIDC to Internal Token Exchange when Transient Users feature is enabled token-exchange
  • #​28328 Declining terms and conditions in account-console results in error account/ui
  • #​28978 some GUI validation check missing admin/ui
  • #​29289 Flaky test: org.keycloak.testsuite.admin.concurrency.ConcurrencyTest#createRemoveClient ci
  • #​29290 Flaky test: org.keycloak.testsuite.admin.concurrency.ConcurrencyTest#createClient ci
  • #​30037 Unstable test KerberosStandaloneCrossRealmTrustTest.test03SpnegoLoginWithCorrectKerberosPrincipalRealm ci
  • #​30204 When the Delete Credential required action is set to false an authentication application cannot be removed from the account UI core
  • #​30364 Make sure it is not possible to run snapshot server against production DB by default core
  • #​30453 Event type not set in reset-credential flow under some conditions resulting in an error page authentication
  • #​30631 Upgrade to 25 throws: Statement violates GTID consistency core
  • #​30832 Organization API not available from OpenAPI documentation admin/api
  • #​30994 Workflow failure: WebAuthn IT (firefox) - WebAuthnSigningInTest:navigateBeforeTest ci
  • #​31091 Flaky test: org.keycloak.testsuite.admin.concurrency.ConcurrencyTest#testAllConcurrently ci
  • #​31180 token exchange: exchange-sequence still fails with `Client session for client '..' not present in user session` when starting on public client token-exchange
  • #​31359 Offline sessions are not removed from admin console after sign out all active sessions core
  • #​31415 Selection list does not close after outside click admin/ui
  • #​31456 Enabling/Disabling user does not work with Microsoft AD LDAP via Admin API/UI ldap
  • #​31469 Show account page before login core
  • #​31492 Misleading docs and functionality around cache-ispn.xml dist/quarkus
  • #​31638 Error when non-admin user accesses admin console admin/fine-grained-permissions
  • #​31724 Logout not working after removing Identity Provider of user identity-brokering
  • #​31727 KC doesn’t enforce uniqueness of aliases in Authentication flows, but uses them as identifiers (in config export) authentication
  • #​31835 Windows builds fail too often due to problems with the download of Node ci
  • #​31848 Repeated email verifications while logging in through IDP caused by email case sensitivity authentication
  • #​32143 UserId too long to add Security Key WebauthN authentication/webauthn
  • #​32266 LDAP Import: KERBEROS_PRINCIPAL not updated when UserPrincipal changes and user already exists ldap
  • #​32270 High CPU usage on logout when using remote Infinispan only setup infinispan
  • #​32348 none of the enabled features are shown as such in the admin console docs
  • #​32356 creating short admin password in BCFIPS approved mode gives "Internal server error" page core
  • #​32462 "Cookie not found" in multi-step auth flows / mobile browsers core
  • #​32476 Flaky test: org.keycloak.testsuite.forms.LoginTest#loginAgainWithoutRememberMe ci
  • #​32550 Flaky test: org.keycloak.testsuite.forms.LoginTest#loginMissingUsername ci
  • #​32610 addExecutionFlow endpoint does not return right ID admin/api
  • #​32617 Nightly Cypress tests for the Admin Console are failing on Firefox admin/ui
  • #​32648 RP-Initiated logout using `POST` method fails in cross-origin setup oidc
  • #​32650 Requesting `offline_access` without an established session results in two sessions oidc
  • #​32658 Authentication sessions do not handle concurrent writes core
  • #​32676 Flaky test: org.keycloak.testsuite.forms.BrowserButtonsTest#appInitiatedRegistrationWithBackButton ci
  • #​32677 Flaky test: org.keycloak.testsuite.forms.LoginTest#loginWithRememberMe ci
  • #​32767 Flaky test: org.keycloak.testsuite.forms.LoginTest#loginRememberMeExpiredMaxLifespan ci
  • #​32786 Organization Domain not marked as a required field in the Admin UI admin/ui
  • #​32801 Requested `grant_types` inconsistent with created `grant_types` for OpenID Connect Dynamic Client Registration oidc
  • #​32844 Login V2: Missing "dir" attributes login/ui
  • #​32847 Admin UI defaults to master realm even without permissions to it admin/ui
  • #​32901 Consider Replacing Monaco Editor or Bundling Resources Locally to Avoid CSP Conflicts admin/ui
  • #​32962 Possible issue with unavailable CryptoIntegration when using keycloak-authz-client with private_key_jwt and ECDSA algorithm oidc
  • #​32992 Role descriptions do not wrap in the UI admin/ui
  • #​33020 Incorrect Disclosure Handling in SdJwtVP.of(String) Method oid4vc
  • #​33071 RESTART_AUTHENTICATION_ERROR in Iphone devices (using safari and chrome browser) oidc
  • #​33072 Passkeys: Infinite (re-)loading loop on browsers with WebAuthn Conditional UI disabled authentication/webauthn
  • #​33125 Duplicate principals not allowed in keystore authentication
  • #​33132 Flaky test: org.keycloak.testsuite.forms.LoginTest#loginWithEmailUserAndRememberMe ci
  • #​33195 Any one Client role mapping to user/group generating two events on admin events tab. core
  • #​33232 400 error logged as 500 identity-brokering
  • #​33282 Icons for social providers broken in login screen if the provider is created with non-default alias admin/ui
  • #​33309 Admin UI e is undefined if required action recreated with own alias admin/ui
  • #​33349 Double scroll bar due to warning banner admin/ui
  • #​33352 Wrong translation issues in greek translation translations
  • #​33404 Permission cannot be evaluated when only role and client are provided authorization-services
  • #​33408 Link to existing account form: IDP Alias displayed instead of IDP Display Name login/ui
  • #​33435 404 in admin console when unlinking managed user from organizations admin/ui
  • #​33505 Flaky test: org.keycloak.testsuite.forms.LevelOfAssuranceFlowTest#testWithOTPAndRecoveryCodesAtLevel2 ci
  • #​33513 Can get authorization code on a non verified user with some specific kc_action (AIA) oidc
  • #​33531 Previously entered translations should persist in the translation dialog for the attribute groups admin/ui
  • #​33539 Keycloak In Docker: ERROR: Strict hostname resolution configured but no hostname setting provided docs
  • #​33549 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​33557 Unable to submit forms in Safari account/ui
  • #​33576 Broken links / anchors after KC26 release docs
  • #​33578 In imported realms, the ability to use environment variables has disappeared import-export
  • #​33585 Fix runaway asterisk formatting in TLS documentation docs
  • #​33596 Cleanup how static state is set for import / export dist/quarkus
  • #​33599 Upgrade Selenium testsuite
  • #​33603 Repeated "to a" in the help text for the "User Attribute" mapper admin/ui
  • #​33607 Fix v2 login layout login/ui
  • #​33614 Client Secret Required Bug When Using "JWT Signed with Private Key" for (Keycloak/) OpenID Connect Provider admin/ui
  • #​33618 No message for `policyGroupsHelp` admin/ui
  • #​33627 ClassNotFoundException OracleXADataSource/OracleDataSource using IDELauncher with Keycloak 26.0.0 dist/quarkus
  • #​33638 Non-optimized start command gives erroneous warnings for runtime spi options dist/quarkus
  • #​33640 Customizable footer (Keycloak 26) not displaying in keycloak.v2 login theme login/ui
  • #​33642 RTL not working on keycloak.v2 login template login/ui
  • #​33649 Validation of http truststore or keystore file masks if the file exists dist/quarkus
  • #​33653 Test "Duplicate Group" unstable in Admin UI / job is failing admin/ui
  • #​33699 Failure to redirect to organization IdP when the organization scope is included organizations
  • #​33729 Not possible to configure custom client authenticator in Admin UI authentication
  • #​33731 Client Scope updates are not replicated on a distributed keycloak setup in kubernetes admin/api
  • #​33734 Client Policy throws "Invalid Redirect Uri" if Standard Flow is disabled oidc
  • #​33735 Organizations section is shown in account console if organizations is not enabled for a realm. account/ui
  • #​33767 Aurora IT tests failing periodically with download of node ci
  • #​33775 Admin client returns HTTP code `400 Bad Request` when using x509 certificate admin/client-java
  • #​33776 [Regression] 26.0.0 return empty "access: []" JWT for Docker-v2 Auth provider, resulting in "access denied" authentication
  • #​33777 Error when adding or removing a user from an organisation when there are 2 or more Keycloak servers in a cluster organizations
  • #​33780 Upgrade to 26 fails with 'ERROR: index "idx_us_sess_id_on_cl_sess" does not exist' core
  • #​33793 FOUC in Firefox on login UI login/ui
  • #​33798 CVE-2021-44549 - org.eclipse.angus/angus-mail: Enabling Secure Server Identity Checks for Safer SMTPS Communication dist/quarkus
  • #​33810 Stabilise my-resources.spec test account/ui
  • #​33814 NPE when device representation cannot be parsed authentication
  • #​33817 NEP when Default Role is not present on CachedRealm infinispan
  • #​33820 client-jwt ES256 error when doing CODE_TO_TOKEN oidc
  • #​33844 Wrong documentation link in keycloak-js readme docs
  • #​33874 [Keycloak CI] - AuroraDB IT - Error creating EC2 runner instance
  • #​33875 [Keycloak CI] - FIPS IT - Failed to fetch maven
  • #​33883 Auth not possible for auth session where user was enabled in the meantime authentication
  • #​33902 Not persisted config settings prevent server start dist/quarkus
  • #​33907 NPE thrown in whoami endpoint admin/ui
  • #​33933 Recovery authentication codes are numbered inconsistently login/ui
  • #​33940 ResetPasswordTest.resetPasswordExpiredCode Error -> AbstractKeycloakTest.deleteAllCookiesForRealm:297 core
  • #​33941 Cannot install latest version (26.0.0) of the adapter using Galleon adapter/jee
  • #​33948 [PERF] OpenTelemetry is initialized even when disabled
  • #​33967 password is a required field admin/ui
  • #​33968 Not possible to close dialog boxes when clicking buttons or the close icon admin/ui
  • #​33970 Windows kc.bat handling of serveral parameter types is not correct dist/quarkus
  • #​33987 keycloak.v2 registration: Password policy validation error "errorList is null" login/ui
  • #​33991 Doc CI - broken links error docs
  • #​34000 Handle removal of online session for the directGrant and clientCredentials
  • #​34001 Handle removal of online session for authorization_code when `scope=offline_access`is used oidc
  • #​34009 grammatical error in "Managing Organizations" documentation docs
  • #​34013 Add More Info to Organization Events organizations
  • #​34015 Home URL for security-admin-console is broken admin/ui
  • #​34017 [Admin UI] Broken autocomplete input on the "Create resource-based permission" form admin/ui
  • #​34023 Flaky Test ResetPasswordTest.resetPasswordLoggedUser:188->openResetPasswordUrlAndDoFlow:252 testsuite
  • #​34028 Custom keycloak login theme styles.css return error 404 login/ui
  • #​34041 [Windows] Wrong expansion of ${kc.home.dir} causes NoSuchFile exception dist/quarkus
  • #​34042 LDAP Pagination not working for role membership in GET_ROLES_FROM_USER_MEMBEROF_ATTRIBUTE strategy ldap
  • #​34049 Org Invite: `linkExpiration` template variable represents 54 years in minutes organizations
  • #​34050 Listing federated LDAP users is very slow with import enabled ldap
  • #​34054 Onclick focus issue in the Username field of Clients / / Client Scopes / Evaluate admin/ui
  • #​34063 Respect the locale set to a user when redering verify email pages user-profile
  • #​34065 Users without `view-realm` can't see user lockout state in Admin UI admin/ui
  • #​34069 Do not show domain match message in the identity-first login when no login hint is provided organizations
  • #​34072 The Realm Selection Dropdown Breaks After 50 Realms In Database admin/ui
  • #​34075 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​34093 java.util.ConcurrentModificationException when process user sessions update infinispan
  • #​34095 Keycloak 26.0.0/26.0.1 Import Issue: Multiple Realms Not Imported, Duplicated Realm Imported Instead import-export
  • #​34149 Group select dialog: Subgroups not displayed initially due to pagination admin/ui
  • #​34151 JS password validation doesn't work as intended with uppercase and lowercase minimum requirements login/ui
  • #​34155 cli options starting or ending with ; or containing ;; mangle the cli handling dist/quarkus
  • #​34176 Grant type "urn:ietf:params:oauth:grant-type:uma-ticket" token service endpoint returns NullPointerException authorization-services
  • #​34201 OIDC IdP Unable to validate signatures using validatingPublicKey certificate admin/ui
  • #​34207 logout with client_id and/or post_logout_redirect_uri results in bad request on logout confirmation page oidc
  • #​34224 Deleting a user leads to ISPN marshalling exception
  • #​34229 Group search in user view doesn't work as expected for nested groups admin/ui
  • #​34233 Service accounts visible under user search in Admin console admin/api
  • #​34257 Docs: Dead link docs
  • #​34273 Flaky Test: BrowserFlowTest.testAlternativeNonInteractiveExecutorInSubflow() testsuite
  • #​34276 PEM files distributed as part of SAML adapter configs are missing -----BEGIN and -----END blocks saml
  • #​34298 NullPointerException in ConditionalOtpFormAuthenticator.java authentication
  • #​34301 Remove inaccurate statement about master realm imports docs
  • #​34304 Fix DB overflow for EVENT_ENTITY table and SESSION_ID column in case that incorrect data are sent core
  • #​34335 NPE in Organization(s)Resource when using Quarkus Rest Client admin/api
  • #​34352 ParEndpoint#request corrupts values added in request object oidc
  • #​34356 Admin UI doesn't show realms when using login through identity provider admin/fine-grained-permissions
  • #​34401 Incorrect Content-Type Expectation for POST /admin/realms/{realm}/organizations/{id}/members in Keycloak API admin/api
  • #​34402 [Keycloak 26.0.2] Getting "Forbidden, permission needed: query-clients" as temp-admin admin/ui
  • #​34412 LDAP: searching users with import disabled is slower since fix for 34050 ldap
  • #​34432 Flaky test: org.keycloak.testsuite.broker.KcSamlBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​34440 [Trivy] - Workflow failure ci
  • #​34444 NullPointerException in RoleResolveUtil when admin-cli uses lightweight token admin/cli
  • #​34450 [26.0.2] Migration from 25.0.1 Identity Provider Errors identity-brokering
  • #​34460 kc.config.args exposed in show-config dist/quarkus
  • #​34465 Missing help icons in Webauthn Policy and Webauthn Passwordless Policy missing in admin ui admin/ui
  • #​34467 Do not rely on the `pwdLastSet` attribute when updating AD entries ldap
  • #​34474 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​34508 Username and password should be optional for multi-site deployment infinispan
  • #​34519 Clicking on link to Keycloak documentation from Keycloak admin UI does nothing instead of opening documentation admin/ui
  • #​34530 Flaky test: org.keycloak.testsuite.actions.TermsAndConditionsTest#termsDeclined ci
  • #​34540 Renaming realm in UI broken admin/api
  • #​34547 Non compliant OpenID Client Authentication when `client_secret_jwt` with PAR (Pushed Authorization Requests) oidc
  • #​34549 Quarkus dev mode does not work dist/quarkus
  • #​34558 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordLinkTestAppWithoutRedirectUriParam ci
  • #​34560 Switching 'Email as Username' alters existing custom usernames to email addresses, causing LDAP sync issues core
  • #​34572 Text in "Choose a policy type" is not wrapping admin/ui
  • #​34590 Attributes missing in OrganizationRepresentation when using Admin REST API in Keycloak 26 admin/api
  • #​34592 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​34602 Rework global event listener for metrics core
  • #​34603 NPE in InfinispanOrganizationProvider if userCache is disabled infinispan
  • #​34605 Error on testsuite "group_test" on Cypress admin/ui
  • #​34611 AdminEventQueryTest test fails after adding global event listener core
  • #​34614 Remove duplicate lines in userprofile freemarker template login/ui
  • #​34616 Fix typo in log message account/ui
  • #​34624 Securing apps guide breaks downstream docs
  • #​34634 Missing downstream explicit name for anchors docs
  • #​34635 Feature in higher version takes precedence even if it has lower type order
  • #​34636 Client Protocol Mappers with non UUID ids cannot be edited admin/ui
  • #​34644 KC_CACHE_EMBEDDED_MTLS_ENABLED is ignored infinispan
  • #​34652 Continuous reload when KC_AUTH_SESSION_HASH expires authentication
  • #​34671 `ClientConnection.getRemoteAddr` can return a hostname when behind a reverse proxy core
  • #​34675 Keys tab showing disabled and inactive keys as active admin/ui
  • #​34678 [Admin UI] [Create resource-based permission] Resource input is disabled admin/ui
  • #​34687 New credential templates broken in KC26 login/ui
  • #​34750 calling openid-connect/auth with previous version valid cookies generate internal server error authorization-services
  • #​34769 Invalid flag for addDefaultRequiredActions infinispan
  • #​34776 GroupMappersTest test fails in keycloak-client core
  • #​34794 CVE-2024-10973 - Cleartext Transmission of Sensitive Information in org.keycloak:keycloak-quarkus-server
  • #​34811 AdminUI: Alphabetically sort "Event saved type" in the events listing admin/ui
  • #​34817 Log handler specific log levels support only lower-case levels dist/quarkus
  • #​34818 Liquibase outputs update summary directly to standard out dist/quarkus
  • #​34824 [Keycloak CI] - Base IT - KerberosLdapCrossRealmTrustTest.test03SpnegoLoginUsernamePassword ldap
  • #​34832 [Jenkins Keycloak CI] - Cookies Tests - KcOidcBrokerPrivateKeyJwtCustomAudienceTest ci
  • #​34834 [Jenkins Keycloak CI] - Cookies Tests - KcSamlBrokerTest
  • #​34835 [Jenkins Keycloak CI] - Cookies Tests - KcOidcBrokerLdapTest ci
  • #​34842 Keycloak needs to return "invalid_request" from Token Endpoint if a token or refresh request lacks DPOP proof oidc
  • #​34844 [Keycloak CI] - Quarkus IT - StartCommandDistTest and BuildAndStartDistTest dist/quarkus
  • #​34853 [Jenkins Keycloak CI] - Adapter Cookies Tests - Failures with Firefox strict cookies ci
  • #​34858 Deprecated CLI options and new options are not stable in their sorting dist/quarkus
  • #​34864 On logout from admin console, a serverinfo call with 401 response in the logs admin/ui
  • #​34875 Clients invalidated on each client credential grant core
  • #​34876 Incomplete registration form when edit email is disabled and email is set as username user-profile
  • #​34888 Authentication Link and IDP Fails with 400 Bad Request After Migrating to Version 26 and Delete Authentification authentication
  • #​34899 Upgrade 24 to 25 fails because db jpa changes drop nonexisting indexes. core
  • #​34905 [Keycloak CI] Outdated surefire artifacts names - Quarkus IT and UT ci
  • #​34930 Update Email doesn't update username when Email as Username and Attributes are enabled user-profile
  • #​34944 Adding "sub" claim to lightweight access token causes HTTP 403 Forbidden Error in Keycloak 26.0.5 oidc
  • #​34968 Unable to scroll/swipe through the main menu on macOS admin/ui
  • #​34973 ES256 key continue to be used to sign token even after expiry oidc
  • #​34975 getAll() organization members only returns the first 10 members organizations
  • #​34987 KC25 Migration guide for caching options needs clarification
  • #​34995 MySQL database migration issue core
  • #​35006 Mis-formatted unordered list in the caching docs
  • #​35015 Flaky test: org.keycloak.testsuite.model.session.AuthenticationSessionTest#testConcurrentAuthenticationSessionsRemoval ci
  • #​35047 PersistentSessionsWorker: retry with 0 backoff ms. core
  • #​35048 Filter events by user id and client not working admin/ui
  • #​35052 `organizationEnabled` and `verifiableCredentialsEnabled` attributes are present as attributes in an export
  • #​35060 Cannot request additional scopes when using the account console account/api
  • #​35068 Flaky test: org.keycloak.testsuite.broker.KcSamlBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled core
  • #​35087 Flaky test: org.keycloak.testsuite.model.session.AuthenticationSessionTest#testConcurrentAuthenticationSessionsCreation ci
  • #​35088 Flaky test: org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenTimeIsValid ci
  • #​35213 CVE-2024-10451 Sensitive Data Exposure in Keycloak Build Process
  • #​35214 CVE-2024-10270 Potential Denial of Service
  • #​35215 CVE-2024-10492 Keycloak path trasversal
  • #​35216 CVE-2024-9666 Keycloak proxy header handling Denial-of-Service (DoS) vulnerability
  • #​35217 CVE-2024-10039 Bypassing mTLS validation
  • #​35219 Account UI E2E / `personal-info/personal-info.spec.ts` is unstable ci
  • #​35226 Typo www.recatcha.net -> www.recaptcha.net in docs docs
  • #​35229 Fix typo in v24 changelog: "longer" -> "no longer" docs
  • #​35232 reCAPTCHA v3 not working login/ui
  • #​35240 Links to guides in Observability section are still pointing to server section docs
  • #​35256 Typos in `.md` and `.adoc` files, detected using codespell and manual review docs
  • #​35273 Edit Help Mode descriptor for Roles in policy form admin/ui
  • #​35276 Your login attempt timed out authentication
  • #​35288 Upgrade 26.0.5 -> 26.0.6 completely breaks admin events in the admin UI admin/ui
  • #​35289 Maven clean shouldn't be skipped by default on Windows
  • #​35290 Database migration fails after upgrading operator to v26.0.6 core
  • #​35317 Token issuer is null in executeActionsEmail and sendVerifyEmail if no clientId is passed admin/api
  • #​35324 Strange Random behavior - Intermittent missing organization claim in Keycloak JWT token organizations
  • #​35328 Error when creating a permission ticket when there are 2 or more Keycloak servers in a cluster authorization-services
  • #​35340 Errors in persian and tukish translations in account translations
  • #​35352 Multiselect Checkboxes in user profile don't allow to unset value user-profile
  • #​35357 Resolve scopes from bearer tokens when processing requests to the Account API
  • #​35386 log-syslog-max-length is ignored dist/quarkus
  • #​35405 [Keycloak CI] - Quarkus UT (windows-latest) - Keycloak Quarkus Server Deployment ci
  • #​35410 SAML Adapter Galleon Pack for EAP8 cannot use new metadata options for layers adapter/saml
  • #​35414 Capitalization in Hungarian translation needs improvement translations
  • #​35416 Mis-formatted definition list of hashing algorithms
  • #​35421 Showing LDAP error message when failing to reset password ldap
  • #​35427 OTEL: OTelTracingProvider should be request-scoped dist/quarkus
  • #​35429 access token or refresh token will be reset when another is set admin/ui
  • #​35448 Flaky test: org.keycloak.testsuite.model.DBLockTest.testTwoLocksCurrently ci
  • #​35451 Update Infinispan examples in the High Availability guide docs
  • #​35475 Delete user confirm title is wrong admin/ui
  • #​35481 Events: Wrong text for user id search admin/ui
  • #​35483 Event Representation is not shown for Admin Events in UI admin/ui
  • #​35486 When using the token revocation endpoint with refresh-token, all sessions from the user+client are terminated oidc
  • #​35488 [Jekins Keycloak CI] - RH-SSO EAP adapters remote saml tests ci
  • #​35496 `QuarkusPropertiesDistTest` fails on Windows testsuite
  • #​35526 Initial keycloak bootstrap suggestion is not correct. dist/quarkus
  • #​35529 IPA-Tuura federation: password field shows password in plaintext core
  • #​35544 Upgrading guide 26.0.6 is missing in the built document docs
  • #​35550 JVM crash when running base testsuite test from command line using auth-server-quarkus-embedded dist/quarkus
  • #​35570 Invoking `BaseUpdater.markDeleted()` more than once cause the transient status to be lost infinispan
  • #​35591 Embedded test server fails when running from `mvn` dist/quarkus
  • #​35611 Code quote for http-enabled is incorrect, missing relevant option in reverse proxy documentation docs
  • #​35612 Fix broken Dependabot configuration
  • #​35634 Temporary password toggle in set password dialog is cut off in admin-console admin/ui
  • #​35637 Inconsistency when returning user attributes when executing a seach or fetching users by ID from external user storage providers ldap
  • #​35643 Improve sssd note about synchronization of groups docs
  • #​35664 realm_test.spec fails on firefox admin/ui
  • #​35675 New install doesn't allow admin user creation dist/quarkus
  • #​35704 token exchange response expires_in inconsistent behavior token-exchange
  • #​35706 Support for X-Forwarded-Prefix should not be implied docs
  • #​35723 POST create client with id exceed 36 characters length response status 500 instead of 403 admin/api
  • #​35732 Missing userId in LOGIN_ERROR event for permanent lockout authentication
  • #​35745 GET .../organizations/{id}/members/{id} multiple ids organizations
  • #​35760 Event for setting up recovery codes authentication
  • #​35766 Fix grammar in documentation page docs
  • #​35767 Typo in using custom Keycloak image for Operator guide docs
  • #​35770 Quarkus.properties should not use -cf or --config-file flag docs
  • #​35793 Update to KC 26.x from <26 fails if admin-cli client deleted core
  • #​35796 Keycloak incorrect usage of UserPolicy and cache. authorization-services
  • #​35802 Keycloak arquillian testsuite not working with the default profile testsuite
  • #​35813 Token revocation may not correctly revoke related access tokens
  • #​35822 Exact searches should be the default when querying user by attributes admin/api
  • #​35827 Regression Mysql 8 support as the upgrade script do not use temporary table storage
  • #​35830 Selected Organization not present in access_token of different client within same Realm if user belongs to multiple organization organizations
  • #​35854 Unused LDAP provider options are still exposed
  • #​35863 Selecting one role selects all admin/ui
  • #​35874 MapComponent UI Not Displaying Saved Values in Keycloak React Admin UI admin/ui
  • #​35876 Typo in username pt_BR translation in account console account/ui
  • #​35904 Failing since may be reported incorrectly on health probe dist/quarkus
  • #​35914 Map Configuration Property in Custom UserStorageProviderFactory Not Displayed in UI After Saving admin/ui
  • #​35935 Organization Scope mismatch organizations
  • #​35937 Duplicate entry in admin message properties admin/ui
  • #​35947 Broken links in getting-started guide pointing to quickstarts latest branch docs
  • #​35964 Flaky test: org.keycloak.testsuite.forms.BruteForceTest#testExceedMaxTemporaryLockouts ci
  • #​35971 Wrong content-type for content.json account/ui
  • #​36009 Unable to use custom handlers for HTTP OPTIONS method in subresources dist/quarkus
  • #​36012 Double submit on otp form causes error login/ui
  • #​36037 Translations specified in the admin console do not override the translations specified in a theme translations
  • #​36038 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTokenExchangeTest#testInternalExternalTokenExchangeStoredToken ci
  • #​36053 IDPs can not be found anymore by "Issuer" value when exchanging tokens identity-brokering
  • #​36055 Unnecessary text in documentation docs
  • #​36061 NPE when Kerberos Server is unreachable core
  • #​36090 Incompatible method of admin-client in Keycloak 26.1 and missing javadoc admin/client-java
  • #​36117 max-count for session caches is not set by default for local Infinispan config dist/quarkus
  • #​36121 Issue with "403 Forbidden" Access /admin/realms/{realm}/authentication/executions/{executionId} admin/api
  • #​36168 Fix invalid url in keycloak.js log message adapter/javascript
  • #​36172 "Remove role" alert text is wrong admin/ui
  • #​36241 Profile attribute inputs incorrectly marked as required when minimum length is configured admin/ui
  • #​36249 Error when re-authenticating when organization is enabled organizations
  • #​36297 PasswordAgePolicy triggering NullPointerException when credentail does not have createdDate core
  • #​36301 KeycloakServer application not working anymore testsuite
  • #​36332 PersistentSessionsWorker: Cannot access delegate without a transaction ldap
  • #​36347 Roll-back change to startup timeout operator
  • #​36375 [Keycloak CI] - Bse IT/Store IT - IdentityProviderTest ci
  • #​36394 CVE-2024-11736 Unrestricted admin use of system and environment variables
  • #​36395 CVE-2024-11734 Denial of Service in Keycloak Server via Security Headers
  • #​36401 Metric `vendor_jgroups_*` is unstable and can change in upcoming releases infinispan
  • #​36410 When running Keycloak in testutils with Undertow, the admin UI thows NoMessageBodyWriterFoundFailure admin/ui
  • #​36432 Too much space around "Forgot Password" button (keycloak.v2) login/ui

v26.0.8

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​33569 Show User Events on dedicated tab on Client-/User-Details
  • #​34091 Username Form should support autocomplete login/ui

Bugs

  • #​34072 The Realm Selection Dropdown Breaks After 50 Realms In Database admin/ui
  • #​34207 logout with client_id and/or post_logout_redirect_uri results in bad request on logout confirmation page oidc
  • #​34402 [Keycloak 26.0.2] Getting "Forbidden, permission needed: query-clients" as temp-admin admin/ui
  • #​34675 Keys tab showing disabled and inactive keys as active admin/ui
  • #​34995 MySQL database migration issue core
  • #​35048 Filter events by user id and client not working admin/ui
  • #​35052 `organizationEnabled` and `verifiableCredentialsEnabled` attributes are present as attributes in an export
  • #​35273 Edit Help Mode descriptor for Roles in policy form admin/ui
  • #​35290 Database migration fails after upgrading operator to v26.0.6 core
  • #​35317 Token issuer is null in executeActionsEmail and sendVerifyEmail if no clientId is passed admin/api
  • #​35324 Strange Random behavior - Intermittent missing organization claim in Keycloak JWT token organizations
  • #​35410 SAML Adapter Galleon Pack for EAP8 cannot use new metadata options for layers adapter/saml
  • #​35416 Mis-formatted definition list of hashing algorithms
  • #​35421 Showing LDAP error message when failing to reset password ldap
  • #​35475 Delete user confirm title is wrong admin/ui
  • #​35481 Events: Wrong text for user id search admin/ui
  • #​35488 [Jekins Keycloak CI] - RH-SSO EAP adapters remote saml tests ci
  • #​35526 Initial keycloak bootstrap suggestion is not correct. dist/quarkus
  • #​35544 Upgrading guide 26.0.6 is missing in the built document docs
  • #​35634 Temporary password toggle in set password dialog is cut off in admin-console admin/ui
  • #​35675 New install doesn't allow admin user creation dist/quarkus
  • #​35822 Exact searches should be the default when querying user by attributes admin/api
  • #​36394 CVE-2024-11736 Unrestricted admin use of system and environment variables
  • #​36395 CVE-2024-11734 Denial of Service in Keycloak Server via Security Headers

v26.0.7

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​34882 Edits to Authorization Services guide
  • #​34916 Addresse QE comments on Server Administration guide
  • #​34931 Upgrade to ISPN 15.0.11.Final

Bugs

  • #​10233 Locale Setting for Update Password Mail admin/api
  • #​17233 the InfoPage after an ExecuteActionsEmail is not localized based on the user's locale authentication
  • #​30631 Upgrade to 25 throws: Statement violates GTID consistency core
  • #​32143 UserId too long to add Security Key WebauthN authentication/webauthn
  • #​32648 RP-Initiated logout using `POST` method fails in cross-origin setup oidc
  • #​32676 Flaky test: org.keycloak.testsuite.forms.BrowserButtonsTest#appInitiatedRegistrationWithBackButton ci
  • #​33071 RESTART_AUTHENTICATION_ERROR in Iphone devices (using safari and chrome browser) oidc
  • #​33195 Any one Client role mapping to user/group generating two events on admin events tab. core
  • #​33810 Stabilise my-resources.spec test account/ui
  • #​34233 Service accounts visible under user search in Admin console admin/api
  • #​34391 Error on "check a11y" tests on Cypress admin/ui
  • #​34560 Switching 'Email as Username' alters existing custom usernames to email addresses, causing LDAP sync issues core
  • #​34572 Text in "Choose a policy type" is not wrapping admin/ui
  • #​34590 Attributes missing in OrganizationRepresentation when using Admin REST API in Keycloak 26 admin/api
  • #​34678 [Admin UI] [Create resource-based permission] Resource input is disabled admin/ui
  • #​34858 Deprecated CLI options and new options are not stable in their sorting dist/quarkus
  • #​34864 On logout from admin console, a serverinfo call with 401 response in the logs admin/ui
  • #​34888 Authentication Link and IDP Fails with 400 Bad Request After Migrating to Version 26 and Delete Authentification authentication
  • #​34899 Upgrade 24 to 25 fails because db jpa changes drop nonexisting indexes. core
  • #​34930 Update Email doesn't update username when Email as Username and Attributes are enabled user-profile
  • #​34944 Adding "sub" claim to lightweight access token causes HTTP 403 Forbidden Error in Keycloak 26.0.5 oidc
  • #​34975 getAll() organization members only returns the first 10 members organizations
  • #​34987 KC25 Migration guide for caching options needs clarification
  • #​35006 Mis-formatted unordered list in the caching docs
  • #​35015 Flaky test: org.keycloak.testsuite.model.session.AuthenticationSessionTest#testConcurrentAuthenticationSessionsRemoval ci
  • #​35087 Flaky test: org.keycloak.testsuite.model.session.AuthenticationSessionTest#testConcurrentAuthenticationSessionsCreation ci
  • #​35229 Fix typo in v24 changelog: "longer" -> "no longer" docs
  • #​35232 reCAPTCHA v3 not working login/ui
  • #​35276 Your login attempt timed out authentication
  • #​35282 [Keycloak CI] - Test PoC failing on Keycloak 26.0 branch
  • #​35288 Upgrade 26.0.5 -> 26.0.6 completely breaks admin events in the admin UI admin/ui
  • #​35328 Error when creating a permission ticket when there are 2 or more Keycloak servers in a cluster authorization-services

v26.0.6

Compare Source

Highlights

Admin events might include now additional details about the context when the event is fired

In this release, admin events might hold additional details about the context when the event is fired. When upgrading you should expect the database schema being updated to add a new column DETAILS_JSON to the ADMIN_EVENT_ENTITY table.

Updates to documentation of X.509 client certificate lookup via proxy

Potential vulnerable configurations have been identified in the X.509 client certificate lookup when using a reverse proxy. Additional configuration steps might be required depending on your current configuration. Make sure to review the updated reverse proxy guide if you have configured the client certificate lookup via a proxy header.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​34315 Update the Keycloak CPU and Memory sizing guide to reflect the new ec2 workder nodes
  • #​34386 Some dynamic imported functions are also statically imported making bundling them in-efficient
  • #​34570 Make documentation more clear that keycloak javascript adapter and node.js adapter are OIDC docs
  • #​34855 Add conditional text to Installation Locations
  • #​34873 Update Leveraging JaKarta EE in Server Development guide
  • #​34887 Apply QE edits to High Availability guide

Bugs

  • #​609 Workflow failure - Jakarta - SAMLServiceProviderTest.testAccessAccountManagement
  • #​11008 Incorrect get the members of a group imported from LDAP ldap
  • #​17593 Incorrect ldap-group-mapper chosen to sync changes to ActiveDirectory when several mappers with varying group paths used ldap
  • #​19652 Members are inhereted from LDAP group with the same name ldap
  • #​23732 JavascriptAdapterTest errors when running with strict cookies on Firefox ci
  • #​27856 Social login - Stack Overflow test fails ci
  • #​31456 Enabling/Disabling user does not work with Microsoft AD LDAP via Admin API/UI ldap
  • #​32786 Organization Domain not marked as a required field in the Admin UI admin/ui
  • #​33531 Previously entered translations should persist in the translation dialog for the attribute groups admin/ui
  • #​34013 Add More Info to Organization Events organizations
  • #​34065 Users without `view-realm` can't see user lockout state in Admin UI admin/ui
  • #​34201 OIDC IdP Unable to validate signatures using validatingPublicKey certificate admin/ui
  • #​34335 NPE in Organization(s)Resource when using Quarkus Rest Client admin/api
  • #​34401 Incorrect Content-Type Expectation for POST /admin/realms/{realm}/organizations/{id}/members in Keycloak API admin/api
  • #​34465 Missing help icons in Webauthn Policy and Webauthn Passwordless Policy missing in admin ui admin/ui
  • #​34519 Clicking on link to Keycloak documentation from Keycloak admin UI does nothing instead of opening documentation admin/ui
  • #​34549 Quarkus dev mode does not work dist/quarkus
  • #​34572 Text in "Choose a policy type" is not wrapping admin/ui
  • #​34603 NPE in InfinispanOrganizationProvider if userCache is disabled infinispan
  • #​34624 Securing apps guide breaks downstream docs
  • #​34634 Missing downstream explicit name for anchors docs
  • #​34644 KC_CACHE_EMBEDDED_MTLS_ENABLED is ignored infinispan
  • #​34671 `ClientConnection.getRemoteAddr` can return a hostname when behind a reverse proxy core
  • #​34687 New credential templates broken in KC26 login/ui
  • #​34905 [Keycloak CI] Outdated surefire artifacts names - Quarkus IT and UT ci
  • #​35213 CVE-2024-10451 Sensitive Data Exposure in Keycloak Build Process
  • #​35214 CVE-2024-10270 Potential Denial of Service
  • #​35215 CVE-2024-10492 Keycloak path trasversal
  • #​35216 CVE-2024-9666 Keycloak proxy header handling Denial-of-Service (DoS) vulnerability
  • #​35217 CVE-2024-10039 Bypassing mTLS validation

v26.0.5

Compare Source

Highlights

LDAP users are created as enabled by default when using Microsoft Active Directory

If you are using Microsoft AD and creating users through the administrative interfaces, the user will created as enabled by default.

In previous versions, it was only possible to update the user status after setting a (non-temporary) password to the user. This behavior was not consistent with other built-in user storages as well as not consistent with others LDAP vendors supported by the LDAP provider.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Bugs

  • #​31415 Selection list does not close after outside click admin/ui
  • #​33607 Fix v2 login layout login/ui
  • #​33618 No message for `policyGroupsHelp` admin/ui
  • #​33640 Customizable footer (Keycloak 26) not displaying in keycloak.v2 login theme login/ui
  • #​34301 Remove inaccurate statement about master realm imports docs
  • #​34450 [26.0.2] Migration from 25.0.1 Identity Provider Errors identity-brokering
  • #​34467 Do not rely on the `pwdLastSet` attribute when updating AD entries ldap

v26.0.4

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​34284 Keycloak-admin-client should work with the future versions of Keycloak server admin/client-java
  • #​34382 Make the organization chapter of Server Admin guide available on downstream

Bugs

  • #​14562 Broken Promise implementation for AuthZ JS adapter/javascript
  • #​25917 Allow increasing wait time on each failure after the max number of failures is reached authentication
  • #​33627 ClassNotFoundException OracleXADataSource/OracleDataSource using IDELauncher with Keycloak 26.0.0 dist/quarkus
  • #​33731 Client Scope updates are not replicated on a distributed keycloak setup in kubernetes admin/api
  • #​33798 CVE-2021-44549 - org.eclipse.angus/angus-mail: Enabling Secure Server Identity Checks for Safer SMTPS Communication dist/quarkus
  • #​33987 keycloak.v2 registration: Password policy validation error "errorList is null" login/ui
  • #​34042 LDAP Pagination not working for role membership in GET_ROLES_FROM_USER_MEMBEROF_ATTRIBUTE strategy ldap
  • #​34050 Listing federated LDAP users is very slow with import enabled ldap
  • #​34093 java.util.ConcurrentModificationException when process user sessions update infinispan
  • #​34412 LDAP: searching users with import disabled is slower since fix for 34050 ldap

v26.0.3

Compare Source

v26.0.2

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​32110 [Documentation] - Configuring trusted certificates - Fully specify truststore path dist/quarkus

Bugs

  • #​15635 oidc - JavaScript-Adapter LocalStorage#clearExpired does not clear all possible items adapter/javascript
  • #​19101 Uncaught (in promise): QuotaExceededError adapter/javascript
  • #​20287 When using `oidcProvider` config url (.well-known) it's not possible to use `silentCheckSsoRedirectUri` adapter/javascript
  • #​28978 some GUI validation check missing admin/ui
  • #​30832 Organization API not available from OpenAPI documentation admin/api
  • #​31724 Logout not working after removing Identity Provider of user identity-brokering
  • #​33072 Passkeys: Infinite (re-)loading loop on browsers with WebAuthn Conditional UI disabled authentication/webauthn
  • #​33844 Wrong documentation link in keycloak-js readme docs
  • #​33902 Not persisted config settings prevent server start dist/quarkus
  • #​33948 [PERF] OpenTelemetry is initialized even when disabled
  • #​33968 Not possible to close dialog boxes when clicking buttons or the close icon admin/ui
  • #​33991 Doc CI - broken links error docs
  • #​34009 grammatical error in "Managing Organizations" documentation docs
  • #​34015 Home URL for security-admin-console is broken admin/ui
  • #​34028 Custom keycloak login theme styles.css return error 404 login/ui
  • #​34049 Org Invite: `linkExpiration` template variable represents 54 years in minutes organizations
  • #​34063 Respect the locale set to a user when redering verify email pages user-profile
  • #​34069 Do not show domain match message in the identity-first login when no login hint is provided organizations
  • #​34075 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​34095 Keycloak 26.0.0/26.0.1 Import Issue: Multiple Realms Not Imported, Duplicated Realm Imported Instead import-export
  • #​34151 JS password validation doesn't work as intended with uppercase and lowercase minimum requirements login/ui
  • #​34155 cli options starting or ending with ; or containing ;; mangle the cli handling dist/quarkus
  • #​34224 Deleting a user leads to ISPN marshalling exception

v26.0.1

Compare Source

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Enhancements

  • #​32152 Clarify the behaviour of multiple Operator versions installed in the same cluster operator
  • #​33275 Better logging when error happens during transaction commit storage

Bugs

  • #​8935 keycloak.js example from the documentation leads to error path adapter/javascript
  • #​19358 Issue with concurrent user & group delete, unable to cleanup resource server user-policy & group-policy authorization-services
  • #​31848 Repeated email verifications while logging in through IDP caused by email case sensitivity authentication
  • #​32266 LDAP Import: KERBEROS_PRINCIPAL not updated when UserPrincipal changes and user already exists ldap
  • #​32617 Nightly Cypress tests for the Admin Console are failing on Firefox admin/ui
  • #​32844 Login V2: Missing "dir" attributes login/ui
  • #​32847 Admin UI defaults to master realm even without permissions to it admin/ui
  • #​32962 Possible issue with unavailable CryptoIntegration when using keycloak-authz-client with private_key_jwt and ECDSA algorithm oidc
  • #​33513 Can get authorization code on a non verified user with some specific kc_action (AIA) oidc
  • #​33539 Keycloak In Docker: ERROR: Strict hostname resolution configured but no hostname setting provided docs
  • #​33549 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​33557 Unable to submit forms in Safari account/ui
  • #​33576 Broken links / anchors after KC26 release docs
  • #​33578 In imported realms, the ability to use environment variables has disappeared import-export
  • #​33585 Fix runaway asterisk formatting in TLS documentation docs
  • #​33638 Non-optimized start command gives erroneous warnings for runtime spi options dist/quarkus
  • #​33642 RTL not working on keycloak.v2 login template login/ui
  • #​33645 keycloak-js register broken: createRegisterUrl not awaited adapter/javascript
  • #​33699 Failure to redirect to organization IdP when the organization scope is included organizations
  • #​33735 Organizations section is shown in account console if organizations is not enabled for a realm. account/ui
  • #​33776 [Regression] 26.0.0 return empty "access: []" JWT for Docker-v2 Auth provider, resulting in "access denied" authentication
  • #​33777 Error when adding or removing a user from an organisation when there are 2 or more Keycloak servers in a cluster organizations
  • #​33780 Upgrade to 26 fails with 'ERROR: index "idx_us_sess_id_on_cl_sess" does not exist' core
  • #​33814 NPE when device representation cannot be parsed authentication
  • #​33817 NEP when Default Role is not present on CachedRealm infinispan
  • #​33874 [Keycloak CI] - AuroraDB IT - Error creating EC2 runner instance
  • #​33875 [Keycloak CI] - FIPS IT - Failed to fetch maven
  • #​33883 Auth not possible for auth session where user was enabled in the meantime authentication
  • #​33907 NPE thrown in whoami endpoint admin/ui
  • #​33967 password is a required field admin/ui

v26.0.0

Compare Source

Highlights

Organizations supported

Starting with Keycloak 26, the Organizations feature is fully supported.

Client libraries updates

Dedicated release cycle for the client libraries

From this release, some of the Keycloak client libraries will have release cycle independent of the Keycloak server release cycle. The 26.0.0 release may be the last one when the client libraries are released together with the Keycloak server. But from now on, the client libraries may be released at a different time than the Keycloak server.

The client libraries are these artifacts:

  • Java admin client - Maven artifact org.keycloak:keycloak-admin-client

  • Java authorization client - Maven artifact org.keycloak:keycloak-authz-client

  • Java policy enforcer - Maven artifact org.keycloak:keycloak-policy-enforcer

It is possible that in the future, some more libraries will be included.

The client libraries are supported with Java 8, so it is possible to use them with the client applications deployed on the older application servers.

Compatibility of the client libraries with the server

Beginning with this release, we are testing and supporting client libraries with the same server version and a few previous major server versions.

For details about supported versions of client libraries with server versions, see the Upgrading Guide.

User sessions persisted by default

Keycloak 25 introduced the feature persistent-user-sessions. With this feature enabled all user sessions are persisted in the database as opposed to the previous behavior where only offline sessions were persisted. In Keycloak 26, this feature is enabled by default. This means that all user sessions are persisted in the database by default.

It is possible to revert this behavior to the previous state by disabling the feature. Follow the Volatile user sessions section in Configuring distributed caches guide for more details.

For information on how to upgrade, see the Upgrading Guide.

New default login theme

There is now a new version (v2) of the keycloak login theme, which provides an improved look and feel, including support for switching automatically to a dark theme based on user preferences.

The previous version (v1) is now deprecated, and will be removed in a future release.

For all new realms, keycloak.v2 will be the default login theme. Also, any existing realm that never explicitly set a login theme will be switched to keycloak.v2.

Highly available multi-site deployments

Keycloak 26 introduces significant improvements to the recommended HA multi-site architecture, most notably:

  • Keycloak deployments are now able to handle user requests simultaneously in both sites.

  • Active monitoring of the connectivity between the sites is now required to update the replication between the sites in case of a failure.

  • The loadbalancer blueprint has been updated to use the AWS Global Accelerator as this avoids prolonged fail-over times caused by DNS caching by clients.

  • Persistent user sessions are now a requirement of the architecture. Consequently, user sessions will be kept on Keycloak or Infinispan upgrades.

For information on how to migrate, see the Upgrading Guide.

Admin Bootstrapping and Recovery

In the past, regaining access to a Keycloak instance when all admin users were locked out was a challenging and complex process. Recognizing these challenges and aiming to significantly enhance the user experience, Keycloak now offers several straightforward methods to bootstrap a temporary admin account and recover lost admin access.

It is now possible to run the start or start-dev commands with specific options to create a temporary admin account. Additionally, a new dedicated command has been introduced, which allows users to regain admin access without hassle.

For detailed instructions and more information on this topic, refer to the Admin Bootstrap and Recovery guide.

OpenTelemetry Tracing preview

The underlying Quarkus support for OpenTelemetry Tracing has been exposed to Keycloak and allows obtaining application traces for better observability. It helps to find performance bottlenecks, determine the cause of application failures, trace a request through the distributed system, and much more. The support is in preview mode, and we would be happy to obtain any feedback.

For more information, see the Enabling Tracing guide.

OpenID for Verifiable Credential Issuance

The OpenID for Verifiable Credential Issuance (OID4VCI) is still an experimental feature in Keycloak, but it was greatly improved in this release. You will find significant development and discussions in the Keycloak OAuth SIG. Anyone from the Keycloak community is welcome to join.

Many thanks to all members of the OAuth SIG group for the participation on the development and discussions about this feature. Especially thanks to the Francis Pouatcha, Pascal Knüppel, Takashi Norimatsu, Ingrid Kamga, Stefan Wiedemann and Thomas Darimont

DPoP improvements

The DPoP (OAuth 2.0 Demonstrating Proof-of-Possession) preview feature has improvements. The DPoP is now supported for all grant types. With previous releases, this feature was supported only for the authorization_code grant type. Support also exists for the DPoP token type on the UserInfo endpoint.

Many thanks to Pascal Knüppel for the contribution.

Removal of GELF logging handler

GELF support has been deprecated for a while now, and with this release it has been finally removed from Keycloak. Other log handlers are available and fully supported to be used as a replacement of GELF, for example Syslog. For details see the Logging guide.

Lightweight access tokens for Admin REST API

Lightweight access tokens can now be used on the admin REST API. The security-admin-console and admin-cli clients are now using lightweight access tokens by default, so “Always Use Lightweight Access Token” and “Full Scope Allowed” are now enabled on these two clients. However, the behavior in the admin console should effectively remain the same. Be cautious if you have made changes to these two clients and if you are using them for other purposes.

Keycloak JavaScript adapter now standalone

Keycloak JavaScript adapter is now a standalone library and is therefore no longer served statically from the Keycloak server. The goal is to de-couple the library from the Keycloak server, so that it can be refactored independently, simplifying the code and making it easier to maintain in the future. Additionally, the library is now free of third-party dependencies, which makes it more lightweight and easier to use in different environments.

For a complete breakdown of the changes consult the Upgrading Guide.

Hostname v1 feature removed

The deprecated hostname v1 feature was removed. This feature was deprecated in Keycloak 25 and replaced by hostname v2. If you are still using this feature, you must migrate to hostname v2. For more details, see the Configuring the hostname (v2) and the initial migration guide.

Automatic redirect from root to relative path

User is automatically redirected to the path where Keycloak is hosted when the http-relative-path property is specified. It means when the relative path is set to /auth, and the user access localhost:8080/, the page is redirected to localhost:8080/auth.

The same applies to the management interface when the http-management-relative-path or http-relative-path property is specified.

It improves user experience as users no longer need to set the relative path to the URL explicitly.

Persisting revoked access tokens across restarts

In this release, revoked access tokens are written to the database and reloaded when the cluster is restarted by default when using the embedded caches.

For information on how to migrate, see the Upgrading Guide.

Client Attribute condition in Client Policies

The condition based on the client-attribute was added into Client Policies. You can use condition to specify for the clients with the specified client attribute having a specified value. It is possible to use either an AND or OR condition when evaluating this condition as mentioned in the documentation for client policies.

Many thanks to Yoshiyuki Tabata for the contribution.

Specify different log levels for log handlers

It is possible to specify log levels for all available log handlers, such as console, file, or syslog. The more fine-grained approach provides the ability to control logging over the whole application and be tailored to your needs.

For more information, see the Logging guide.

Proxy option removed

The deprecated proxy option was removed. This option was deprecated in Keycloak 24 and replaced by the proxy-headers option in combination with hostname options as needed. For more details, see using a reverse proxy and the initial migration guide.

Option proxy-trusted-addresses added

The proxy-trusted-addresses can be used when the proxy-headers option is set to specify a allowlist of trusted proxy addresses. If the proxy address for a given request is not trusted, then the respective proxy header values will not be used.

Option proxy-protocol-enabled added

The proxy-protocol-enabled option controls whether the server should use the HA PROXY protocol when serving requests from behind a proxy. When set to true, the remote address returned will be the one from the actual connecting client.

Option to reload trust and key material added

The https-certificates-reload-period option can be set to define the reloading period of key store, trust store, and certificate files referenced by https-* options. Use -1 to disable reloading. Defaults to 1h (one hour).

Options to configure cache max-count added

The --cache-embedded-${CACHE_NAME}-max-count= can be set to define an upper bound on the number of cache entries in the specified cache.

The https-trust-store-* options have been undeprecated

Based on the community feedback, we decided to undeprecate https-trust-store-* options to allow better granularity in trusted certificates.

The java-keystore key provider supports more algorithms and vault secrets

The java-keystore key provider, which allows loading a realm key from an external java keystore file, has been modified to manage all Keycloak algorithms. Besides, the keystore and key secrets, needed to retrieve the actual key from the store, can be configured using the vault. Therefore a Keycloak realm can externalize any key to the encrypted file without sensitive data stored in the database.

For more information about this subject, see Configuring realm keys.

Adding support for ECDH-ES encryption key management algorithms

Now Keycloak allows configuring ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW or ECDH-ES+A256KW as the encryption key management algorithm for clients. The Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) specification introduces three new header parameters for the JWT: epk, apu and apv. Currently Keycloak implementation only manages the compulsory epk while the other two (which are optional) are never added to the header. For more information about those algorithms please refer to the JSON Web Algorithms (JWA).

Also, a new key provider, ecdh-generated, is available to generate realm keys and support for ECDH algorithms is added into the Java KeyStore provider.

Many thanks to Justin Tay for the contribution.

Support for multiple instances of a social broker in a realm

It is now possible to have multiple instances of the same social broker in a realm.

Most of the time a realm does not need multiple instances of the same social broker. But due to the introduction of the organization feature, it should be possible to link different instances of the same social broker to different organizations.

When creating a social broker, you should now provide an Alias and optionally a Display name just like any other broker.

New generalized event types for credentials

There are now generalized events for updating (UPDATE_CREDENTIAL) and removing (REMOVE_CREDENTIAL) a credential. The credential type is described in the credential_type attribute of the events. The new event types are supported by the Email Event Listener.

The following event types are now deprecated and will be removed in a future version: UPDATE_PASSWORD, UPDATE_PASSWORD_ERROR, UPDATE_TOTP, UPDATE_TOTP_ERROR, REMOVE_TOTP, REMOVE_TOTP_ERROR

Customizable Footer in login Themes

The template.ftl file in the base/login and the keycloak.v2/login theme now allows to customize the footer of the login box. This can be used to show common links or include custom scripts at the end of the page.

The new footer.ftl template provides a content macro that is rendered at the bottom of the "login box".

Keycloak CR supports standard scheduling options

The Keycloak CR now exposes first class properties for controlling the scheduling of your Keycloak Pods.

For more details, see the Operator Advanced Configuration.

KeycloakRealmImport CR supports placeholder replacement

The KeycloakRealmImport CR now exposes spec.placeholders to create environment variables for placeholder replacement in the import.

For more details, see the Operator Realm Import.

Configuring the LDAP Connection Pool

In this release, the LDAP connection pool configuration relies solely on system properties.

For more details, see Configuring the connection pool.

Infinispan marshalling changes to Infinispan Protostream

Marshalling is the process of converting Java objects into bytes to send them across the network between Keycloak servers. With Keycloak 26, we changed the marshalling format from JBoss Marshalling to Infinispan Protostream.

Warning
JBoss Marshalling and Infinispan Protostream are not compatible with each other and incorrect usage may lead to data loss. Consequently, all caches are cleared when upgrading to this version.

Infinispan Protostream is based on Protocol Buffers (proto 3), which has the advantage of backwards/forwards compatibility.

Removal of OSGi metadata

Since all of the Java adapters that used OSGi metadata have been removed we have stopped generating OSGi metadata for our jars.

Group-related events no longer fired when removing a realm

With the goal of improving the scalability of groups, they are now removed directly from the database when removing a realm. As a consequence, group-related events like the GroupRemovedEvent are no longer fired when removing a realm.

For information on how to migrate, see the Upgrading Guide.

Identity Providers no longer available from the realm representation

As part of the improvements around the scalability of realms and organizations when they have many identity providers, the realm representation no longer holds the list of identity providers. However, they are still available from the realm representation when exporting a realm.

For information on how to migrate, see the Upgrading Guide.

Securing Applications documentation converted into the guide format

The Securing Applications and Services documentation was converted into the new format similar to the Server Installation and Configuration documentation converted in the previous releases. The documentation is now available under Keycloak Guides.

Removal of legacy cookies

Keycloak no longer sends _LEGACY cookies, which where introduced as a work-around to older browsers not supporting the SameSite flag on cookies.

The _LEGACY cookies also served another purpose, which was to allow login from an insecure context. Although, this is not recommended at all in production deployments of Keycloak, it is fairly frequent to access Keycloak over http outside of localhost. As an alternative to the _LEGACY cookies Keycloak now doesn​8217;t set the secure flag and sets SameSite=Lax instead of SameSite=None when it detects an insecure context is used.

Property origin in the UserRepresentation is deprecated

The origin property in the UserRepresentation is deprecated and planned to be removed in future releases.

Instead, prefer using the federationLink property to obtain the provider to which a user is linked with.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Deprecated features

  • #​600 De-couple quickstarts from statically served Keycloak JS quickstarts

New features

  • #​20342 Duplicate groups in the admin console of Keycloak admin/ui
  • #​26178 Support dark mode, at least for the login pages login/ui
  • #​29324 Bootstrapping an admin user using a dedicated command dist/quarkus
  • #​29755 Support AES and HMAC Key-Imports for the JavaKeystoreKeyProvider
  • #​30002 Bootstrapping an admin service account using a dedicated command dist/quarkus
  • #​30009 Warnings for temporary admin user and service account core
  • #​30011 Document admin bootstrapping and recovery docs
  • #​30682 Group assignment: Display disabled information from user admin/ui
  • #​30795 Initiate create events if ClientScopes are created
  • #​31421 Add Events for Organization Creation and Member Assignment organizations
  • #​31642 Include organization attributes and information in ID and access tokens organizations
  • #​31643 Implement invitation-only self-registration for realm users organizations
  • #​32030 Retry remote cache operations with back off
  • #​32135 Option to specify trusted proxies dist/quarkus
  • #​32553 Expose Password Policies in FreeMarker Context for Login Themes

Enhancements

  • #​583 Update dependency on keycloak-client in main branch to 999.0.0-SNAPSHOT quickstarts
  • #​10114 Specific events for webauthn register authentication/webauthn
  • #​10492 Support proxy_protocol
  • #​14073 SAML 2.0 HTTP-Artifact binding
  • #​15769 update or replace base64-js and js-sha256 adapter/javascript
  • #​16750 Google login - add prompt=select_account option core
  • #​19564 response_type none is oidc spec but ignored in the current implementation. oidc
  • #​19750 Use a proper FreeMarker template for the new consoles account/ui
  • #​21072 Make sure identity providers are not send in realm GET requests and PUT requests used in "Realm settings"
  • #​21261 Identity providers: Pagination in account console (and account REST API)
  • #​21342 Upgrade login theme to PatternFly 5 login/ui
  • #​23179 kcadm should have a command to verify connection admin/cli
  • #​23596 Support generated ECDH realm keys oidc
  • #​23597 Support ECDH-ES JWE algorithms oidc
  • #​23771 Automatically hot reload TLS certificates when https-certificate-file or https-certificate-key-file changes on disk dist/quarkus
  • #​24815 Hostname config check on welcome page
  • #​25391 Improve auto behavior with operator and --optimized
  • #​25541 Add an option for a custom welcome page to disable bootstrapping of admin account welcome/ui
  • #​26262 Remove need to update Quarkus tests when profile features change dist/quarkus
  • #​26470 Add a field to the RealmImportSpec to toggle replacing ENV variable placeholders
  • #​27040 [keycloak-js] Expose didInitialize as a public method/property adapter/javascript
  • #​27298 Validate spi options wrt build / run time dist/quarkus
  • #​27432 Document how to specify CPU and memory limits/requests for the Operator operator
  • #​27884 Automatic update of bcfips versions in the docs docs
  • #​27947 Rename Dockerfile to Containerfile in the docs docs
  • #​28017 Un-friendly error message for Fail Import option in keycloak GUI import-export
  • #​28140 External Infinispan as cache - Part 1
  • #​28311 Detect clients which refresh their access tokens too early
  • #​28581 Support OpenTelemetry tracing
  • #​28648 External Infinispan as cache - Part 2
  • #​28754 External Infinispan as cache - Part 3 / login failures cache
  • #​28755 External Infinispan as cache - Part 4 / user + client sessions online + offline
  • #​29200 Clarify import/export usage of options
  • #​29258 Support pod affinity settings in the Keycloak Operator operator
  • #​29303 Active/Active XSite fencing
  • #​29394 Infinispan Protostream
  • #​29480 GET users endpoint is making lots of requests to the database storage
  • #​29665 Please clarify in the docs that the replacement of KC_PROXY=edge is not just KC_PROXY_HEADERS, but one MUST set KC_HTTP_ENABLED=true.
  • #​29698 Improve SAML2 Metadata Validation Exception messages saml
  • #​29725 VC issuance in Authz Code flow with considering “scope” parameter oid4vc
  • #​29974 Add support of RTL UI in login pages login/ui
  • #​29986 private AuthzClient.createPatSupplier
  • #​30003 Bootstrapping an admin user or service account at server startup dist/quarkus
  • #​30004 Bootstrapping an admin user or service account using the Operator operator
  • #​30010 Update the welcome page to create a temporary admin user dist/quarkus
  • #​30094 Do not inherit 'https-client-auth' property for the management interface
  • #​30118 Admin UI - Fixed save buttons on the bottom at the page
  • #​30165 Handle proxy related env vars in the Operator operator
  • #​30243 Protobuf schema compatibility check (maven plugin)
  • #​30267 Protect the disabling of the main keycloak account admin/api
  • #​30286 Add missing translation for oid4vc protocol
  • #​30337 Introduce packages for organization tests organizations
  • #​30338 Refactor organization tests organizations
  • #​30346 Enhance masking around config-keystore dist/quarkus
  • #​30419 Credential Issuer Metadata: Support Optional ```claims``` Object in ```credential_configurations_supported``` in ```openid-credential-issuer``` endpoint oid4vc
  • #​30445 Batch cluster events
  • #​30454 Server crash when using kc.sh with -Dkeycloak.profile=experimental dist/quarkus
  • #​30525 Enhance Verifiable Credential Signing Service Flexibility and Key Rotation oid4vc
  • #​30537 Document how Admin REST API endpoints work with Hostname config docs
  • #​30542 Use correct scope within maven-plugin core
  • #​30623 Make sure not possible to import jakarta classes in admin-client-jee admin/client-java
  • #​30629 Cleanup dependencies of keycloak-client-registration-api to not have dependency on server admin/client-java
  • #​30707 prevent removing the flow when used by client flow overrides authentication
  • #​30743 Make sure users created through a registration link are managed members organizations
  • #​30746 Allow auto-redirect existing users federated from organization broker when using the username organizations
  • #​30747 Support for members joining multiple organizations organizations
  • #​30829 Print keycloak's server response when using keycloak-admin-client admin/client-js
  • #​30855 Make persistent user sessions and external Infinispan co-exist
  • #​30856 Remove inclusive language foreword docs
  • #​30873 Exchange VC Format class for String constantns oid4vc
  • #​30880 Add vault support to JavaKeystoreKeyProvider core
  • #​30907 Implement advanced verification of SD-JWT in Keycloak oid4vc
  • #​30918 VerifiableCredential: Exchange java.util.Date for java.time.Instant oid4vc
  • #​30924 Keycloak Operator should use the port name and not the port number for the ingress operator
  • #​30931 Enable ProtoStream encoding for External Infinispan feature
  • #​30934 Drop `AuthenticatedClientSessionStore` from user sessions
  • #​30995 Document LDAP connection pool configuration
  • #​30999 Make ProofType for CredentialRequest a string instead of enum oid4vc
  • #​31005 Override of begin transaction in AbstractKeycloakTransaction
  • #​31006 Conditionally redirect existing users to a broker based on their credentials organizations
  • #​31029 Refactor HA guide
  • #​31046 ConditionalRemove interface for External Infinispan feature
  • #​31056 Avoid iterating and updating all group policies when removing groups authorization-services
  • #​31064 Add simple cache to cache-local.xml
  • #​31076 Oauth2GrantType.Context requires getter-methods oidc
  • #​31086 Manipulate redirect on OpenID redirect with custom implementation oidc
  • #​31183 Show Display Name (if available) and Realm Id on Realm Dropdown Button admin/ui
  • #​31226 Release notes for JavaKeystoreProvider updates docs
  • #​31343 Can we remove distribution/feature-packs directory? adapter/jee
  • #​31388 [Organizations] Add a count() method to the OrganizationMembersResource core
  • #​31390 Allow custom login themes to define a footer ftl fragment login/ui
  • #​31438 Support for authenticating and issuing tokens in the context of a organization organizations
  • #​31489 Remove keycloak-undertow-adapter-spi adapter/saml
  • #​31491 Add a deprecation warning when old `KEYCLOAK_ADMIN`, `KEYCLOAK_ADMIN_PASSWORD` env vars are used dist/quarkus
  • #​31513 Support lightweight access tokens for Admin REST API oidc
  • #​31514 Allow Embedded Cache sizes to be configured via the CLI
  • #​31547 Use correct error code in error response in token exchange token-exchange
  • #​31548 Add issued_token_type to token-exchange response token-exchange
  • #​31581 Allow optional inclusion of Issue At TIme (iat) and Not Before (nbf) claim to a verifiable credential oid4vc
  • #​31625 import placeholders should be converted to an option
  • #​31648 Change default name of bootstrap service account dist/quarkus
  • #​31670 Make sure the storage provider ID is always available from `UserModel.getFederationLink`
  • #​31676 Upgrade to Quarkus 3.13.2 dist/quarkus
  • #​31681 Add x5c and jwk header to JWSBuilder oidc
  • #​31699 Optimize Remote Infinispan performance on removal of entry
  • #​31701 Optimize CPU cycles for persistent sessions
  • #​31725 Revoked tokens table is missing an index
  • #​31766 Client Policy - Condition : Client - Client Attribute oidc
  • #​31786 The console takes a very long time to display group members with LDAP provider ldap
  • #​31807 Simplify enabling MULTI_SITE setup in KC26
  • #​31816 Class CertificateUtils should support creation of EC certificates oidc
  • #​31845 JavaScript build should not cache Keycloak Java artifacts and should rotate PNPM cache
  • #​31876 Non clustered Keycloak with External Infinispan feature
  • #​31894 Redirect after cancelling a required action should contain kc_action parameter authentication
  • #​31908 Add docs for the OpenTelemetry tracing docs
  • #​31932 Upgrade to next Quarkus LTS dist/quarkus
  • #​31963 Upgrade to Infinispan 15.0.7.Final
  • #​32023 Add ECDH-ES encyption algorithms to the java keystore key provider core
  • #​32033 References to removed artifacts and obsolete properties in root pom.xml
  • #​32056 OTEL: Service name isn't configurable and doesn't comply with conventions
  • #​32095 OTEL: Dynamic service name for tracing in K8s environment operator
  • #​32131 Remove session related caches from external Infinispan in HA guide
  • #​32158 Add an endpoint to the `organizations` endpoint to return the organizations for a given user organizations
  • #​32188 Quarkus IDE Debugging should set JVM options like kc.sh
  • #​32198 error message "Address already in use" should state which address/port in particular
  • #​32231 OTEL: Profile Feature dist/quarkus
  • #​32265 Enable persistent sessions by default
  • #​32273 Optimize Persistent Sessions SQL for session list
  • #​32312 Relocate Quarkus resteasy-reactive dependencies to REST
  • #​32314 Syslog: add necessary options to cover the major usability dist/quarkus
  • #​32328 Upgrade to Infinispan 15.0.8
  • #​32343 Upgrade Keycloak's sizing guide for KC26 and persistent sessions
  • #​32387 Documentation for persistent sessions enabled by default
  • #​32388 Make update IdentityProvider admin REST API more efficient.
  • #​32389 Upgrade to Quarkus 3.13.3 dist/quarkus
  • #​32416 Skip creating sessions cache when Persistent Sessions is enabled
  • #​32428 Performance optimization when checking secure context
  • #​32517 Upgrade to Quarkus 3.14.2 dist/quarkus
  • #​32525 Document Syslog app-name option
  • #​32579 Set autocomplete="one-time-code" in OTP login form login/ui
  • #​32582 Remove tables `user_session`, `user_session_note` and `client_session`
  • #​32583 Review the number indexes for offline session tables
  • #​32586 Remove keycloak-core and keycloak-crypto-default from SAML galleon feature pack and upgrade them to Java 17 dependencies
  • #​32588 Search Identity Providers by alias or display name
  • #​32590 Remove `version()` projection from Ickle Queries
  • #​32596 Rename `remote-cache` Feature
  • #​32619 Possibility to separately specify log levels for log handlers
  • #​32683 Optimize LogoutEndpoint.backchannelLogout endpoint identity-brokering
  • #​32717 Make it explicit which options are needed when using optimized image with the Operator operator
  • #​32745 Review the RTO and RPO in the multi-site docs after the A/A failure and recovery tests
  • #​32746 Add organization id to the organization claim of the access token
  • #​32803 Update the HA guide with fencing lambda taking Infinispan caches offline
  • #​32804 Remove `org.keycloak.utils.ProxyClassLoader`
  • #​32845 Add client side password policy checks
  • #​32852 Prevent deadlocks on concurrent user updates
  • #​32863 Redirect to relative-path from the root path dist/quarkus
  • #​32906 Reduce the cost of updating user attributes in JPA store core
  • #​32968 [OID4VCI] Show OpenID4VCI Credential Issuer Metadata link in admin ui oid4vc
  • #​32970 Upgrade to Quarkus 3.14.4 dist/quarkus
  • #​33010 Bootstrap admin client should use lightweight access tokens dist/quarkus
  • #​33015 FolderThemeProvider should select theme from available themes core
  • #​33040 Provide more information when there is an error to possibly debug
  • #​33143 Add the Troubleshooting and Health checks guide to Keycloak
  • #​33163 Use INFO Log Level for status in Migration Logic in DefaultMigrationManager
  • #​33201 [Organizations] Allow orgs to define the redirect URI after user registers or accepts invitation link organizations
  • #​33203 Explicitly document that the Operator does not create an Ingress for Admin URL operator
  • #​33325 Refactor loading resources from themes
  • #​33384 Document supported configurations and limitations for multi-site
  • #​33405 Use feature versions for admin3, account3, and login2
  • #​33426 Minor tweaks in SAML documentation adapter/saml
  • #​33515 Use `crypto.randomUUID()` to generate UUIDs for Keycloak JS adapter/javascript

Bugs

  • #​555 Failures in `ExtendAdminConsoleTest` quickstarts
  • #​565 Build fails in the extension quickstarts
  • #​567 Tests in user-storage-simple quickstart are failing in main branch quickstarts
  • #​572 Action-token quickstarts don't compile with latest Keycloak quickstarts
  • #​574 Incorrect Keycloak version in the main branch of quickstarts quickstarts
  • #​595 Jakarta tests are failing with latest main quickstarts
  • #​607 Workflow failure - JavaScript quickstarts
  • #​10730 realm import: error if ldap groupmapper has a group path set import-export
  • #​13505 locale attribute not set after registration authentication
  • #​17857 New Admin UI does not send e-mails if account-client is disabled core
  • #​19070 authBaseUrl error on different hostname-admin-url, hostname-url admin/ui
  • #​20371 Double form submit in Admin UI possible leading to error mesages admin/ui
  • #​20431 Fine-grained admin permission client manage does not work admin/ui
  • #​23028 Documentation: Authorization Services documentation contains duplicated image authorization-services
  • #​23496 Rename "Realm name" field to "Realm ID" field in realm creation screen admin/ui
  • #​25234 front channel logout to clients are not called at Identity Proxy when using front channel logout to Identity Provider( oidc
  • #​25339 "Invalid Username" when "Email as Username" is used and the email contains special characters user-profile
  • #​25440 page-expired error page shown when using browser back-button on forgot-password page after invalid login attempt authentication
  • #​25794 Flaky test: org.keycloak.testsuite.model.DBLockTest#testTwoLocksCurrently storage
  • #​25837 Infinispan Cache(embedded) data is not being updated during mergeView event infinispan
  • #​26042 Issue when start-dev in 23.0.1 dist/quarkus
  • #​26117 Flaky test: org.keycloak.testsuite.oidc.AuthenticationMethodReferenceTest#testAmrPastMaxAge oidc
  • #​26176 Flaky test: org.keycloak.testsuite.forms.RecoveryAuthnCodesAuthenticatorTest#test03AuthenticateRecoveryAuthnCodes authentication
  • #​26435 NullPointerException when using client scope policy for token-exchange token-exchange
  • #​26794 MULTIVALUED_LIST_TYPE not working for client mappers admin/ui
  • #​27506 Readable realm name no longer visible in logs, but realm id is used instead core
  • #​27536 "User Profile" attributes not available for Users Attribute search and Attribute selection, if no view or manage realm realm-management role added account/ui
  • #​27677 Translations missing for user events in admin ui translations
  • #​27941 Entry 999.0.0 in MIGRATION_MODEL prevents future migrations of the database core
  • #​28020 Firefox Webauthn Registration "SecurityError: The operation is insecure." authentication/webauthn
  • #​28418 SSO Session Idle: session is still active after session idle time expired oidc
  • #​28489 Missing help text on tokens tab admin/ui
  • #​28633 Client roles won't open (Forbidden) with Fine Grained Permission (without view-clients realm-management role) account/ui
  • #​28643 Encountering `NullPointerException` - `KeycloakIdentity.getUserFromToken()` when running `admin-ui` locally admin/ui
  • #​28865 NullPointerException on RealmCacheSession when upgrading Keycloak 23.0.4 to 24.0.2 infinispan
  • #​28953 Flaky test: org.keycloak.testsuite.actions.RequiredActionUpdateProfileTest#updateProfileWithoutRemoveCustomAttributes ci
  • #​29098 User profile validation pattern error-message not rendered from messages_en.properties admin/ui
  • #​29211 Network error attempting to view default realm roles without permissions admin/ui
  • #​29271 TrustedHostClientRegistrationPolicyTest#testGithubDomain failing in clean checkout testsuite
  • #​29385 Restart authentication event type is not generated authentication
  • #​29407 Need refresh attributes group translations on Users > Details tab admin/ui
  • #​29413 Realm client unset protocol not preserved admin/ui
  • #​29468 realm_settings_general_tab_test.spec fails randomly admin/ui
  • #​29486 Default theme logs font related console errors on firefox login/ui
  • #​29542 The EmailEventListenerProvider throws an exception on brute force lockout events authentication
  • #​29566 User Profile attributes/groups in Admin UI are not translated using Localization for non-master realm when signed in the master realm account/ui
  • #​29615 Get effective roles for user needs more privileges than expected admin/api
  • #​29761 bug: disabling all default features no longer works core
  • #​29784 Exception while trying to run a LDAP sync with a group importer and a batch size less then the actual number of groups ldap
  • #​29866 Missing Cache-Control header when "response_type" parameter is missing in login request authentication
  • #​29878 Updating a client protocol mappers through Admi CLI (kcadm) resets the client service account roles admin/cli
  • #​29978 Admin UI slow performance loading 600+ realms admin/ui
  • #​30048 Save button is not activated at first modification on "Client scope details" admin/ui
  • #​30111 Flaky test: org.keycloak.testsuite.oauth.TokenIntrospectionTest#testUnsupportedToken ci
  • #​30115 Admin v2 theme - theme.properties Custom theme scripts not loading admin/ui
  • #​30143 User in subgroup not synchronized and still appears as not in the subgroup account/ui
  • #​30181 [DPoP] token_type on UserInfoEndpoint expects Bearer instead of DPoP oidc
  • #​30188 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​30201 Keycloak CI - failure in Store IT (aurora-postgres) ci
  • #​30235 Flaky test: org.keycloak.testsuite.model.user.UserModelTest#testAddRemoveUserConcurrent ci
  • #​30236 Flaky test: org.keycloak.testsuite.model.user.UserModelTest#testAddRemoveUserConcurrent ci
  • #​30240 Custom attributes are removed during UPDATE PROFILE event core
  • #​30271 Client role descriptions are not localized admin/ui
  • #​30276 The "Quarkus development mode" instructions in quarkus/README.md throw a ForkJoinPool error dist/quarkus
  • #​30284 Executor consent-required does not work for client-roles condition oidc
  • #​30300 Upgrade to Keycloak 25 - Table 'USER_CONSENT' is specified twice on MySQL/MariaDB database core
  • #​30302 Methods of SimpleHttp are after change now too much protected core
  • #​30305 Importing organizations failing if there is no broker and members in the representation organizations
  • #​30306 Upgrade to Keycloak 25 - Events bug in UI admin/ui
  • #​30308 Organization resources in keycloak-admin-client-jee have dependencies on jakarta admin/client-java
  • #​30312 Add an alias to organization organizations
  • #​30313 Expose organization to theme templates organizations
  • #​30329 Client secret rotation UI shows wrong rotated secret admin/ui
  • #​30332 Operator fails to patch ingress after update to 25.0.0 operator
  • #​30334 RESTART_AUTHENTICATION_ERROR when login in in private browser window after 25.0.0 update core
  • #​30335 Google login on Social login test is failing ci
  • #​30339 Identity-first login flow should be followed by asking for the user credentials rather than allowing providing the username again organizations
  • #​30351 Migration of sessions in KC25 should run only on migration, not on imports
  • #​30355 New operator failing on health checks operator
  • #​30368 Documentation : label error for persistent-user-sessions feature flag docs
  • #​30380 Incorrect warning log about deprecated options hostname, hostname-debug dist/quarkus
  • #​30383 Account Console (v3) no longer highlights the current page in the nav bar account/ui
  • #​30414 Login / Admin events filter by date under realm Events return incorrect results storage
  • #​30417 Keycloak 25 db guide shows unevaluated "ifeval docs
  • #​30425 Built-in scopes are not translated in the account console "applications" tab account/ui
  • #​30432 keycloak hostname:v2 /admin used on "hostname" instead of "hostname-admin" admin/ui
  • #​30434 Improvements for ldap test authentication ldap
  • #​30436 Client Roles are not shown when clientId property is set admin/ui
  • #​30440 UI theme bug in KC 25.0.0 admin/ui
  • #​30449 Migration stuck if versions incompatible operator
  • #​30460 The `start` command should automatically re-build when previous run was `start-dev` dist/quarkus
  • #​30476 All user attributes readonly in admin ui and admin API after setting edit mode of one user federation to READ_ONLY core
  • #​30485 Fix LoginFailureEntity protostream encoding infinispan
  • #​30492 partial_import_test fails randomly admin/ui
  • #​30511 Fix AuthenticatedClientSessionEntity protostream encoding infinispan
  • #​30520 Flow steps back when changing locale or refreshing page on "Try another way page" authentication
  • #​30521 "Client Offline Session Max" no longer available admin/ui
  • #​30541 Account UI resources try to load from admin path instead of frontend path account/ui
  • #​30550 [UI] group selection does not update attribute tab admin/ui
  • #​30552 After migrating from 24 to 25, the signature algorithms names do not display in drop down menu admin/ui
  • #​30582 Localization prevents update of user-profile attributes admin/ui
  • #​30591 Invalid character in spanish translation file for Identity Provider Link Template translations
  • #​30599 client-jwt authentication fails on Token Introspection Endpoint oidc
  • #​30604 Network response was not OK. saml
  • #​30614 token exchange: exchange-sequence fails with Client session for client 'client-exchanger' not present in user session token-exchange
  • #​30641 Flaky test: org.keycloak.testsuite.broker.KcSamlBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​30652 Default server port is used instead of the management interface port in the guide about running Keycloak in a container
  • #​30662 User policy -> select user shows user id instead of user name. admin/ui
  • #​30663 A theme called `custom` is displayed as `Custom Attribute...` in the admin console admin/ui
  • #​30677 LDAP connection pool params(maxsize, initsize, prefsize) picked up from backend ComponentModel and are not visible in Keycloak admin console ldap
  • #​30678 Require SSL mode "External requests" does not work with IPv6 local addresses dist/quarkus
  • #​30683 Infinite loader on the admin console for non-admin users admin/ui
  • #​30703 Recovery codes missing from account console docs
  • #​30705 Full details of errors not shown in admin and account console account/ui
  • #​30706 Internal error occurs for the removed flow which override by the client authentication
  • #​30712 Remove of Multivalued Attribute due to - Adding translations when a new attribute is created admin/ui
  • #​30717 Broken external links docs
  • #​30730 Cannot explicitly disable KERBEROS feature core
  • #​30758 Docs: server_admin/topics/login-settings/acr-to-loa-mapping.adoc docs
  • #​30761 Protobuf deserialization has a default of an empty String core
  • #​30765 fallback to the no override flow when the flow is missing in client override authentication
  • #​30772 Rendering of granted client scopes in User Consents view broken in Admin UI admin/ui
  • #​30794 Filtering by Client ID in the "User Client Role" mapper does not work anymore admin/ui
  • #​30816 Docs: server_development/topics/themes.adoc docs
  • #​30821 Testing connection to ldap on the settings page does not work in 25.0.1 ldap
  • #​30837 Cannot find requested client with clientId ldap
  • #​30840 Incorrect order when instantiate ClientRemovedEvent infinispan
  • #​30857 Check for being Offline type in refresh token flow must be done based on refresh token request parameter oidc
  • #​30866 admin-cli invalid credentials admin/cli
  • #​30874 DPoP Keycloak JS Adapter docs
  • #​30917 reCAPTCHA Enterprise v3 - Unrecognized field "accountDefenderAssessment" core
  • #​30935 Incorrect version comparison in ModelVersion storage
  • #​30941 Fix docs about User Storage SPI JPA quickstart docs
  • #​30945 Keycloak operator adds proxy by default which is depreacted operator
  • #​30947 Error when trying to edit authentication sub-flow name / description admin/ui
  • #​30967 Keycloak is not working in IBM AIX OS. dist/quarkus
  • #​30969 Brute force protection: Lockout permanently uses parameters configured under lockout temporarily core
  • #​30992 Realm cannot be deleted if there are tons of consents storage
  • #​31001 User Federation settings changing when saving admin/ui
  • #​31014 "Verify Email" may cause other Required Actions to be ignored authentication
  • #​31021 Styling of recovery codes seems wrong login/ui
  • #​31023 Keycloak 25 - protocol_mapper_config stores client_uid in usermodel.clientRoleMapping.clientId instead of client_id admin/ui
  • #​31038 Home URL for account-console / security-admin-console broken in admin-ui admin/ui
  • #​31040 Cannot reorder custom auth flow executions in admin-ui admin/ui
  • #​31045 Users cache clears after creating client scope. infinispan
  • #​31050 Caching docs should name parameter runtime parameters, not build parameters docs
  • #​31062 Updating dynamically registered client's metadata drops `preferred_username` from ID token core
  • #​31070 Search doesn't work for nested groups admin/ui
  • #​31083 Docs: server_admin/topics/admin-console-permissions/fine-grain.adoc authorization-services
  • #​31085 MULTIVALUED_STRING_TYPE not displaying 1 value while more than 1 value is working fine admin/ui
  • #​31107 Not able to remove otp credential of user account/api
  • #​31111 inputOptionLabelsI18nPrefix is take into consideration only for login-ui account/ui
  • #​31115 Review filtering of session returned from the sessions cache core
  • #​31143 KC.ORG user attribute shown - even if the organizations feature for the realm is disabled admin/ui
  • #​31144 "Can not update organization group" error when trying to create organisation from REST API organizations
  • #​31153 Cannot set unmanagedAttributePolicy without profile attributes admin/api
  • #​31161 Keycloak 25: Only first required action is executed core
  • #​31165 Re-enabling a temporarily locked user (brute-force) deletes all user properties and attributes admin/ui
  • #​31166 A lot (really!) dropdown/select fields in admin-ui remain open after selecting an action/entry. admin/ui
  • #​31167 After creating a new authentication flow and returning to the list, the "Used by" column displays "flow.undefined" admin/ui
  • #​31169 Wrong Sync Mode of newly created external IdentityProvider admin/api
  • #​31171 Single use tokens, like action tokens, has a claim `expiration` core
  • #​31182 Realm export - duplicated elements in browser flow. Organization user must click login button multiple times. import-export
  • #​31187 Recaptcha links changed in the Google Docs docs
  • #​31196 The check for userdn in test ldap should consider that AD proxy user can be in non DN format ldap
  • #​31204 Bruteforce protector does not work when using organizations organizations
  • #​31216 #kc-form-options div not wrapping its content correctly in login-password.ftl login/ui
  • #​31218 Clarify if JGroups thread metrics can be shown with embedded Infinispan
  • #​31219 [Docs] Broken link in Server Admin guide for JWT_Auth wiki docs
  • #​31224 Offline tokens created in Keycloak 9 will not work on Keycloak 25 oidc
  • #​31228 Userprofile/Translation: user attribute cannot be saved because no translation was (even though it is present) admin/ui
  • #​31240 Can't update the user where userName contains uppercase letters core
  • #​31244 IdP redirect URL shows hostname_admin admin/ui
  • #​31246 All pubic brokers are shown during authentication rather than only those associated with the current organization organizations
  • #​31260 Download of Recovery Codes broken. File contains no Recovery Codes. login/ui
  • #​31267 multiple ldap url's not working on one realm ldap
  • #​31276 Account console won't load when using URL having a path as hostname config account/ui
  • #​31291 Incosistent casing of built-in flow descriptions core
  • #​31296 Revoke access tokens for persistent user sessions storage
  • #​31304 Hide save / update buttons in account console for READ_ONLY federated accounts account/ui
  • #​31319 keycloak.v2 broken in main login/ui
  • #​31341 Keycloak URL for Brokerage in Admin UI still suggests "/realms" in the path admin/ui
  • #​31368 logging-pattern failure in token-exchange token-exchange
  • #​31386 Joining group for user doesn't list correct number of groups admin/ui
  • #​31410 call to group-by-path does not return subGroupCount admin/api
  • #​31413 Wrong command in exposing metrics from caches section docs
  • #​31420 Seeing `Client cannot marshall the server's key media type` with external Infinispan after 25 upgrade infinispan
  • #​31444 keycloak Public Client secret are updated frequently admin/api
  • #​31466 Duplicate Key "validatingX509CertsHelp" in admin-ui messages admin/ui
  • #​31480 dynamic MultiValuedListComponent default value not stringified admin/ui
  • #​31515 Export users throws Disabled option: '--users' in v25 import-export
  • #​31519 Admin API extremely slow with service account and fine-grained authorization `view-users` admin/fine-grained-permissions
  • #​31537 Creating client roles with fine grained permissions is not possible admin/fine-grained-permissions
  • #​31545 Event tables have broken aria-labels admin/ui
  • #​31558 MSSQL test container can't start ci
  • #​31563 Link existing account to SSO by email not linking since v23 login/ui
  • #​31575 AdvancedClaimToGroupMapper throws Exception if no claims are configured identity-brokering
  • #​31585 Credential offer endpoint fails with 500 when bearer token has expired oid4vc
  • #​31592 Description field for roles creation could be better instead of ${} values admin/ui
  • #​31595 Misconfiguration of login settings causes login to not be possible admin/api
  • #​31598 CURL commands in build don't check the response code ci
  • #​31603 Can't delete kerberos user storage
  • #​31612 Store Model Tests (jpa+cross-dc-infinispan+persistentsessions) - org.keycloak.testsuite.model.session.SessionTimeoutsTest infinispan
  • #​31614 Endpoint /admin/users Degradation Based on Role admin/fine-grained-permissions
  • #​31633 localization not work with user attribute display name in users add admin/ui
  • #​31640 Admin Console Spins with hostname:v2 using security-admin-console Redirect URIs docs
  • #​31687 "Use metadata descriptor URL" switch is always set to "On" admin/ui
  • #​31704 ID is used as tab name instead of localized string admin/ui
  • #​31712 The OID4VCI cross-device flow should not require the device to have an access token oid4vc
  • #​31718 Documentation for `Delete Credential` action and related changes authentication
  • #​31760 Persist revoke tokens with remote cache feature storage
  • #​31780 SAML IdP configure does not parse IdP metadata.xml correctly saml
  • #​31781 Keycloak 25 SAML IdP has made Single Logout URL mandatory. saml
  • #​31818 Management Interface is turned on even though nothing is exposed on it dist/quarkus
  • #​31823 Ignoring JWK key Missing required field 'use' still happens in keycloak version 25.02 identity-brokering
  • #​31828 EmbeddedInfinispanSplitBrainTest fails with "IllegalState Session not bound to a realm" core
  • #​31829 Deleted authentication sessions should not be re-surrected with an update core
  • #​31858 Custom component persist only some config keys admin/api
  • #​31864 Certificate-Generation with EC signing RSA and vice versa does not work oidc
  • #​31881 Flaky test: org.keycloak.testsuite.forms.BruteForceTest#testRaceAttackPermanentLockout ci
  • #​31882 Realm roles that do not exist are displayed in "Default roles" when "Hide inherited roles" is not checked admin/ui
  • #​31892 Client secret is visable in Admin event representation when Credentials Reset action performed for the Client. admin/api
  • #​31893 In realm role ellipsis value is null admin/ui
  • #​31918 Network error attempting to view events without permissions admin/ui
  • #​31929 Network error attempting to view user registeration without permissions admin/ui
  • #​31931 Failure to generate Ed448 token authentication
  • #​31941 Cache guide does not properly print `cache-stack` values docs
  • #​31944 Filter organization brokers in the account console organizations
  • #​31947 Fix server guide cross-references for downstream docs docs
  • #​31956 Admin console not usable when instance has a 1000 realms admin/ui
  • #​31972 Unstable test ExternalInfinispanTest testsuite
  • #​32016 `My password` string in `Signing in` page not getting translated in `keycloak.v3 account` theme account/ui
  • #​32025 Not possible to import realm with newest Java admin-client against Keycloak 24 admin/client-java
  • #​32059 Look around window cannot be set to 0 admin/ui
  • #​32084 SAML adapter IdMapperUpdaterSessionListener not executed when session ID changes adapter/saml
  • #​32100 Remember Me with External Infinispan is not works properly infinispan
  • #​32108 [Scalability of IDPs] Follow up: ensure organization aware IdentityProviderModel is used in the infinispan IDPProvider
  • #​32117 Impossible to import RolePolicy with newest admin-client against Keycloak 24 admin/client-java
  • #​32127 Offline session bug on 25.0.2 core
  • #​32136 Missing TypeScript `populateHierarchy` param for keycloak admin client admin/client-js
  • #​32150 Session list doesn't handle non-existing client gracefully core
  • #​32153 Remote Infinispan code must not call JPA code in non-blocking thread core
  • #​32156 SingleSelect-kind readonly attribute is not disabled in account console account/ui
  • #​32176 Bootstrap options missing from help dist/quarkus
  • #​32178 Table names for persistent sessions upgrading guide is wrong docs
  • #​32180 Session list not appearing: SQL Error "The incoming request has too many parameters"
  • #​32182 `show-config` command outputs duplicate options dist/quarkus
  • #​32194 UserRemovedEvent does not contain all user attributes infinispan
  • #​32195 Migration to persistent sessions fails from Keycloak version <22 storage
  • #​32197 Keycloak reuses AUTH_SESSION_ID of logged out sessions login/ui
  • #​32205 Endpoint configurations shows hostname_admin admin/ui
  • #​32238 Brokers associated with organization not filtered when linking brokers with an organization organizations
  • #​32256 Flaky test: org.keycloak.testsuite.forms.BruteForceTest#testRaceAttackPermanentLockout ci
  • #​32259 [Keycloak CI] - AuroraDB IT fails to start on EC2 due to lack of entropy regression storage
  • #​32305 Temporary admin account notice logged to org.keycloak.events dist/quarkus
  • #​32333 Legacy `KEYCLOAK_ADMIN` environment variable is not working dist/quarkus
  • #​32368 KeycloakRealmImport not working with Istio service mesh operator
  • #​32392 Validate organization alias for forbidden chars organizations
  • #​32402 Additional datasources do not work dist/quarkus
  • #​32415 Missing translations for required action webauthn-register login/ui
  • #​32419 Joining group with text filter does not show all results even if backend returned them admin/ui
  • #​32425 Duplicate message keys in admin messages_en.properties admin/ui
  • #​32435 Multiple Logout Confirmation Actions Trigger NullPointerExceptions core
  • #​32451 Wildcard search not working for custom user attributes admin/api
  • #​32460 When Organization feature is enabled UserAdapter.getGroupsCount() returns wrong result organizations
  • #​32465 SocialLoginTest failing after switching to the new IDP Provider
  • #​32468 Warning Banner for Temporary Admin User shouldn't be placed under breadcrumbs admin/ui
  • #​32473 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnIdlessTest#testWebAuthnIDLessAndWebAuthnAndWebAuthnPasswordlessLogin ci
  • #​32477 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordWrongSmtp ci
  • #​32478 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordWithPasswordHistoryPolicy ci
  • #​32481 Drag & drop issue with the step order in the Authentication settings of the Admin Console admin/ui
  • #​32486 Identity Provider secret visible in Organization tab (API request) organizations
  • #​32492 Welcome screen logo is bigger then the one on login welcome/ui
  • #​32498 Flaky test BruteForceTest.testPermanentLockout() core
  • #​32503 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnTransportsTest#internalTransport ci
  • #​32510 Login v2 username form login/ui
  • #​32512 [Keycloak CI] - BruteForceTest.testPermanentLockout failures login/ui
  • #​32513 [Keycloak CI] - OrganizationBruteForceTest.testPermanentLockout failures login/ui
  • #​32514 [Keycloak CI] - ResetPasswordTest.resetPasswordExpiredCode failures login/ui
  • #​32515 Invalid client data in /login-actions/authenticate causes an uncaught server error and a HTTP 500 response code authentication
  • #​32531 Cannot invoke "org.keycloak.authentication.RequiredActionFactory.isConfigurable()" because "factory" is null account/ui
  • #​32533 Admin UI messages sometimes miss details, and sometimes refer to details in the logs which are missing admin/ui
  • #​32541 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordLinkNewTabAndProperRedirectClient ci
  • #​32542 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordLinkNewBrowserSessionPreserveClient ci
  • #​32544 Multiple bugs in the experimental UiTabProvider / UiTabProviderFactory admin/ui
  • #​32546 "Include Client Audience" field is not mandatory admin/ui
  • #​32547 The set value ‘Default Admin-Initiated Action Lifespan’ has no effect on the ‘Credential Reset’ form admin/ui
  • #​32548 Flaky test: org.keycloak.testsuite.webauthn.registration.UserVerificationRegisterTest#required ci
  • #​32554 CRDs for the Operator are generated multiple times during the build operator
  • #​32605 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnTransportsTest#nfcTransport ci
  • #​32606 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnTransportsTest#bluetoothTransport ci
  • #​32609 Continuous loading screen instead of access denied on account info page account/ui
  • #​32615 Forms IT (chrome) ResetOtpTest fail testsuite
  • #​32622 InvalidDestination Error for IDP-initiated SSO with Keycloak behind a Reverse Proxy saml
  • #​32623 OAuth login error with custom scheme oidc
  • #​32624 "Authentication" Link in Admin Portal Fails with 400 Bad Request After Migrating to Version 25 admin/ui
  • #​32641 Help text under text field admin/ui
  • #​32643 Dots are not allowed in the path in Hostname v2 dist/quarkus
  • #​32678 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordBeforeUserIsDisabled ci
  • #​32689 Unable to import master realm with --import-realm dist/quarkus
  • #​32698 On backchannel logout, a user ID with a dot on the broker side breaks the logout by user core
  • #​32731 KeyCloak Admin Client uses non-standard `@NoCache` annotation which is an issue for Quarkus admin/client-java
  • #​32736 In the account console when I update the password the referrer dissapears account/ui
  • #​32755 Leftover code in login-passkeys-conditional-authenticate.ftl login/ui
  • #​32758 Keycloak admin console interface is out of screen admin/ui
  • #​32761 The endpoint /admin/realms/{{realm}}/groups/{{group-id}}/members potentially fetch all user in database admin/api
  • #​32764 When forcing re-authentication by passing maxAge value as 0 does not work adapter/javascript
  • #​32770 Adapters backward compatibility tests are failing ci
  • #​32782 `@noble/hashes/sha256` is bundled into Keycloak JS adapter/javascript
  • #​32784 Flaky test: org.keycloak.testsuite.url.HostnameV2Test ci
  • #​32789 CVE-2024-7318 - Use of a Key Past its Expiration Date in org.keycloak:keycloak-core
  • #​32798 Custom theme and not existing image: error 500 (No enum constant org.keycloak.theme.Theme.Type.IMG) login/ui
  • #​32799 Realm import fails when client configures default_acr values import-export
  • #​32802 Lightweight access token is not working for bootstrap admin client oidc
  • #​32817 Error when deploying SAML application with the keys in PEM format inside keycloak-saml.xml adapter/saml
  • #​32829 Login V2 theme: Pages specify fewer tabindex entries login/ui
  • #​32830 Login v2 theme: Auto-focus on input fields no longer working and autocomplete changed login/ui
  • #​32833 TOTP QR codes broken when realm display name contains colon character core
  • #​32834 Admin UI does not display admin events expiration admin/ui
  • #​32860 Database index creation isn’t skipped on large data sets in Keycloak 24 storage
  • #​32870 Increased DB activity due to changes in LDAPStorageManager.searchForUserByUserAttributeStream ldap
  • #​32880 Flaky test: org.keycloak.testsuite.forms.RegisterTest#registerExistingEmailAllowed ci
  • #​32881 Flaky test: org.keycloak.testsuite.forms.RegisterTest#registerUserNotContainsUsernamePasswordPolicy ci
  • #​32891 Exceptions on X509 authentication are logged without a stack trace core
  • #​32892 [Store Model Test] Failed test org.keycloak.testsuite.model.session.UserSessionPersisterProviderTest#testOnRealmRemoved ci
  • #​32896 Inconsistency of the access token iat after setting the time offset in the test suite authentication
  • #​32915 Administrator username changed in master realm after configuring email address for SMTP connection test for another realm with "Email as username" enabled admin/ui
  • #​32916 Device activity client name translations account/ui
  • #​32923 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnTransportsTest#usbTransport ci
  • #​32930 Flaky test: org.keycloak.testsuite.forms.RegisterWithUserProfileTest#testAttributeInputTypes ci
  • #​32939 Flaky test: org.keycloak.testsuite.webauthn.WebAuthnIdlessTest#testWebAuthnIDLessWithNonResidentCredentialLogin ci
  • #​32942 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP_bruteForceEnabled ci
  • #​32984 Application names are not taking realm overrides into account account/ui
  • #​33011 Admin bootstrap client should not have standard flow enabled dist/quarkus
  • #​33023 Documentation CI is failing on broken links docs
  • #​33037 Flaky test: org.keycloak.testsuite.webauthn.registration.UserVerificationRegisterTest#discouraged ci
  • #​33044 Next page not working for "Localization --> Realm overrides" admin/ui
  • #​33054 Identity-first login screen has broken IDP icons admin/ui
  • #​33058 Clusterless feature is not tested in Model tests testsuite
  • #​33060 Tests are showing exception while trying to import admin user after organizations were enabled by default testsuite
  • #​33064 Action expired error occurs when accessing regular registration page with Organizations enabled organizations
  • #​33095 The "Valid redirect URIs" field is not displayed when the "Standard flow" is unchecked admin/ui
  • #​33109 Infinite loop when accessing account management console account/ui
  • #​33115 CVE-2024-8883 Vulnerable Redirect URI Validation Results in Open Redirect
  • #​33116 CVE-2024-8698 Improper Verification of SAML Responses Leading to Privilege Escalation in Keycloak
  • #​33156 CVE-2024-7254 - Stack-based Buffer Overflow in com.google.protobuf:protobuf-java dist/quarkus
  • #​33172 Deprecation of https-trust-store-* weakens X509 browser authentication authentication
  • #​33207 [Organizations] Preserve org id in exported realms core
  • #​33224 [Keycloak CI] - Quarkus IT - StartCommandDistTest.testStartUsingAutoBuild ci
  • #​33231 [Keycloak CI] - User Federation Tests - LDAPSamlIdPInitiatedVaryingLetterCaseTest ci
  • #​33246 Unable to start Keycloak when metrics are enabled dist/quarkus
  • #​33296 Migrating to a FIPS environment disallows all users from logging in authentication
  • #​33300 Organization UI is overriding the alias with the org name when user navigates to another tab admin/ui
  • #​33307 XA Transaction recovery support is enabled even thoug transaction-xa-enabled is false dist/quarkus
  • #​33330 "somethingWentWrong" when opening Keycloak URL in unsecure context login/ui
  • #​33331 Performance drop in cpuUsageForLoginsTest since 19.09.2024
  • #​33336 Changing locale on passwordless or custom login flow does not work login/ui
  • #​33342 Duplicate entry "duplicate" in Admin UI message properties admin/ui
  • #​33347 Hostname v2 should enforce hostname is a full url if hostname-admin is used dist/quarkus
  • #​33351 Wrong release notes for Login v1 theme deprecation login/ui
  • #​33353 Performance regression when Organisations feature is enabled
  • #​33355 ID token from refresh_token flow does not contain nonce even when using Nonce backwards compatible mapper oidc
  • #​33362 Flaky test: org.keycloak.testsuite.webauthn.registration.UserVerificationRegisterTest#preferredVerificationWrong ci
  • #​33389 Banner is not wrapping properly admin/ui
  • #​33390 Creating clientAttributesCondition in some client policy breaks the login to the realm authentication
  • #​33412 User specific organisation entries shouldn't be placed in the realm cache core
  • #​33415 Organization brokers should be hidden on login pages by default organizations
  • #​33424 Organization data is cached for each user even if realm never enabled organizations organizations
  • #​33439 Avoid caching `RealmModel` in `CachedOrganization` organizations
  • #​33440 Test group_test.spec.ts Duplicate group fails repeatedly testsuite
  • #​33461 AWS Lambda description for HA setup doesn't reflect latest changes for failure policy core
  • #​33467 The "Client Secret" field does not expand to display the entire secret value admin/ui
  • #​33508 Can't load theme resources on Windows core
  • #​33517 Issue when running tests from IDE on embedded undertow ( org.jboss.threads.EnhancedQueueExecutor$Builder.setKeepAliveTime(java.time.Duration) ) testsuite

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about these updates again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate Bot

Merge request reports

Loading