<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

<channel>
  <title>Keycloak Blog</title>
  <link>https://www.keycloak.org/blog</link>
  <atom:link href="https://www.keycloak.org/rss.xml" rel="self" type="application/rss+xml" />
  <description>Keycloak Blog</description>
  <language>en-us</language>
  <category>Keycloak/SSO/Identity and Access Management</category>
      <item>
        <title>Keycloak 26.2.0 released</title>
        <link>https://www.keycloak.org/2025/04/keycloak-2620-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_supported_standard_token_exchange&quot;&gt;Supported Standard Token Exchange&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc8693&quot;&gt;Token exchange specification&lt;/a&gt;. 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_standard-token-exchange&quot;&gt;Standard token exchange&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to upgrade from the legacy token exchange used in previous Keycloak versions, see the &lt;a href=&quot;https://www.keycloak.org/docs/DEV/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_fine_grained_admin_permissions_supported&quot;&gt;Fine-grained admin permissions supported&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Centralized Admin Console Management&lt;/strong&gt; - New &lt;strong&gt;Permissions&lt;/strong&gt; section was introduced to allow management from a single place without having to navigate to different places in the Admin Console.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved manageability&lt;/strong&gt; - Administrators can more easily search and evaluate permissions when building a permission model for realm resources.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Resource-Specific and Global Permissions&lt;/strong&gt; – Permissions can be defined for individual resources (such as specific users or groups),  or entire resource types (such as all users or all groups).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Explicit Operation Scoping&lt;/strong&gt; – 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.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Per-Realm Enablement&lt;/strong&gt; – Fine-Grained Admin Permissions can be enabled on a per-realm basis, allowing greater control over adoption and configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#_fine_grained_permissions&quot;&gt;fine-grained admin permissions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about migration, see the &lt;a href=&quot;https://www.keycloak.org/docs/DEV/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_guides_for_metrics_and_grafana_dashboards&quot;&gt;Guides for metrics and Grafana dashboards&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition to the list of useful metric names &lt;a href=&quot;https://www.keycloak.org/guides#observability&quot;&gt;the Observability guides category&lt;/a&gt; now also contains a guide on how to display these metrics in Grafana.
&lt;a href=&quot;https://www.keycloak.org/observability/grafana-dashboards&quot;&gt;The guide&lt;/a&gt; contains two dashboards.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak troubleshooting dashboard - showing metrics related to service level indicators and troubleshooting.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keycloak capacity planning dashboard - showing metrics related to estimating the load handled by Keycloak.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_zero_configuration_secure_cluster_communication&quot;&gt;Zero-configuration secure cluster communication&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This strengthens a secure-by-default setup and minimizes the configuration steps of new setups.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, check the &lt;a href=&quot;https://www.keycloak.org/server/caching#_securing_transport_stacks&quot;&gt;Securing Transport Stacks&lt;/a&gt; in the distributed caches guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_rolling_updates_for_optimized_and_customized_images&quot;&gt;Rolling updates for optimized and customized images&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To use the functionality in the Operator, enable the &lt;code&gt;Auto&lt;/code&gt; 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 &lt;a href=&quot;https://www.keycloak.org/operator/rolling-updates&quot;&gt;Managing Rolling Updates&lt;/a&gt; in the Keycloak Operator Advanced Configuration guide for more details on this functionality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://www.keycloak.org/server/update-compatibility&quot;&gt;Update Compatibility Tool&lt;/a&gt; guide for more information about the functionality available on the command line.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_additional_query_parameters_in_admin_events_api&quot;&gt;Additional query parameters in Admin Events API&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Admin Events API now supports filtering for events based on Epoc timestamps in addition to the previous
&lt;code&gt;yyyy-MM-dd&lt;/code&gt; format. This provides more fine-grained control of the window of events to retrieve.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A &lt;code&gt;direction&lt;/code&gt; query parameter was also added, allowing controlling the order of returned items as &lt;code&gt;asc&lt;/code&gt; or
&lt;code&gt;desc&lt;/code&gt;. In the past the events where always returned in &lt;code&gt;desc&lt;/code&gt; order (most recent events first).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Finally, the returned event representations now also include the &lt;code&gt;id&lt;/code&gt;, which provides a unique identifier for
an event.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_logs_support_ecs_format&quot;&gt;Logs support ECS format&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All available log handlers now support &lt;strong&gt;ECS&lt;/strong&gt; (Elastic Common Schema) JSON format.
It helps to improve Keycloak&amp;#8217;s observability story and centralized logging.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/server/logging&quot;&gt;Logging guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_cache_for_crls_loaded_for_the_x_509_authenticator&quot;&gt;New cache for CRLs loaded for the X.509 authenticator&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;code&gt;crl&lt;/code&gt;. Caching improves the validation performance and decreases the memory consumption because just one CRL is maintained per source.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check the &lt;code&gt;crl-storage&lt;/code&gt; section in the &lt;a href=&quot;https://www.keycloak.org/server/all-provider-config&quot;&gt;All provider configuration&lt;/a&gt; guide to know the options for the new cache provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_operator_creates_networkpolicies_to_restrict_traffic&quot;&gt;Operator creates NetworkPolicies to restrict traffic&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Operator now creates by default a NetworkPolicy to restrict traffic to internal ports used for Keycloak&amp;#8217;s distributed caches.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This strengthens a secure-by-default setup and minimizes the configuration steps of new setups.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can restrict the access to the management and HTTP endpoints further using the Kubernetes NetworkPolicies rule syntax.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more about this in the &lt;a href=&quot;https://www.keycloak.org/operator/advanced-configuration&quot;&gt;Operator Advanced configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_option_to_reload_trust_and_key_material_for_the_management_interface&quot;&gt;Option to reload trust and key material for the management interface&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;https-management-certificates-reload-period&lt;/code&gt; option can be set to define the reloading period of key store, trust store, and certificate files referenced by &lt;code&gt;https-management-*&lt;/code&gt; options for the management interface.
Use -1 to disable reloading. Defaults to &lt;code&gt;https-certificates-reload-period&lt;/code&gt;, which defaults to 1h (one hour).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, check the &lt;a href=&quot;https://www.keycloak.org/server/management-interface#_tls_support&quot;&gt;Configuring the Management Interface&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_dynamic_authentication_flow_selection_using_client_policies&quot;&gt;Dynamic Authentication Flow selection using Client Policies&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#_client_policies&quot;&gt;Client Policies&lt;/a&gt; by combining the new &lt;code&gt;AuthenticationFlowSelectorExecutor&lt;/code&gt; with conditions like the new &lt;code&gt;ACRCondition&lt;/code&gt;. For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#_client-policy-auth-flow&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_jwt_client_authentication_aligned_with_the_latest_oidc_specification&quot;&gt;JWT Client authentication aligned with the latest OIDC specification&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The latest version of the &lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0-36.html#rfc.section.9&quot;&gt;OpenID Connect Core Specification&lt;/a&gt; tightened the rules for
audience validation in JWT client assertions for the Client Authentication methods &lt;code&gt;private_key_jwt&lt;/code&gt; and &lt;code&gt;client_secret_jwt&lt;/code&gt; . Keycloak now enforces by default that there is single audience
in the JWT token used for client authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on the changed audience validation in JWT Client authentication Keycloak versions, see the &lt;a href=&quot;https://www.keycloak.org/docs/DEV/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_federated_credentials_are_available_now_when_fetching_user_credentials&quot;&gt;Federated credentials are available now when fetching user credentials&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we are adding a new method &lt;code&gt;getCredentials(RealmModel, UserModel)&lt;/code&gt; to the &lt;code&gt;org.keycloak.credential.CredentialInputUpdater&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For LDAP, it should be possible now to see the last time the password was updated based on the standard &lt;code&gt;pwdChangedTime&lt;/code&gt; attribute or, if
using Microsoft AD, based on the &lt;code&gt;pwdLastSet&lt;/code&gt; attribute.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In order to check if a credential is local - managed by Keycloak - or federated, you can check the &lt;code&gt;federationLink&lt;/code&gt; property available from both
&lt;code&gt;CredentialRepresentation&lt;/code&gt; and &lt;code&gt;CredentialModel&lt;/code&gt; types. If set, the &lt;code&gt;federationLink&lt;/code&gt; property holds the UUID of the component model associated with a given
user storage provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_token_based_authentication_for_smtp_xoauth2&quot;&gt;Token based authentication for SMTP (XOAUTH2)&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak outgoing link:Configuring email for a realm[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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/srose&quot;&gt;Sebastian Rose&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_client_configuration_for_access_token_header_type&quot;&gt;New client configuration for access token header type&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new admin setting has been added: Clients &amp;#8594; Advanced &amp;#8594; Fine grain OpenID Connect configuration &amp;#8594; Use &quot;at+jwt&quot; as access token header type&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If enabled, access tokens will get header type &lt;code&gt;at+jwt&lt;/code&gt; in compliance with &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9068#section-2.1&quot;&gt;rfc9068#section-2.1&lt;/a&gt;. Otherwise, the access token header type will be &lt;code&gt;JWT&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This setting is turned off by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/laurids&quot;&gt;Laurids Møller Jepsen&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openid_for_verifiable_credential_issuance_documentation&quot;&gt;OpenID for Verifiable Credential Issuance documentation&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The OpenID for Verifiable Credential Issuance (OID4VCI) remains an experimental feature in Keycloak, but it received further improvements and especially the &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#_oid4vci&quot;&gt;The documentation&lt;/a&gt;,
with the steps how to try this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You will find significant development and discussions in the &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;Keycloak OAuth SIG&lt;/a&gt;. Anyone from the Keycloak community is welcome to join and provide the feedback.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to all members of the OAuth SIG group for the participation in the development and discussions about this feature. Especially thanks to
&lt;a href=&quot;https://github.com/Awambeng&quot;&gt;Awambeng Rodrick&lt;/a&gt; and &lt;a href=&quot;https://github.com/IngridPuppet&quot;&gt;Ingrid Kamga&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10438&quot;&gt;#10438&lt;/a&gt; Release process for OperatorHub &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17171&quot;&gt;#17171&lt;/a&gt; Traefik SPI Provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/35507&quot;&gt;#35507&lt;/a&gt; Token exchange - permissions &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36306&quot;&gt;#36306&lt;/a&gt; New CLI command: update-compatibility &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36520&quot;&gt;#36520&lt;/a&gt; New operator spec: upgrade strategy &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36696&quot;&gt;#36696&lt;/a&gt; Support token type &quot;at+jwt&quot; for OAuth 2 access tokens &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36750&quot;&gt;#36750&lt;/a&gt; Create CA certificate for JGroups encryption &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38523&quot;&gt;#38523&lt;/a&gt; Expose OTP Policy in FreeMarker Context for Login Themes &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

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

</description>
        <guid>https://www.keycloak.org/2025/04/keycloak-2620-released</guid>
        <pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.1.5 released</title>
        <link>https://www.keycloak.org/2025/04/keycloak-2615-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38409&quot;&gt;#38409&lt;/a&gt; Upgrade to Quarkus 3.15.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38764&quot;&gt;#38764&lt;/a&gt; OTel: Unable to disable sampling at runtime; tracing-sampler-ratio validation prevents setting 0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2025/04/keycloak-2615-released</guid>
        <pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Translating Keycloak with Weblate</title>
        <link>https://www.keycloak.org/2025/04/weblate-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak runs in a lot of regions and countries.
Translations help Keycloak to reach a wider audience by making the platform usable for speakers of various languages.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For translations, &lt;a href=&quot;https://hosted.weblate.org/projects/keycloak/#languages&quot;&gt;Keycloak now integrates with Weblate&lt;/a&gt; to simplify the process.
The community can use a web-based frontend to contribute translations, and the language maintainers get automated notifications and review the translations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Join us in the two upcoming episodes of Keycloak Hour of Code&lt;/strong&gt; (&lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/307123328&quot;&gt;AMER/EMEA time zone on Apr 14&lt;/a&gt; or &lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/307123354&quot;&gt;APAC time zone on Apr 15&lt;/a&gt;) to see it live and in action, and to ask your questions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on for more details on the process.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_translate_using_weblate&quot;&gt;Translate using Weblate&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/translation.md#using-weblate-to-to-update-translations&quot;&gt;Weblate eliminates the need for Git skills;&lt;/a&gt; and browsers suffice for translation contributions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Two language maintainers are needed to set up a translation for Keycloak in Weblate.
They need to be native speakers of that language and will regularly review the contributions from the community.
Today this is the case &lt;a href=&quot;https://hosted.weblate.org/projects/keycloak/#languages&quot;&gt;for languages like Catalan, German, Dutch, Italian, Japanese and Spanish&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To have your language added to Weblate, &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/9270&quot;&gt;join the GitHub discussion on translations&lt;/a&gt; and pair up with others.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;/style&gt;
&lt;a href=&quot;https://hosted.weblate.org/projects/keycloak/#languages&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/weblate.png&quot; alt=&quot;Preview of Weblate translation tool&quot; style=&quot;width: 100%; max-width: 1346px; object-fit: cover; height: 250px; object-fit: none; object-position: 0 0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_translate_using_github_pull_requests&quot;&gt;Translate using GitHub pull requests&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before Weblate, we used GitHub pull requests to contribute and maintain all translations,
&lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/translation.md#using-github-pull-requests-to-update-translations&quot;&gt;and you can still use them&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Each pull request for a translation needs to be reviewed by a native speaker.
You can either ask the community, a friend or a colleague for the review.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_join_the_discussion_and_read_up_on_the_process&quot;&gt;Join the discussion and read up on the process&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more about the &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/translation.md&quot;&gt;translation process&lt;/a&gt; in our repository, or &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/9270&quot;&gt;join the GitHub discussion on translations&lt;/a&gt; to ask questions or to contribute ideas.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s make Keycloak&amp;#8217;s translations shine!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/04/weblate-announce</guid>
        <pubDate>Mon, 7 Apr 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Register now for KubeCon Japan in June</title>
        <link>https://www.keycloak.org/2025/03/keycloak-kubecon25-japan-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year is the first time there is a KubeCon in Japan, and the Keycloak project is excited to be part of it! Join us on June 16-17 2025 in Tokyo, Japan for this exciting event.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/register/&quot;&gt;Register today to get tickets for the standard rate.&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has a powerful community in Japan, and we have received several contributions in the past. There will be two talks about Keycloak (see below).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;/style&gt;
&lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/keycloak-kubecon26-japan-announce.png&quot; alt=&quot;Banner for KubeCon Japan&quot; style=&quot;width: 100%; max-width: 1200px; object-fit: cover; height: 250px; object-fit: none; object-position: 60% 50%&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_talks_at_kubecon&quot;&gt;Talks at KubeCon&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The schedule of KubeCon + CloudNativeCon Japan 2025 has been released, see below talks about Keycloak:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kccncjpn2025.sched.com/event/1x6zG/add-single-sign-on-to-your-applications-with-keycloak-and-learn-about-its-latest-features-takashi-norimatsu-hitachi-marek-posolda-red-hat&quot;&gt;&lt;strong&gt;Add Single-sign-on To Your Applications With Keycloak and Learn About Its Latest Features&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Monday June 16, 2025 11:30 - 12:00 JST&lt;br&gt;
Takashi Norimatsu, Hitachi &amp;amp; Marek Posolda, Red Hat&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kccncjpn2025.sched.com/event/1x71j/mastering-authorization-integrating-authentication-and-authorization-data-in-cloud-native-apps-yoshiyuki-tabata-hitachi-ltd&quot;&gt;&lt;strong&gt;Mastering Authorization: Integrating Authentication and Authorization Data in Cloud Native Apps&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Tuesday June 17, 2025 14:50 - 15:20 JST&lt;br&gt;
Yoshiyuki Tabata, Hitachi, Ltd.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re preparing for KubeCon Japan 2025 and can&amp;#8217;t wait to connect with our community. Mark your calendars and join us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in Tokyo!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/03/keycloak-kubecon25-japan-announce</guid>
        <pubDate>Thu, 27 Mar 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Submit to KeycloakCon Japan Call-for-Papers!</title>
        <link>https://www.keycloak.org/2025/03/keyconf-25-japan-call-for-papers</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The call for papers and the registration for &lt;a href=&quot;https://events.linuxfoundation.org/keycloakcon-japan/&quot;&gt;KeycloakCon 2025 Japan&lt;/a&gt; is now open! Submit your talks to the first-ever KeycloakCon in Japan.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeycloakCon 2025 Japan is a half-day meetup in Tokyo, Japan on June 13 where the community of Keycloak gathers.
It provides opportunities for technical lectures, growth, and networking with talks related Identity and Access Management (IAM) and Single Sign On (SSO).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This event is designed to share insights from developers and maintainers, as well as the latest features, updates, and real-world use cases of Keycloak.
Participants will have the valuable opportunity to interact directly with Keycloak experts and other users, deepening their knowledge.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://sessionize.com/keyconf-2025-japan/&quot;&gt;Submit now!&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_related_events&quot;&gt;Related Events&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A few days later, on June 16-17, &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/&quot;&gt;KubeCon Japan 2025&lt;/a&gt; takes place in Tokyo as well.
The Keycloak team will be on-site for KubeCon Japan, so join us and a lot of other CNCF projects for this event as well.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in Tokyo!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/03/keyconf-25-japan-call-for-papers</guid>
        <pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.1.4 released</title>
        <link>https://www.keycloak.org/2025/03/keycloak-2614-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37433&quot;&gt;#37433&lt;/a&gt; Allow admin to disable automatic refresh of event views &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37711&quot;&gt;#37711&lt;/a&gt; Upgrade to Infinispan 15.0.14 &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37320&quot;&gt;#37320&lt;/a&gt; Cannot fetch realm role that was renamed &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37621&quot;&gt;#37621&lt;/a&gt; When calling the token revoke endpoint multiple times with the same token, a database REVOKED-TOKEN constraint error is reported &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37843&quot;&gt;#37843&lt;/a&gt; Admin events: resource type filter does not work &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37911&quot;&gt;#37911&lt;/a&gt; Unwanted placeholder texts in user profile fields &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37944&quot;&gt;#37944&lt;/a&gt; KC_HTTPS_TRUST_STORE_TYPE not working &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38038&quot;&gt;#38038&lt;/a&gt; The default setting of the client request object parameter is empty &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2025/03/keycloak-2614-released</guid>
        <pubDate>Fri, 14 Mar 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Meet Keycloak at KubeCon EU, London in April 2025</title>
        <link>https://www.keycloak.org/2025/03/keycloak-kubecon25-eu-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are thrilled to announce that Keycloak will be at KubeCon Europe, London April 1-4th 2025.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak&amp;#8217;s presence at previous KubeCons was a huge success, and we are always eager to meet Keycloak enthusiasts, users
and newcomers alike. At this year&amp;#8217;s event we will be hosting a Kiosk in the Project Pavilion, as well as presenting
a talk about Evolving OpenID Connect and Observability.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;Keycloak community Meet &amp;amp; Greet at the Project Pavilion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; from Hitachi, &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt; and &lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&lt;/a&gt;
from Red Hat, and other contributors will be hosting a Keycloak kiosk at the
&lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/features-add-ons/project-engagement/#project-pavilion&quot;&gt;Project Pavilion&lt;/a&gt;.
This is a great chance to meet people who use Keycloak, contribute to Keycloak, take our survey about new Keycloak features, and get some cool swag!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak Kiosk (booth 17A) opening hours:&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, April 2: 15:30 - 19:45&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thursday, April 3: 14:00 - 17:00&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Friday, April 4: 12:30 - 14:00&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_presenting_evolving_openid_connect_and_keycloak_observability&quot;&gt;Presenting evolving OpenID Connect and Keycloak Observability&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt; will be presenting a talk
on Evolving OpenID Connect and Observability in Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Friday, April 4, 14:30 - 15:00pm&lt;br&gt;
&lt;a href=&quot;https://kccnceu2025.sched.com/event/1td1c/evolving-openid-connect-and-observability-in-keycloak-ryan-emerson-red-hat-takashi-norimatsu-hitachi?iframe=yes&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;Evolving OpenID Connect and Observability in Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Takashi Norimatsu, Hitachi &amp;amp; Ryan Emerson, Red Hat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_related_talks&quot;&gt;Related Talks&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has a powerful community in Japan, and we have received several contributions in the past. One of Keycloak&amp;#8217;s maintainers, Takashi Norimatsu, is based in Japan.
There is also a quite popular Japanese book about &lt;a href=&quot;https://www.amazon.co.jp/dp/4865944362&quot;&gt;Keycloak Authentication and Authorization&lt;/a&gt;  by Yuichi Nakamura and Japanese community colleagues that will soon appear in its second edition.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To learn more about community activities in Japan, join the following talk:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Thursday April 3, 2025 14:15 - 14:45&lt;br&gt;
&lt;a href=&quot;https://kccnceu2025.sched.com/event/1txGx/cloud-native-communities-in-action-how-japan-shaped-its-path-to-kubecon-ota-kohei-apple-shu-muto-nec-solution-innovators-ltd-yuichi-nakamura-hitachi-ltd-sunyanan-choochotkaew-ibm-research-noriaki-fukuyasu-the-linux-foundntion&quot;&gt;&lt;strong&gt;Cloud Native Communities in Action: How Japan Shaped Its Path To KubeCon&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Ota Kohei, Apple; Shu Muto, NEC Solution Innovators, Ltd.; Yuichi Nakamura, Hitachi, Ltd.; Sunyanan Choochotkaew, IBM Research; Noriaki Fukuyasu, The Linux Foundation&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_see_you_soon&quot;&gt;See you soon!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re preparing for KubeCon EU 2025 and can&amp;#8217;t wait to connect with our community. Mark your calendars and join us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in London!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/03/keycloak-kubecon25-eu-announce</guid>
        <pubDate>Sat, 8 Mar 2025 00:00:00 GMT</pubDate>
        
        <author>Ryan Emerson</author>
      </item>
      <item>
        <title>Introducing the Keycloak Austria User Group</title>
        <link>https://www.keycloak.org/2025/03/austria-user-group</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Join the event on March 11th to &lt;a href=&quot;https://www.meetup.com/keycloak-user-group-austria/events/305127942&quot;&gt;look behind the scenes of how the development of Keycloak is organized&lt;/a&gt;, and subscribe to the Meetup to get invitations for future events.
Read on to find out about previous topics that have been recorded and upcoming events.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It happened to me several times that I was sitting in a workshop about any topic and the term “Keycloak” was used. Not in a spectacular tone, but rather like “We have Keycloak for this and that, &lt;strong&gt;and it just works&lt;/strong&gt;!” Christoph Kofler, COO at Gepardec, had similar experiences. Thus, we already discussed some years ago that Keycloak is somehow an unsung hero, a hidden star, very much appreciated, but not in the spotlight of any encountering or events.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;End of 2023, we concluded that we want to establish a local community in Austria, very informal, very technical - just for like-minded people to meet, give and take experiences and have a good time together. It was easy to set up the group in the meetup platform (&lt;a href=&quot;https://www.meetup.com/keycloak-user-group-austria/&quot;&gt;Keycloak User Group Austria&lt;/a&gt;) and also announced the &lt;a href=&quot;https://www.meetup.com/keycloak-user-group-austria/events/297881850/?eventOrigin=group_events_list&quot;&gt;first event&lt;/a&gt; in March 2024 at the Red Hat Office in Vienna. To our positive surprise, we almost immediately jumped to 100 members and had 40+ participants on-site. The meeting was framed by a very nice greeting note from the Keycloak founder &lt;a href=&quot;https://www.linkedin.com/in/stian-thorgersen-4714983/&quot;&gt;Stian Thorgersen&lt;/a&gt;. We had two great sessions about &lt;a href=&quot;https://youtu.be/xccz4_dy2gc?si=Xr7kIBu2RX69stCH&quot;&gt;Keycloak Configuration with DevOps principles&lt;/a&gt; and &lt;a href=&quot;https://youtu.be/bjDf_IiQWDY?si=tEtjRKeJzPB7YZ_i&quot;&gt;Keycloak in mission-critical environments&lt;/a&gt; from the community and afterward beer and original Leberkäse from &lt;a href=&quot;https://www.leberkaspepi.at/&quot;&gt;Leberkäs-Pepi&lt;/a&gt;. The feedback was overwhelmingly positive, participants talked, laughed and connected till 9 pm.&lt;/p&gt;
&lt;/div&gt;
&lt;style&gt;
@media (min-width:720px) {
  .pull-right {
    max-width: 350px; height: auto; aspect-ratio: 512 / 1024;
    margin-left: 10px;
    float: right !important;
  }
}
@media (min-width:992px) {
  .pull-right {
    max-width: 450px; height: auto; aspect-ratio: 512 / 1024;
    margin-left: 10px;
    float: right !important;
  }
}
&lt;/style&gt;
&lt;div class=&quot;imageblock pull-right&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;a class=&quot;image&quot; href=&quot;https://www.meetup.com/keycloak-user-group-austria&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/keycloak-user-group-austria.jpg&quot; alt=&quot;Keycloak User Group Austria&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This has motivated us to have two more gatherings in 2024, one at Posedio and one at ÖBB (“Austrian Railway systems”) who kindly offered to provide location, food and beverages. Again, the talks lead to lots of questions and discussions which lasted till the late evening. Moreover, we also have established a &lt;a href=&quot;https://www.youtube.com/@KeycloakUserGroupAustria&quot;&gt;YouTube channel&lt;/a&gt; with all recorded sessions and many members from the local Austrian Keycloak community have participated in &lt;a href=&quot;https://keyconf.dev/&quot;&gt;KeyConf&lt;/a&gt; in September 2024, organized by &lt;a href=&quot;https://adorsys.com/&quot;&gt;adorsys&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are looking forward to another &lt;a href=&quot;https://www.meetup.com/keycloak-user-group-austria/events/?type=upcoming&quot;&gt;3 events in 2025&lt;/a&gt; which are already planned. If you are interested to participate and/or contribute a talk, please get in touch with us:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/in/christoph-kofler/&quot;&gt;Christoph Kofler&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/stephan-kraft-6839758/&quot;&gt;Stephan Kraft&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/03/austria-user-group</guid>
        <pubDate>Wed, 5 Mar 2025 00:00:00 GMT</pubDate>
        
        <author>Christoph Kofler, Stephan Kraft</author>
      </item>
      <item>
        <title>Keycloak 26.1.3 released</title>
        <link>https://www.keycloak.org/2025/02/keycloak-2613-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_send_reset_email_force_login_again_for_federated_users_after_reset_credentials&quot;&gt;Send Reset Email force login again for federated users after reset credentials&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In &lt;a href=&quot;#keycloak-26-1-1&quot;&gt;version 26.1.1&lt;/a&gt; a new configuration option was added to the &lt;code&gt;reset-credential-email&lt;/code&gt; (&lt;strong&gt;Send Reset Email&lt;/strong&gt;) authenticator to allow changing the default behavior after the reset credentials flow. Now the option &lt;code&gt;force-login&lt;/code&gt; (&lt;strong&gt;Force login after reset&lt;/strong&gt;) is adding a third configuration value &lt;code&gt;only-federated&lt;/code&gt;, 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#enabling-forgot-password&quot;&gt;Enable forgot password&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




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

</description>
        <guid>https://www.keycloak.org/2025/02/keycloak-2613-released</guid>
        <pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>New videos about OpenID Connect and Keycloak from FOSDEM 2025</title>
        <link>https://www.keycloak.org/2025/02/recordings-available-fosdem</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/&quot;&gt;FOSDEM&lt;/a&gt; is a free event for software developers to meet, share ideas and collaborate.
Every year, thousands of developers of free and open source software from all over the world gather at the event.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Several talks regarding OpenID Connect and Keycloak have been recorded, and are now available online to re-watch.
&lt;a href=&quot;#videos&quot;&gt;See below&lt;/a&gt; for the links to the videos.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_meeting_the_keycloak_community_on_site&quot;&gt;Meeting the Keycloak community on-site&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As an incubating project of the Cloud Native Computing Foundation (CNCF), we were happy to share the space of their stand.
During the two days, we met with hundreds of existing Keycloak users on-site, as well as with people new to the IAM and identity space.
It was fun and exciting to learn what people are doing.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would love to hear more from you about your success stories, what is crucial to your deployments and what can be done better. Fill
out the &lt;a href=&quot;http://bit.ly/keycloak-community&quot;&gt;online Keycloak Survey&lt;/a&gt;, so we can better understand your use cases, and if you want to share your experience with the wider Keycloak community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;/style&gt;
&lt;a href=&quot;https://www.keycloak.org/resources/images/blog/keycloak-fosdem-2025.jpg&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/keycloak-fosdem-2025.jpg&quot; alt=&quot;CNCF stand at FOSDEM with a Keycloak banner and people visiting.&quot; style=&quot;width: 100%; max-width: 1158px; object-fit: cover; height: 350px; object-fit: none; object-position: 87% 20%&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;videos&quot;&gt;Videos to re-watch&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These four talks mentioned Keycloak in their talk and on their slides, or are related to OpenID Connect.
Did we miss a talk that would be interesting to users of Keycloak? Let us know!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5370-using-dpop-to-use-access-tokens-securely-in-your-single-page-applications/&quot;&gt;Using DPoP to use access tokens securely in your Single Page Applications&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Speakers&lt;/strong&gt;: Takashi Norimatsu, Alexander Schwartz&lt;br&gt;
&lt;strong&gt;Track:&lt;/strong&gt; Security&lt;br&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; OAuth 2.0 uses access tokens to grant access to secured resources. When using Single Page Applications, they are passed from browsers to the servers as bearer tokens using HTTP headers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While they are secured in transit using TLS, those tokens could be stolen from a browser, replayed, or mis-used by a malicious or vulnerable server. OAuth 2.0 Demonstrating Proof-of-Possession (DPoP) takes this one step further by equipping the client like your Single Page Application with a key pair so that it can show a proof when passing the access token, so no-one else can use the access token. DPoP is part of the FAPI 2.0 Security Profile by the OpenID Foundation. It promotes best practices on how to protect APIs exposing high-value and sensitive (personal and other) data, for example, in finance, e-health and e-government applications.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This talk will explain the concepts and demos how this can be implemented using Keycloak and other open source components. We will also describe the current challenges, limitations and alternatives of the approach.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5209-deep-dive-into-oidc-flows/&quot;&gt;Deep Dive into OIDC flows&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Speaker:&lt;/strong&gt; Milan Jakobi&lt;br&gt;
&lt;strong&gt;Track:&lt;/strong&gt; Identity and Access Management&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; Modern web applications strongly rely on Authentication/Authorization infrastructures. To address these needs, the OSS community has strongly endorsed open protocols such as OpenIdConnect and OAuth2, on top of JSON and REST. In turn, these protocols have been implemented in software products such as Keycloak, WSO2 or Lemonldap.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenId Connect and OAuth2 are authorization protocols, closely aligned with authentication, as provided by Identity Providers. They have been designed within various standardization bodies such as the OpenId foundation or the Internet Engineering Task Force. Understanding these standards is demanding, but needed in order to implement feature-rich solutions, to understand the various options offered to implementers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This talk will therefore discuss in details OIDC and OAuth : the various flows that exist in order to obtain access tokens for standard clients, and some advanced features enabled by these protocols.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-4756-sssd-and-idps/&quot;&gt;SSSD and IdPs&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Track:&lt;/strong&gt; Identity and Access Management&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Identity Providers (IdP) based on OAuth 2.0/OIDC and other REST APIs like e.g. Keycloak or Entry ID play a dominant role in the identity management of web-based applications. But organizations which are using IdPs for their internal applications still have to use other services, typically LDAP based, to manage access and authentication to LINUX/POSIX user workstations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To help to avoid running two services for identity management SSSD started to use IdPs to lookup users and authenticate them against the IdPs. In contrast to LDAP there are no standards and conventions with respect to POSIX users and groups in the IdP world.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This talk will focus on how SSSD is getting user and group information from IdPs, how information required by POSIX, e.g. the numeric user and group IDs, is created and what kind of limitations there are. Additionally it will be explained why the OAuth 2.0 Device Authorization Flow was chosen for authentication and demonstrated.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5673-delegating-the-chores-of-authenticating-users-to-keycloak/&quot;&gt;Delegating the chores of authenticating users to Keycloak&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Speaker:&lt;/strong&gt; Alexander Schwartz&lt;br&gt;
&lt;strong&gt;Track:&lt;/strong&gt; Identity and Access Management&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; Authenticating users can start simple with a username and a password for each user. But you will also need to handle forgotten passwords and user registration. You might also want to validate email addresses, add second factors, have users update their profile information as needed, or even offer password-less authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A single-sign-on system like Keycloak can handle all that for you and will redirect users after they are authenticated to your applications using the industry standards like OpenID Connect and SAML.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Join this talk to see how you can delegate all the tasks around authentication to Keycloak. We will start simple and enable more and more features in our demo to show the functionality and flexibility of Keycloak. We will also look at features of the latest release and the road map ahead.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_fosdem_is_all_about_devrooms&quot;&gt;FOSDEM is all about devrooms!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FOSDEM is a big event divided into smaller, single-track conferences with their own call for papers and organizers.
Here a short list of those dev rooms that might be of interest for you if you are into Keycloak:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/iam/&quot;&gt;Identity and Access Management Devroom&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Identity and Access Management Devroom is related to operating systems&#39; identity and access management in the free software and open source world.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/security/&quot;&gt;Security Devroom&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The Security Devroom covers everything that is relevant to security in the free software and open source world.
Talks cover topics like cryptography, supply chain, secure development and hardening.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/wallets/&quot;&gt;Digital Wallets and Verifiable Credentials Devroom&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The Digital Wallets and Verifiable Credentials DevRoom is about digital wallets, verifiable credentials and the ecosystems emerging from these subjects, especially in the EU.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/02/recordings-available-fosdem</guid>
        <pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak JS 26.2.0 released</title>
        <link>https://www.keycloak.org/2025/02/keycloak-js-2620-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Today marks a significant milestone in the evolution of Keycloak JS with the release of version &lt;code&gt;26.2.0&lt;/code&gt;. This new version represents a shift in how the JavaScript adapter develops and evolves alongside the Keycloak ecosystem. Although this new version introduces no functional changes to the adapter, it does include several organizational changes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The most notable change is that Keycloak JS now breaks free from the main Keycloak project&amp;#8217;s release cycle. As &lt;a href=&quot;https://www.keycloak.org/2025/01/keycloak-2610-released#_dedicated_release_cycle_for_the_node_js_adapter_and_javascript_adapter&quot;&gt;announced earlier this year&lt;/a&gt;, the JavaScript adapter will follow its own independent development path. The separation from the main project allows for more frequent releases of features, bug fixes, and improved responsiveness to community feedback. The JavaScript adapter will continue to be backwards compatible with all actively supported releases of the Keycloak server, and deviation from this will be considered a breaking change.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The choice to use a higher version than the main project itself was made intentionally in order to signal to users the departure from Keycloak&amp;#8217;s release cycle. We will however continue to commit to using &lt;a href=&quot;https://semver.org/&quot;&gt;Semantic Versioning&lt;/a&gt;, only bumping major versions if backwards incompatible changes are made, as is customary in the &lt;a href=&quot;https://docs.npmjs.com/about-semantic-versioning&quot;&gt;NPM ecosystem&lt;/a&gt;. Maintenance updates will continue to land in the &lt;code&gt;26.1.x&lt;/code&gt; series, as it is tied to the current stable release of the Keycloak server, but we encourage users to upgrade to new versions as needed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Another significant change is the relocation of the codebase to its &lt;a href=&quot;https://github.com/keycloak/keycloak-js&quot;&gt;own dedicated repository&lt;/a&gt;. This structural adjustment is not just administrative—it represents a strategic move toward better maintainability. By separating the JavaScript adapter from the main Keycloak repository, the development team gains greater flexibility in managing the codebase and processing community contributions. If you are looking to provide contributions, or are reporting issues, please redirect your efforts here.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Looking ahead, we will be focussing on what is next for Keycloak JS. When it was originally released, only a few OpenID Connect adapters existed for client-side JavaScript, so we needed to make our own adapter. However, this landscape looks very different now, and there are many mature solutions available. The code for Keycloak JS requires modernization and has become challenging to maintain due to the growing complexity. We will continue to evaluate if it makes sense to keep refactoring Keycloak JS, incorporate some mature third-party libraries we can collaborate on, or even replace it with a well-established community solution.&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#_upgrade_js_adapter&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

</description>
        <guid>https://www.keycloak.org/2025/02/keycloak-js-2620-released</guid>
        <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
        <category>Keycloak JS Release</category>
        
      </item>
      <item>
        <title>Keycloak Extensions show GitHub stars</title>
        <link>https://www.keycloak.org/2025/02/updated-extension-page</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak homepage has an updated community extensions page!
Thanks to &lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartoš&lt;/a&gt;, each extension shows off with its GitHub stars.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This should provide you with a better overview which extensions are popular with the community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If an extension you use is listed there, give a star!
Are you missing an extension? &lt;a href=&quot;https://github.com/keycloak/keycloak-web/issues&quot;&gt;Create an issue in our GitHub issue tracker&lt;/a&gt; to let us know so we can add it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Click on image below to get the extensions page, or navigate via the &lt;a href=&quot;https://www.keycloak.org/community&quot;&gt;Community page&lt;/a&gt; and choose &amp;#8220;Extensions&amp;#8221; there.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;PS: Did you already give Keycloak a star?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;/style&gt;
&lt;a href=&quot;https://www.keycloak.org/extensions&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/extensions.png&quot; alt=&quot;Preview of the extensions page&quot; style=&quot;width: 100%; max-width: 863px; object-fit: cover; height: 250px; object-fit: none; object-position: 0 0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/02/updated-extension-page</guid>
        <pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.1.2 released</title>
        <link>https://www.keycloak.org/2025/02/keycloak-2612-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;

&lt;h3&gt;Deprecated features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/525&quot;&gt;#525&lt;/a&gt; Drop support for end-of-life versions of Node.js &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/573&quot;&gt;#573&lt;/a&gt; Convert tests to standard modules to upgrade dependencies &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/576&quot;&gt;#576&lt;/a&gt; Upgrade `@keycloak/keycloak-admin-client` to latest version &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/567&quot;&gt;#567&lt;/a&gt; Connections with an error code are not terminated &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/571&quot;&gt;#571&lt;/a&gt; CI status badge in README is incorrect &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36858&quot;&gt;#36858&lt;/a&gt; JDBC Ping with Docker &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36919&quot;&gt;#36919&lt;/a&gt; Latency issue after Keycloak version upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36926&quot;&gt;#36926&lt;/a&gt; Invoking dynamic client registration with lightweight access token results in a 404 &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37162&quot;&gt;#37162&lt;/a&gt; Pods become unresponsive after upgrade to 26.1.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2025/02/keycloak-2612-released</guid>
        <pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.1.1 released</title>
        <link>https://www.keycloak.org/2025/02/keycloak-2611-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_option_in_x_509_authenticator_to_abort_authentication_if_crl_is_outdated&quot;&gt;New option in X.509 authenticator to abort authentication if CRL is outdated&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The X.509 authenticator has a new option &lt;code&gt;x509-cert-auth-crl-abort-if-non-updated&lt;/code&gt; (&lt;strong&gt;CRL abort if non updated&lt;/strong&gt; 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 &lt;code&gt;true&lt;/code&gt; in the Admin Console. For more details about the CRL next update field, see &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc5280#section-5.1.2.5&quot;&gt;RFC5280, Section-5.1.2.5&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The value &lt;code&gt;false&lt;/code&gt; 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 &lt;code&gt;false&lt;/code&gt;, but the Admin Console will add the default value &lt;code&gt;true&lt;/code&gt; on edit.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_option_in_send_reset_email_to_force_a_login_after_reset_credentials&quot;&gt;New option in Send Reset Email to force a login after reset credentials&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;reset-credential-email&lt;/code&gt; (&lt;strong&gt;Send Reset Email&lt;/strong&gt;) is the authenticator used in the &lt;strong&gt;reset credentials&lt;/strong&gt; flow (&lt;strong&gt;forgot password&lt;/strong&gt; feature) for sending the email to the user with the reset credentials token link. This authenticator now has a new option &lt;code&gt;force-login&lt;/code&gt; (&lt;strong&gt;Force login after reset&lt;/strong&gt;). When this option is set to &lt;code&gt;true&lt;/code&gt;, the authenticator terminates the session and forces a new login.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details about this new option, see &lt;a href=&quot;https://www.keycloak.org/docs/DEV/server_admin/#enabling-forgot-password&quot;&gt;Enable forgot password&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-connect/issues/552&quot;&gt;#552&lt;/a&gt; Clean up old release code from Node.js adapter repo &lt;span class=&quot;badge bg-secondary&quot;&gt;nodejs-connect&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34275&quot;&gt;#34275&lt;/a&gt; Organizations: Allow Organization Selection &lt;span class=&quot;badge bg-secondary&quot;&gt;organizations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34343&quot;&gt;#34343&lt;/a&gt; CreatedResponseUtil.getCreatedId should expose the actual error message from the server &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36440&quot;&gt;#36440&lt;/a&gt; Remove Node.js adapter documentation from main repo &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36456&quot;&gt;#36456&lt;/a&gt; Clarify IPv6 JGroups requirements in Keycloak documenation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36798&quot;&gt;#36798&lt;/a&gt; Add detail on dependencyManagement section for POM files &lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2025/02/keycloak-2611-released</guid>
        <pubDate>Wed, 5 Feb 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.4 released</title>
        <link>https://www.keycloak.org/2025/01/keycloak-client-2604-released</link>
        <description>


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/securing-apps/upgrading&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/113&quot;&gt;#113&lt;/a&gt; Wrong logger class &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/117&quot;&gt;#117&lt;/a&gt; Remove JEE from the title of GH actions &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/127&quot;&gt;#127&lt;/a&gt; Sync after Keycloak server 26.1.0 release &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/130&quot;&gt;#130&lt;/a&gt; Test with keycloak server images 24.0, 26.0 and 26.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/115&quot;&gt;#115&lt;/a&gt; ProviderTest failing with latest nightly build &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/124&quot;&gt;#124&lt;/a&gt; The action &quot;Sync with Keycloak Server and send PR with changes&quot; sends PR, which does not have DCO on the commit &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/129&quot;&gt;#129&lt;/a&gt; The action &quot;Sync with Keycloak Server and send PR with changes&quot; takes only client-common-synced into consideration &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2025/01/keycloak-client-2604-released</guid>
        <pubDate>Fri, 17 Jan 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.1.0 released</title>
        <link>https://www.keycloak.org/2025/01/keycloak-2610-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_transport_stack_jdbc_ping_as_new_default&quot;&gt;Transport stack &lt;code&gt;jdbc-ping&lt;/code&gt; as new default&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with this version, the default changes to the &lt;code&gt;jdbc-ping&lt;/code&gt; configuration which uses Keycloak&amp;#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 &lt;code&gt;udp&lt;/code&gt; which is now deprecated.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Operator will continue to configure &lt;code&gt;kubernetes&lt;/code&gt; as a transport stack.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the &lt;a href=&quot;https://www.keycloak.org/server/caching&quot;&gt;Configuring distributed caches&lt;/a&gt; guide for more information.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_virtual_threads_enabled_for_infinispan_and_jgroups_thread_pools&quot;&gt;Virtual Threads enabled for Infinispan and JGroups thread pools&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_opentelemetry_tracing_supported&quot;&gt;OpenTelemetry Tracing supported&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the previous release, the OpenTelemetry Tracing feature was preview and is &lt;strong&gt;fully supported&lt;/strong&gt; now.
It means the &lt;code&gt;opentelemetry&lt;/code&gt; feature is enabled by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There were made multiple improvements to the tracing capabilities in Keycloak such as:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuration via Keycloak CR&lt;/strong&gt; in Keycloak Operator&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Custom spans&lt;/strong&gt; for:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Incoming/outgoing HTTP requests including Identity Providers brokerage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database operations and connections&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAP requests&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Time-consuming operations (passwords hashing, persistent sessions operations, &amp;#8230;&amp;#8203;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the &lt;a href=&quot;https://www.keycloak.org/server/tracing&quot;&gt;Enabling Tracing&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_infinispan_default_xml_configuration_location&quot;&gt;Infinispan default XML configuration location&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previous releases ignored any change  to &lt;code&gt;conf/cache-ispn.xml&lt;/code&gt; if the &lt;code&gt;--cache-config-file&lt;/code&gt; option was not provided.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting from this release, when &lt;code&gt;--cache-config-file&lt;/code&gt; is not set, the default Infinispan XML configuration file is &lt;code&gt;conf/cache-ispn.xml&lt;/code&gt; as this is both the expected behavior and the implied behavior given the docs of the current and previous releases.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_individual_options_for_category_specific_log_levels&quot;&gt;Individual options for category-specific log levels&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to set category-specific log levels as individual &lt;code&gt;log-level-category&lt;/code&gt; options.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/server/logging#_configuring_levels_as_individual_options&quot;&gt;Logging guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openid_for_verifiable_credential_issuance&quot;&gt;OpenID for Verifiable Credential Issuance&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You will find significant development and discussions in the &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;Keycloak OAuth SIG&lt;/a&gt;. Anyone from the Keycloak community is welcome to join.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to all members of the OAuth SIG group for the participation in the development and discussions about this feature. Especially thanks to
&lt;a href=&quot;https://github.com/francis-pouatcha&quot;&gt;Francis Pouatcha&lt;/a&gt;, &lt;a href=&quot;https://github.com/IngridPuppet&quot;&gt;Ingrid Kamga&lt;/a&gt;, &lt;a href=&quot;https://github.com/Captain-P-Goldfish&quot;&gt;Pascal Knüppel&lt;/a&gt;,
&lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt;, &lt;a href=&quot;https://github.com/Ogenbertrand&quot;&gt;Ogen Bertrand&lt;/a&gt;, &lt;a href=&quot;https://github.com/Awambeng&quot;&gt;Awambeng Rodrick&lt;/a&gt; and &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_minimum_acr_value_for_the_client&quot;&gt;Minimum ACR Value for the client&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The option &lt;strong&gt;Minimum ACR value&lt;/strong&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/sonOfRa&quot;&gt;Simon Levermann&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_support_for_promptcreate&quot;&gt;Support for prompt=create&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Support now exists for the &lt;a href=&quot;https://openid.net/specs/openid-connect-prompt-create-1_0.html&quot;&gt;Initiating user registration standard&lt;/a&gt;, which allows OIDC clients to initiate the login request with
the parameter &lt;code&gt;prompt=create&lt;/code&gt; 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 &lt;code&gt;/realms/&amp;lt;realm&amp;gt;/protocol/openid-connect/registrations&lt;/code&gt;.
However, this endpoint is now deprecated in favor of the standard way as it was a proprietary solution specific to Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_option_to_create_certificates_for_generated_ec_keys&quot;&gt;Option to create certificates for generated EC keys&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new option, &lt;strong&gt;Generate certificate&lt;/strong&gt;, 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/Captain-P-Goldfish&quot;&gt;Pascal Knüppel&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authorization_code_binding_to_a_dpop_key&quot;&gt;Authorization Code Binding to a DPoP Key&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Support now exists for &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9449#section-10&quot;&gt;Authorization Code Binding to a DPoP Key&lt;/a&gt; including support for the DPoP with Pushed Authorization Requests.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_maximum_count_and_length_for_additional_parameters_sent_to_oidc_authentication_request&quot;&gt;Maximum count and length for additional parameters sent to OIDC authentication request&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/mschallar&quot;&gt;Manuel Schallar&lt;/a&gt; and &lt;a href=&quot;https://github.com/patrick-primesign&quot;&gt;Patrick Weiner&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_network_policy_support_added_to_the_keycloak_operator&quot;&gt;Network Policy support added to the Keycloak Operator&lt;/h3&gt;
&lt;div class=&quot;admonitionblock note&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Note&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
Preview feature.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To improve the security of your Kubernetes deployment, &lt;a href=&quot;https://kubernetes.io/docs/concepts/services-networking/network-policies/&quot;&gt;Network Policies&lt;/a&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_ldap_users_are_created_as_enabled_by_default_when_using_microsoft_active_directory&quot;&gt;LDAP users are created as enabled by default when using Microsoft Active Directory&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using Microsoft AD and creating users through the administrative interfaces, the user will be created as enabled by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_conditional_authenticators_condition_sub_flow_executed_and_condition_client_scope&quot;&gt;New conditional authenticators &lt;code&gt;Condition - sub-flow executed&lt;/code&gt; and &lt;code&gt;Condition - client scope&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;strong&gt;Condition - sub-flow executed&lt;/strong&gt; and &lt;strong&gt;Condition - client scope&lt;/strong&gt; are new conditional authenticators in Keycloak. The condition &lt;strong&gt;Condition - sub-flow executed&lt;/strong&gt; checks if a previous sub-flow was
executed (or not executed) successfully during the authentication flow execution. The condition &lt;strong&gt;Condition - client scope&lt;/strong&gt; checks if a configured client scope is present as a client scope of the
client requesting authentication. For more details, see &lt;a href=&quot;https://www.keycloak.org/docs/26.1.0/server_admin/#conditions-in-conditional-flows&quot;&gt;Conditions in conditional flows&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_defining_dependencies_between_provider_factories&quot;&gt;Defining dependencies between provider factories&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When developing extensions for Keycloak, developers can now specify dependencies between provider factories classes by implementing the method &lt;code&gt;dependsOn()&lt;/code&gt; in the &lt;code&gt;ProviderFactory&lt;/code&gt; interface.
See the Javadoc for a detailed description.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_dark_mode_enabled_for_the_welcome_theme&quot;&gt;Dark mode enabled for the welcome theme&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;ve now enabled dark mode support for all the &lt;code&gt;keycloak&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using a custom theme that extends any of the &lt;code&gt;keycloak&lt;/code&gt; 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:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-properties&quot; data-lang=&quot;properties&quot;&gt;darkMode=false&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Alternatively, you can disable dark mode support for the built-in Keycloak themes on a per-realm basis by turning off the &lt;strong&gt;Dark mode&lt;/strong&gt; setting under the &lt;strong&gt;Theme&lt;/strong&gt; tab in the realm settings.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_metrics_on_password_hashing&quot;&gt;Metrics on password hashing&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See &lt;a href=&quot;https://www.keycloak.org/observability/metrics-for-troubleshooting-http&quot;&gt;Keycloak metrics&lt;/a&gt; and &lt;a href=&quot;https://www.keycloak.org/high-availability/concepts-memory-and-cpu-sizing#_measuring_the_activity_of_a_running_keycloak_instance&quot;&gt;Concepts for sizing CPU and memory resources&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_sign_out_all_active_sessions_in_admin_console_now_effectively_removes_all_sessions&quot;&gt;Sign out all active sessions in admin console now effectively removes all sessions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous versions, clicking on &lt;strong&gt;Sign out all active sessions&lt;/strong&gt; in the admin console resulted in the removal of regular sessions only. Offline sessions would still be displayed despite being effectively invalidated.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This has been changed. Now all sessions, regular and offline, are removed when signing out of all active sessions.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_dedicated_release_cycle_for_the_node_js_adapter_and_javascript_adapter&quot;&gt;Dedicated release cycle for the Node.js adapter and JavaScript adapter&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_updates_in_quickstarts&quot;&gt;Updates in quickstarts&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak quickstarts are now using &lt;code&gt;main&lt;/code&gt; as the base branch. The &lt;code&gt;latest&lt;/code&gt;  branch, used previously, is removed. The &lt;code&gt;main&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_updated_format_of_keycloak_session_cookie_and_auth_session_id_cookie&quot;&gt;Updated format of KEYCLOAK_SESSION cookie and AUTH_SESSION_ID cookie&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The format of &lt;code&gt;KEYCLOAK_SESSION&lt;/code&gt; cookie was slightly updated to not contain any private data in plain text. Until now, the format of the cookie was &lt;code&gt;realmName/userId/userSessionId&lt;/code&gt;. Now the cookie contains user session ID, which is hashed by SHA-256 and URL encoded.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The format of &lt;code&gt;AUTH_SESSION_ID&lt;/code&gt; cookie was updated to include a signature of the auth session id to ensure its integrity through signature verification. The new format is &lt;code&gt;base64(auth_session_id.auth_session_id_signature)&lt;/code&gt;. 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These changes can affect you just in case when implementing your own providers and relying on the format of internal Keycloak cookies.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removal_of_robots_txt_file&quot;&gt;Removal of robots.txt file&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;robots.txt&lt;/code&gt; file, previously included by default, is now removed. The default &lt;code&gt;robots.txt&lt;/code&gt; file blocked all crawling, which prevented the &lt;code&gt;noindex&lt;/code&gt;/&lt;code&gt;nofollow&lt;/code&gt; 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 &lt;code&gt;X-Robots-Tag&lt;/code&gt; header, which is set to &lt;code&gt;none&lt;/code&gt; by default. The value of this header can be overridden per-realm if a different behaviour is needed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you previously added a rule in your reverse proxy configuration for this, you can now remove it.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_imported_key_providers_check_and_passivate_keys_with_an_expired_cetificate&quot;&gt;Imported key providers check and passivate keys with an expired cetificate&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The key providers that allow to import externally generated keys (&lt;code&gt;rsa&lt;/code&gt; and &lt;code&gt;java-keystore&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default &lt;code&gt;generated&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_admin_events_might_include_now_additional_details_about_the_context_when_the_event_is_fired&quot;&gt;Admin events might include now additional details about the context when the event is fired&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;code&gt;DETAILS_JSON&lt;/code&gt; to the &lt;code&gt;ADMIN_EVENT_ENTITY&lt;/code&gt; table.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openshift_v3_identity_brokering_removed&quot;&gt;OpenShift v3 identity brokering removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As OpenShift v3 reached end-of-life a while back, support for identity brokering with OpenShift v3 has been removed from Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


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

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

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

</description>
        <guid>https://www.keycloak.org/2025/01/keycloak-2610-released</guid>
        <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Terraform Provider Release 5</title>
        <link>https://www.keycloak.org/2025/01/terraform-provider-release-5</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_terraform_provider_releases&quot;&gt;Keycloak Terraform Provider Releases&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re excited to announce the release of the Keycloak Terraform Provider 5.0 with support for Keycloak 24/26.
You can find the repository &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Following our &lt;a href=&quot;https://www.keycloak.org/2024/12/terraform-provider-adoption.html&quot;&gt;announcement in December 2024&lt;/a&gt;, we released Keycloak Terraform Provider 4.5 with a new license and dependency upgrades for Keycloak versions older than 23.0.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are still using the old Keycloak Terraform Provider by &lt;a href=&quot;https://github.com/mrparkers&quot;&gt;mrparkers&lt;/a&gt; you can take a look at the
&lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak#migration-to-the-new-provider&quot;&gt;migration notes&lt;/a&gt; to use the new &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak&quot;&gt;Keycloak Terraform Provider&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_changes&quot;&gt;Changes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_4_5_maintenance_release&quot;&gt;4.5 Maintenance Release&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CVE fixes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go upgrade&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Minor Dependency Upgrades&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;License change&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_5_0_release&quot;&gt;5.0 Release&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Support for Keycloak 24&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for Keycloak 26&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dependency Upgrades&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_planned_next_releases&quot;&gt;Planned Next Releases&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;5.1 with support for managing organizations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;patch releases on demand&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_join_the_community&quot;&gt;Join the Community&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re grateful for all contributors who&amp;#8217;ve helped make the Terraform Provider what it is today.
We welcome new contributions, issue reports, feature suggestions, and fixes. Let&amp;#8217;s work together to make it even better!
Explore the &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak&quot;&gt;repository location&lt;/a&gt;, join &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak/discussions&quot;&gt;the discussions&lt;/a&gt;, and help shape the future of the Keycloak Terraform Provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/01/terraform-provider-release-5</guid>
        <pubDate>Mon, 13 Jan 2025 00:00:00 GMT</pubDate>
        
        <author>Thomas Darimont</author>
      </item>
      <item>
        <title>Keycloak 26.0.8 released</title>
        <link>https://www.keycloak.org/2025/01/keycloak-2608-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33569&quot;&gt;#33569&lt;/a&gt; Show User Events on dedicated tab on Client-/User-Details &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34091&quot;&gt;#34091&lt;/a&gt; Username Form should support autocomplete &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2025/01/keycloak-2608-released</guid>
        <pubDate>Mon, 13 Jan 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Meet Keycloak at FOSDEM 2025 in February!</title>
        <link>https://www.keycloak.org/2025/01/keycloak-at-fosdem-2025</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/&quot;&gt;FOSDEM&lt;/a&gt; is a free event for software developers to meet, share ideas and collaborate.
Every year, thousands of developers of free and open source software from all over the world gather at the event.
Those staying home will be able to watch the live stream of the talks and ask questions online.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Members of the Keycloak project will be on-site like last year, and there will be talks from both the Keycloak community and the Keycloak team.
See below for places to meet other Keycloak enthusiasts, and which talks will relate to Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_meet_and_greet&quot;&gt;Meet-and-greet&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While FOSDEM is organized around talks, it is also a great place to meet people in real life that you previously knew only from online, and make new friends.
With thousands of people at the event, it is good to have a place for a meet-and-greet.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Cloud Native Computing Foundation (CNCF) Stand&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;A lot of &lt;a href=&quot;https://fosdem.org/2025/news/2024-11-16-stands-announced/&quot;&gt;organizations and projects&lt;/a&gt; will have a stand at FOSDEM.
With Keycloak being a CNCF project, we will be sharing a time slot at their stand.
&lt;strong&gt;You&amp;#8217;ll be able to meet Keycloak maintainers at the CNCF stand on Saturday, February 1st, from 16:00–17:30&amp;#160;h.&lt;/strong&gt;
As our time slot might change, please come back here on the day of the event and double-check!&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Linux Foundation side event &amp;amp; drinks! (Sat Feb 01, 18:00–20:00 h)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;As part of the events happening around FOSDEM, also called &lt;a href=&quot;https://fosdem.org/2025/fringe/&quot;&gt;FOSDEM Fringe&lt;/a&gt;, the Linux foundation invites you for a drink.
&lt;a href=&quot;https://linuxfoundation.regfox.com/linux-foundation-fosdem-side-event-2025&quot;&gt;A free registration is required to join&lt;/a&gt;.
&lt;strong&gt;UPDATE:&lt;/strong&gt; It is currently fully booked and there is a waiting list.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_fosdem_is_all_about_devrooms&quot;&gt;FOSDEM is all about devrooms!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FOSDEM is a big event divided into smaller, single-track conferences with their own call for papers and organizers.
Here a short list of those dev rooms that might be of interest for you if you are into Keycloak:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/iam/&quot;&gt;Identity and Access Management Devroom&lt;/a&gt; (Sun Feb 02, 09:00–17:00&amp;#160;h)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Identity and Access Management Devroom is related to operating systems&#39; identity and access management in the free software and open source world.&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Expect talks about identity federation, integrating identity management into the operating system, Kerberos, and last but not the least OpenID Connect.
There are several Keycloak talks happening in this dev room, so make sure to tune in!&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/security/&quot;&gt;Security Devroom&lt;/a&gt; (Sat Feb 01, 10:30–19:00&amp;#160;h)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The Security Devroom covers everything that is relevant to security in the free software and open source world.
Talks cover topics like cryptography, supply chain, secure development and hardening.&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5370-using-dpop-to-use-access-tokens-securely-in-your-single-page-applications/&quot;&gt;will be one talk covering DPoP with proof of possession for access tokens in single page applications&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/track/wallets/&quot;&gt;Digital Wallets and Verifiable Credentials Devroom&lt;/a&gt; (Sun Feb 02, 10:30–12:30&amp;#160;h)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The Digital Wallets and Verifiable Credentials DevRoom is about digital wallets, verifiable credentials and the ecosystems emerging from these subjects, especially in the EU.&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;No talk is related to Keycloak itself, still interesting for those who are following the &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;Keycloak OIDC Special Interest Group&lt;/a&gt;&#39;s activities around verifiable credentials.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_related_talks&quot;&gt;Keycloak related talks&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See below a list of all Keycloak related talks.
When you watch them live, you will be able to ask questions in the chat.
All talks have been recorded are now available on-line to re-watch!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5370-using-dpop-to-use-access-tokens-securely-in-your-single-page-applications/&quot;&gt;Using DPoP to use access tokens securely in your Single Page Applications&lt;/a&gt;&lt;br&gt;
Track: Security / Room: UB4.132&lt;br&gt;
Scheduled: Saturday 13:30 CET&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5209-deep-dive-into-oidc-flows/&quot;&gt;Deep Dive into OIDC flows&lt;/a&gt;&lt;br&gt;
Track: Identity and Access Management / Room UA2.118 (Henriot)&lt;br&gt;
Scheduled: Sunday 10:05 CET&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5510-nubus-an-enterprise-open-source-iam-stack-in-kubernetes/&quot;&gt;Nubus: An Enterprise Open Source IAM Stack in Kubernetes&lt;/a&gt;&lt;br&gt;
Track: Identity and Access Management / Room UA2.118 (Henriot)&lt;br&gt;
Scheduled: Sunday 10:35 CET&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-4756-sssd-and-idps/&quot;&gt;SSSD and IdPs&lt;/a&gt;&lt;br&gt;
Track: Identity and Access Management / Room UA2.118 (Henriot)&lt;br&gt;
Scheduled: Sunday 12:35 CET&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5673-delegating-the-chores-of-authenticating-users-to-keycloak/&quot;&gt;Delegating the chores of authenticating users to Keycloak&lt;/a&gt;&lt;br&gt;
Track: Identity and Access Management / Room UA2.118 (Henriot)&lt;br&gt;
Scheduled: Sunday 16:00 CET&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We hope to see a lot of you either online or on site in Brussels at FOSDEM!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/01/keycloak-at-fosdem-2025</guid>
        <pubDate>Wed, 8 Jan 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Storing sessions in Keycloak 26</title>
        <link>https://www.keycloak.org/2024/12/storing-sessions-in-kc26</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 26 now uses by default the Persistent user sessions feature. In this blog post, we uncover the background on why we introduced this feature, what are the alternatives and what is the future.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_session_storages_in_keycloak_26_cheatsheet&quot;&gt;Session storages in Keycloak 26 cheatsheet&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This section provides a TLDR guidance on what sessions storages exist and when each of them should be used with Keycloak 26.
The following sections provide more details on each storage type and reasoning behind introducing or dropping each of them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;kc-asciidoc&quot;&gt;
&lt;table class=&quot;tableblock frame-all grid-all stretch&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Number of sites&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Sessions storage&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Characteristics&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;When to use&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Keycloak CLI options to enable&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-middle&quot; rowspan=&quot;4&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Single site&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Persistent sessions&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sessions stored in the database and cached in memory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sessions available after cluster restart&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lower memory usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Higher database usage&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Default and recommended for standard installations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You want your sessions to survive restarts and upgrades&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Accept higher database usage&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;No additional configuration needed&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Sessions stored in memory&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Faster reads and writes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sessions lost after cluster restart&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Higher memory usage (all sessions must be in memory)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Can&amp;#8217;t use persistent user sessions feature&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Please provide your feedback &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;here&lt;/a&gt;, as we want to understand why you can&amp;#8217;t use persistent user sessions&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;--features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Sessions stored in external Infinispan&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sessions stored only in external Infinispan&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reduced database usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using Hot Rod client for communication with external Infinispan&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experimental feature&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Do not use in production as it is experimental&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Evaluate and provide your feedback &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/33745&quot;&gt;here&lt;/a&gt; if you are interested in this feature and want to help to make it supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;--features=&quot;clusterless&quot;
--features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Sessions stored in memory and external Infinispan&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;4 copies of each session 2x in Keycloak memory and 2x in Infinispan memory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sessions available after Keycloak cluster restarts&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;High memory usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experimental and will be removed soon&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When you used this setup with previous releases and cannot switch to persistent user sessions now&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;--features=&quot;cache-embedded-remote-store&quot;
--features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-middle&quot; rowspan=&quot;2&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Multiple sites (&lt;a href=&quot;https://www.keycloak.org/high-availability/introduction&quot;&gt;guide&lt;/a&gt;)&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Persistent user sessions&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sessions stored in the database without caching in Keycloak memory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Synchronously replicating sessions to second site (depending on database configuration)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When resiliency to whole site outage is needed&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;--features=&quot;multi-site&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Sessions stored in external Infinispan&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sessions stored only in external Infinispan&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using Hot Rod client for communication with external Infinispan&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reduced database usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experimental feature&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Do not use in production as it is experimental&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Evaluate and provide your feedback &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/33745&quot;&gt;here&lt;/a&gt; if you are interested in this feature and want to help to make it supported.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;--features=&quot;multi-site,clusterless&quot;
--features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_evolution_of_storing_sessions&quot;&gt;Evolution of storing sessions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the old Keycloak days, all sessions were stored only in embedded Infinispan - in memory of each Keycloak node in a distributed cache (each Keycloak node storing some portion of sessions where each session is present in at least 2 nodes).
This worked well in a single site with a small to medium amount of sessions, and the setup was resilient to one Keycloak node without losing any data.
This could be extended to more than one node if we increase the number of nodes storing each session.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_what_about_whole_site_disasters&quot;&gt;What about whole site disasters?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The problem occurred when more nodes failed or when a whole site failed.
Users asked for more resilient setups.
For this, we introduced a technical preview of the cross-site feature.
The impact on the session data was that we replicated all of them across 4 locations - 2 Keycloak clusters and 2 Infinispan clusters.
With each of these locations needing to store all of the sessions in order to be able to search/query them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the beginning, this setup didn&amp;#8217;t perform very well, one of the reasons was that we needed to synchronously replicate the data 4 times to keep the system in the correct state.
As a consequence of this bad performance we initially wanted to drop the feature, however due to significant community interest we decided to evolve the feature instead.
After several optimisations and performance tuning, we were able to release this in Keycloak 24 under the name &lt;code&gt;multi-site&lt;/code&gt;, which allowed active-passive setups.
This architecture replicated some data asynchronously to the second Keycloak cluster and therefore, we could not use this setup in an active-active way.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_i_want_my_sessions_to_survive&quot;&gt;I want my sessions to survive!&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Even though we were more resilient with this setup, we are still losing sessions when the whole deployment goes down, which happens, for example, during updates.
We received a lot of complaints about this.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That is where persistent sessions came into consideration as a rescue to both of these problems - asynchronous updates replication to the other site and losing sessions.
The idea is to store sessions in the database - the source of truth for sessions.
We already stored offline sessions in the database so we reused the concept and introduced a new feature named Persistent user sessions which is now enabled by default in Keycloak 26.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_is_the_database_the_correct_place_for_such_write_heavy_objects&quot;&gt;Is the database the correct place for such write-heavy objects?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Almost each request coming to Keycloak needs to check whether a session exists, whether it is valid and usually also update its validity period.
This makes sessions read and write heavy objects and the question whether the database is the correct place to store them is appropriate.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At the moment of writing this blog post, we have no reports that would show performance problems with persistent user sessions and it seems the advantages overcome the disadvantages.
Still, we have an additional feature in experimental mode that you can evaluate.
As explained above, some of the problems with the multiple sites setup in Keycloak 24 were that we needed to have sessions replicated in 4 locations and the second Keycloak cluster was receiving some updates asynchronously.
This can be also solved by storing sessions only in the external Infinispan as sessions are replicated only twice instead of four times.
Also, the asynchronous replication is not used anymore as we do not need to replicate changes to Keycloak nodes.
Infinispan also provides query and indexing capabilities for searching sessions which avoids sequential scans needed with the sessions stored in embedded Infinispan.
Note this is an experimental feature and therefore it is not yet fully finished and performance optimised.
We are eager to hear your feedback to understand where persistent user sessions fail and where the pure Infinispan storage for sessions could shine.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_options_do_i_have_and_which_of_them_should_i_consider&quot;&gt;What options do I have and which of them should I consider?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since we could not remove any of the options from the list above without a proper deprecation period, all of them can still be used in Keycloak 26, however, some of them are more blessed than others.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_single_site_with_sessions_stored_in_the_database_and_cached_in_memory&quot;&gt;Single site with sessions stored in the database and cached in memory&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is the default setup in Keycloak 26.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_single_site_with_sessions_stored_in_memory&quot;&gt;Single site with sessions stored in memory&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is the default setup used in Keycloak versions prior to 26 and at the moment probably the most commonly used among all of them.
The recommendation is to switch to persistent user sessions and with no additional configuration with Keycloak 26 the switch will be done automatically.
However, if you have some problems with persistent user sessions (eager to hear your feedback &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;here&lt;/a&gt;), and you don’t mind losing your sessions on restarts you can enable this setup by disabling the &lt;code&gt;persistent-user-sessions&lt;/code&gt; feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] build --features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_single_site_with_sessions_stored_in_external_infinispan&quot;&gt;Single site with sessions stored in external Infinispan&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is the experimental setup mentioned above.
To configure this, disable &lt;code&gt;persistent-user-sessions&lt;/code&gt; and enable &lt;code&gt;clusterless&lt;/code&gt; features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] build --features=&quot;clusterless&quot; --features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_single_site_with_sessions_stored_in_memory_and_external_infinispan&quot;&gt;Single site with sessions stored in memory and external Infinispan&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This setup uses the functionality aimed for multi-site, however, this was often used in a single site as well, because of its benefit of not losing sessions on Keycloak restarts.
We believe persistent user sessions make this setup obsolete and Keycloak will refuse to start with this setup complaining with this message: &lt;code&gt;Remote stores are not supported for embedded caches….&lt;/code&gt;.
This functionality is deprecated and will be removed in the next Keycloak major release.
To run this configuration, disable &lt;code&gt;persistent-user-sessions&lt;/code&gt;, enable &lt;code&gt;cache-embedded-remote-store&lt;/code&gt; features and configure embedded Infinispan accordingly.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] build --features=&quot;cache-embedded-remote-store&quot; --features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_options_for_multiple_sites&quot;&gt;Options for multiple sites&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Running Keycloak in multiple sites requires two building blocks to make data available and synchronized in both sites.
A synchronously replicated database and an external Infinispan in each site with cross-site replication enabled.
The whole setup is described &lt;a href=&quot;https://www.keycloak.org/high-availability/introduction&quot;&gt;here&lt;/a&gt;.
From the point of view of storing sessions the setup is always forcing usage of the Persistent user sessions feature and they are stored only in the database with no caching in the Keycloak’s memory.
To configure this enable the &lt;code&gt;multi-site&lt;/code&gt; feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] build --features=&quot;multi-site&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible to evaluate the experimental &lt;code&gt;clusterless&lt;/code&gt; feature described for the single site also with the multiple sites.
In this setup the sessions are not stored in the database but in the external Infinispan.
Note this is an experimental feature and as such it is not yet fully documented and performance optimised.
To configure this, disable &lt;code&gt;persistent-user-sessions&lt;/code&gt; and enable &lt;code&gt;multi-site&lt;/code&gt; and &lt;code&gt;clusterless&lt;/code&gt; features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] build --features=&quot;multi-site,clusterless&quot; --features-disabled=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_feedback_welcomed&quot;&gt;Feedback welcomed&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have any questions or feedback on this proceed to the following GitHub discussions:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;Persistent user sessions discussion&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/33745&quot;&gt;Multi-Site: volatile sessions in Infinispan cluster discussion&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/35523&quot;&gt;Any other question related to this blog post&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_frequently_asked_questions&quot;&gt;Frequently asked questions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_why_do_we_need_external_infinispan_in_a_multi_site_setup_with_persistent_user_sessions&quot;&gt;Why do we need external Infinispan in a multi-site setup with persistent user sessions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this case external Infinispan is not used for storing sessions, however, we still need it for communication between two Keycloak sites, for example, for invalidation messages, for synchronization of background tasks and also for storing some objects, usually short-lived, like authentication sessions, login failures or action tokens.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/12/storing-sessions-in-kc26</guid>
        <pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate>
        
        <author>Michal Hajas</author>
      </item>
      <item>
        <title>Videos for the holidays and meet us at FOSDEM!</title>
        <link>https://www.keycloak.org/2024/12/keycloak-at-froscon-2024</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_videos_to_re_watch&quot;&gt;Videos to re-watch&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year, the Keycloak project was present at multiple conferences. Here are the videos to watch for the holiday break if you haven&amp;#8217;t watched them yet: &lt;a href=&quot;https://www.keycloak.org/2024/12/keycloak-at-kubecon-na-2024-recap.html&quot;&gt;KubeCon NA&lt;/a&gt;, &lt;a href=&quot;https://www.keycloak.org/2024/11/keyconf24-videos-available.html&quot;&gt;KeyConf&lt;/a&gt;, &lt;a href=&quot;https://www.keycloak.org/2024/06/keycloak-dev-day-videos.html&quot;&gt;Keycloak DevDay&lt;/a&gt;, &lt;a href=&quot;https://www.keycloak.org/2024/05/keycloak-at-devoxx-france-2024-recap.html&quot;&gt;Devoxx France&lt;/a&gt; and &lt;a href=&quot;https://www.keycloak.org/2024/04/keycloak-at-kubecon-eu-2024-recap.html&quot;&gt;KubeCon Europe&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When going through the list, I found that at least two of the talks have not been published on the Keycloak blog yet.
So here they are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FOSDEM in February with the talk &lt;a href=&quot;https://archive.fosdem.org/2024/schedule/event/fosdem-2024-2065-add-user-self-management-brokerage-and-federation-to-your-infrastructure-with-keycloak/&quot;&gt;Add user self-management, brokerage and federation to your infrastructure with Keycloak&lt;/a&gt;,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FrOSCon in August with &lt;a href=&quot;https://programm.froscon.org/2024/events/3066.html&quot;&gt;What’s new in Keycloak, the open source IAM&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Did we miss another video that we should have shared here? &lt;a href=&quot;https://github.com/ahus1&quot;&gt;Let me know!&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_we_are_excited_to_connect_with_the_community&quot;&gt;We are excited to connect with the community&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;style&gt;
@media (min-width:720px) {
  .pull-right {
    max-width: 250px; height: auto; aspect-ratio: 379 / 661;
    margin-left: 10px;
    float: right !important;
  }
}
@media (min-width:992px) {
  .pull-right {
    max-width: 300px; height: auto; aspect-ratio: 379 / 661;
    margin-left: 10px;
    float: right !important;
  }
}
&lt;/style&gt;
&lt;div class=&quot;imageblock pull-right&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/froscon-stand-2024.jpeg&quot; alt=&quot;Keycloak stand at FrOSCon with Niko in front of it and our signage in the background&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All conferences were exciting for us: We met with the community to share the latest developments of Keycloak, engaged in discussions and heard interesting stories from people running Keycloak in their production environments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The FrOSCon and the KubeCon conferences were special as we had our own stand where we connected to both new and existing users of Keycloak.
At FrOSCon, we had our own signage up as this photo proves!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have not met us at a conference yet, please take this &lt;a href=&quot;http://bit.ly/keycloak-community&quot;&gt;online Keycloak Survey&lt;/a&gt;:
Let us know if you want to share your story with the broader community, and we will be in contact with you about the next steps.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_meet_us_next_at_fosdem&quot;&gt;Meet us next at FOSDEM!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The good news is that we will back at &lt;a href=&quot;https://www.keycloak.org/2025/01/keycloak-at-fosdem-2025.html&quot;&gt;FOSDEM 2025 in Brussels in February this year&lt;/a&gt;.
In the meantime, save the date to either join us in Brussels or live on the stream. If you want to connect on-site, &lt;a href=&quot;https://github.com/ahus1&quot;&gt;reach out to me using your preferred channel&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Some of our team members will also be at the &lt;a href=&quot;https://keycloak-day.dev/&quot;&gt;Keycloak DevDay in March&lt;/a&gt;, which is unfortunately already sold out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are already planning for other upcoming events in 2025, so return to this blog to read the latest news here!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/12/keycloak-at-froscon-2024</guid>
        <pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak Adopts Terraform Provider</title>
        <link>https://www.keycloak.org/2024/12/terraform-provider-adoption</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_new_repository_location&quot;&gt;New Repository Location&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re excited to announce that the Keycloak Terraform Provider has officially moved under the Keycloak organization!
You can find the new repository location &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_the_journey_so_far&quot;&gt;The Journey So Far&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https://www.keycloak.org/2024/09/realm-config-management-tools-survey-results.html&quot;&gt;our community survey&lt;/a&gt;, we confirmed that the Keycloak Terraform Provider by &lt;a href=&quot;https://github.com/mrparkers&quot;&gt;mrparkers&lt;/a&gt; is the most widely used tool
for realm configuration management. The move to the Keycloak organization is a natural next step in making this essential
tool a core part of the Keycloak ecosystem.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_gratitude_and_transition&quot;&gt;Gratitude and Transition&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A huge thank-you to &lt;a href=&quot;https://github.com/mrparkers&quot;&gt;mrparkers&lt;/a&gt; for creating and maintaining the provider. Your contributions have been invaluable to the community.
The new maintainers, &lt;a href=&quot;https://github.com/sschu&quot;&gt;Sebastian Schuster&lt;/a&gt; and &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt;, will ensure the project continues to thrive.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_migration_notes&quot;&gt;Migration Notes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You&amp;#8217;ll need to update your configurations to migrate to the Keycloak-hosted Terraform Provider. Check out &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak#migration-to-the-new-provider&quot;&gt;our migration guide&lt;/a&gt;,
especially the replace-provider instructions, to make the process smooth.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_updates_and_changes&quot;&gt;Updates and Changes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;License Change: The Keycloak Terraform Provider now uses the &lt;strong&gt;Apache 2.0 license&lt;/strong&gt;, ensuring broader adoption and clarity for contributors.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Next releases:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;4.5 Maintenance Release: Includes CVE fixes, Go upgrade, and license change.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;5.0 Release (Upcoming): Adds support for Keycloak 24/26, new features, and improvements.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_join_the_community&quot;&gt;Join the Community&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re grateful for all contributors who&amp;#8217;ve helped make the Terraform Provider what it is today.
We welcome new contributions, issue reports, feature suggestions, and fixes. Let&amp;#8217;s work together to make it even better!
Explore the &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak&quot;&gt;new repository location&lt;/a&gt;, join &lt;a href=&quot;https://github.com/keycloak/terraform-provider-keycloak/discussions&quot;&gt;the discussions&lt;/a&gt;, and help shape the future of the Keycloak Terraform Provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/12/terraform-provider-adoption</guid>
        <pubDate>Mon, 9 Dec 2024 00:00:00 GMT</pubDate>
        
        <author>Thomas Darimont</author>
      </item>
      <item>
        <title>Recap Keycloak at KubeCon NA 2024</title>
        <link>https://www.keycloak.org/2024/12/keycloak-at-kubecon-na-2024-recap</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak had a very active presence at this year&amp;#8217;s KubeCon NA in Salt Lake City, Utah. This blog presents a few of the
highlights as well as ways you can contribute to Keycloak’s CNCF journey.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_project_pavilion&quot;&gt;Project Pavilion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak hosted a project pavilion stand during Wednesday, Thursday and Friday afternoon slots. Attending the booth were
Keycloak contributors &lt;a href=&quot;https://github.com/y-tabata&quot;&gt;Yoshiyuki Tabata&lt;/a&gt; from Hitachi and &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt;,
&lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&lt;/a&gt; and &lt;a href=&quot;https://github.com/kami619&quot;&gt;Kamesh Akella&lt;/a&gt; from Red Hat.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;During these sessions, we discussed all things Keycloak with existing and prospective users, as well as provided the much
requested Keycloak stickers plus additional swag for particularly enthusiastic users. It was great to hear war stories
from the trenches with regard to both the good and bad of Keycloak. This feedback is essential for us to continue to
evolve the project and plan the future roadmap. A special thanks to all of those who filled out our survey forms, we
really appreciate your time. If you were unable to attend the pavilion, please consider filling out the
&lt;a href=&quot;http://bit.ly/keycloak-community&quot;&gt;online version of the form&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;a href=&quot;https://www.keycloak.org/resources/images/blog/kubecon_na_2024_kiosk.jpg&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kubecon_na_2024_kiosk.jpg&quot; alt=&quot;Four Keycloak contributors hosting the project pavilion booth&quot; style=&quot;width: 100%; max-width: 700px; height: auto;&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_talk&quot;&gt;Keycloak Talk&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt; and &lt;a href=&quot;https://github.com/kami619&quot;&gt;Kamesh Akella&lt;/a&gt; presented a talk titled
&amp;#8220;Running a Highly Available Identity and Access Management with Keycloak&amp;#8221;. &lt;a href=&quot;https://www.youtube.com/watch?v=gDFWBQO31M4&quot;&gt;Watch the recording&lt;/a&gt;
to hear about the recent developments in Keycloak’s HA story, including an overview of the architecture recommended in
the Keycloak guides, the lessons learned during the development of said guides and the CNCF technologies used as part of
our stack. A video of the talk is linked below.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;iframe src=&quot;https://www.youtube-nocookie.com/embed/gDFWBQO31M4?si=HIUtJEQZFnRQ5yyd&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen style=&quot;width: 100%; max-width: 700px; height: auto; aspect-ratio: 560 / 315;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to all who attended and asked questions, there were good follow-up conservations that continued well after our
time was up.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_survey&quot;&gt;Keycloak Survey&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Are you a Keycloak user who is deploying in production or just considering starting with Keycloak? We would love to hear
more from you about your success stories, what is crucial to your deployments and what can be done better. Please fill
out the &lt;a href=&quot;http://bit.ly/keycloak-community&quot;&gt;online Keycloak Survey&lt;/a&gt;, so we can better understand your use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Your story maybe a candidate for a &lt;a href=&quot;https://www.cncf.io/case-studies&quot;&gt;CNCF Case Study&lt;/a&gt;. If you would like to share your
success story with our community, answer &lt;em&gt;yes&lt;/em&gt; to the &amp;#8220;Would you be interested to share your story with our broader community?&amp;#8221;
and we will be in touch shortly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_kubecon_eu&quot;&gt;KubeCon EU&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In 2025, &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-europe&quot;&gt;KubeCon EU&lt;/a&gt; will be held in London on April 1-4th,
we hope to see you there and hear your latest Keycloak stories. As it’s still very much early days, we cannot provide any
specifics, but be assured that we’ll publish more information in the near future.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/12/keycloak-at-kubecon-na-2024-recap</guid>
        <pubDate>Wed, 4 Dec 2024 00:00:00 GMT</pubDate>
        
        <author>Ryan Emerson</author>
      </item>
      <item>
        <title>Keycloak 26.0.7 released</title>
        <link>https://www.keycloak.org/2024/12/keycloak-2607-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34882&quot;&gt;#34882&lt;/a&gt; Edits to Authorization Services guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34916&quot;&gt;#34916&lt;/a&gt; Addresse QE comments on Server Administration guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34931&quot;&gt;#34931&lt;/a&gt; Upgrade to ISPN 15.0.11.Final &lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2024/12/keycloak-2607-released</guid>
        <pubDate>Tue, 3 Dec 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.0.6 released</title>
        <link>https://www.keycloak.org/2024/11/keycloak-2606-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_admin_events_might_include_now_additional_details_about_the_context_when_the_event_is_fired&quot;&gt;Admin events might include now additional details about the context when the event is fired&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;code&gt;DETAILS_JSON&lt;/code&gt; to the &lt;code&gt;ADMIN_EVENT_ENTITY&lt;/code&gt; table.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_updates_to_documentation_of_x_509_client_certificate_lookup_via_proxy&quot;&gt;Updates to documentation of X.509 client certificate lookup via proxy&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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
&lt;a href=&quot;https://www.keycloak.org/server/reverseproxy#_enabling_client_certificate_lookup&quot;&gt;reverse proxy guide&lt;/a&gt; if you have configured
the client certificate lookup via a proxy header.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34315&quot;&gt;#34315&lt;/a&gt; Update the Keycloak CPU and Memory sizing guide to reflect the new ec2 workder nodes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34386&quot;&gt;#34386&lt;/a&gt; Some dynamic imported functions are also statically imported making bundling them in-efficient &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34570&quot;&gt;#34570&lt;/a&gt; Make documentation more clear that keycloak javascript adapter and node.js adapter are OIDC &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34855&quot;&gt;#34855&lt;/a&gt; Add conditional text to Installation Locations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34873&quot;&gt;#34873&lt;/a&gt; Update Leveraging JaKarta EE in Server Development guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34887&quot;&gt;#34887&lt;/a&gt; Apply QE edits to High Availability guide &lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2024/11/keycloak-2606-released</guid>
        <pubDate>Fri, 22 Nov 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.3 released</title>
        <link>https://www.keycloak.org/2024/11/keycloak-client-2603-released</link>
        <description>


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/securing-apps/upgrading&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/90&quot;&gt;#90&lt;/a&gt; Update MD files  &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/93&quot;&gt;#93&lt;/a&gt; Move upgrading guide for keycloak-client libraries to the client documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/101&quot;&gt;#101&lt;/a&gt; Setup GH action (or script), which will send PR for automatically sync with keycloak server &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/105&quot;&gt;#105&lt;/a&gt; Unnecessary `httpclient` dependency in `keycloak-client-common-synced` module &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/11/keycloak-client-2603-released</guid>
        <pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Introducing the Keycloak Test Framework</title>
        <link>https://www.keycloak.org/2024/11/preview-keycloak-test-framework</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_it_all_started&quot;&gt;How It All Started&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The idea to replace the current &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/testsuite&quot;&gt;test suite&lt;/a&gt; has been on the table for multiple years. Initially, it was meant to be only a refactoring of the current approach on how to write tests, but after a few internal discussions and refactor updates it turned out a new test suite, based on a &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework&quot;&gt;new framework&lt;/a&gt; would be a better solution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It would be good to mention a few drawbacks, that stand out when working with the current &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/testsuite&quot;&gt;test suite&lt;/a&gt;. First of all, is the complexity of various configurations and additions made on top of the &lt;a href=&quot;https://arquillian.org/&quot;&gt;&lt;em&gt;Arquillian framework&lt;/em&gt;&lt;/a&gt;. These changes make the test suite powerful, but the cons is that without proper documentation for beginners is almost unreadable. The second thing has the same importance, the &lt;em&gt;Arquillian framework&lt;/em&gt; is not fully supported anymore. Other things to mention are a complicated execution system, where you want to specify what exactly should be tested, then abstract classes with shared configurations and missing the option to add a custom extension.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_brighter_future&quot;&gt;Brighter Future?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team began an effort to design a new test framework in May 2024. It started with a prototype to verify if our ideas were feasible. The prototype is a &lt;em&gt;JUnit5 Extension&lt;/em&gt; based on the &lt;a href=&quot;https://junit.org/junit5/&quot;&gt;&lt;em&gt;JUnit5&lt;/em&gt; testing framework&lt;/a&gt;, specifically to implement &lt;a href=&quot;https://junit.org/junit5/docs/current/user-guide/#extensions-lifecycle-callbacks&quot;&gt;&lt;em&gt;JUnit5&lt;/em&gt; callback classes&lt;/a&gt; which extend the default test lifecycle functionality and provide custom inject annotations, like &lt;em&gt;@KeycloakIntegrationTest&lt;/em&gt;, &lt;em&gt;@InjectWebDriver&lt;/em&gt; or &lt;em&gt;@InjectRealm&lt;/em&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After a successful test round, we&amp;#8217;ve continued with a proof of concept extending features list to support multiple server modes, different databases and &lt;em&gt;WebDrivers&lt;/em&gt;, clients and users setup, &lt;em&gt;SmallRye&lt;/em&gt; configuration support, &lt;em&gt;OAuthClient&lt;/em&gt; based on &lt;a href=&quot;https://connect2id.com/products/nimbus-oauth-openid-connect-sdk&quot;&gt;&lt;em&gt;Nimbus SDK&lt;/em&gt;&lt;/a&gt; (this feature is a preview only) etc. The full list of currently implemented features is:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/test-framework/bom/pom.xml&quot;&gt;Maven BOM&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/core&quot;&gt;Core module&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Server lifecycle&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database lifecycle&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Admin client injection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Realm, User, Client lifecycle and injection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Event and Admin event listener and injection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OAuth client injection&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/ui&quot;&gt;UI module&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;WebDriver lifecycle and injection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Page injection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for the Chrome, Firefox and HtmlUnit4 browsers&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database modules&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/db-postgres&quot;&gt;Postgres&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/db-mariadb&quot;&gt;MariaDB&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/db-mysql&quot;&gt;MySQL&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/db-mssql&quot;&gt;MSSQL&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/db-oracle&quot;&gt;Oracle&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is already present in the main branch and &lt;em&gt;Keycloak&lt;/em&gt; nightly builds.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_are_you_curious_about_where_to_start&quot;&gt;Are you curious about where to start?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We suggest reading the &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/test-framework/README.md&quot;&gt;user guide&lt;/a&gt;, which will provide a basic overview of how the framework works and should be used. If this is not enough, you can also check &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/examples/tests/src/test/java/org/keycloak/test/examples&quot;&gt;test examples&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For extension developers we recommend to look into an example on how to start &lt;em&gt;Keycloak&lt;/em&gt; with their custom provider: &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework/examples/providers&quot;&gt;provider example&lt;/a&gt;, &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/test-framework/examples/tests/pom.xml#L75-L80&quot;&gt;pom.xml test dependency&lt;/a&gt; and &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/test-framework/examples/tests/src/test/java/org/keycloak/test/examples/MyCustomProviderTest.java&quot;&gt;test example&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you find a bug, want to discuss something, or propose a new enhancement, please follow this GitHub feedback &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/34951&quot;&gt;discussion link&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_next_steps&quot;&gt;Next steps&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We already have enough capabilities in the new test framework to start migrating some tests from the old testsuite; and in fact already have our very first test migrated. We plan to migrate one package at a time from the old testsuite starting with the &lt;code&gt;admin&lt;/code&gt; tests, then moving on to the &lt;code&gt;forms&lt;/code&gt; and &lt;code&gt;oauth&lt;/code&gt; packages. As we are doing this we will expand on the capabilities of the test framework.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Some features we know will be coming soon included:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;An easier way to deploy custom providers, not requiring a Maven build of the provider first&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved logging, making it easy to configure logging from tests as well as Keycloak&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Easy testing of OAuth and OpenID Connect, including a mock application&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extension to allow running code on the tested server when it&amp;#8217;s not possible to easily test through only remote interfaces&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We also have some more long term plans to deliver:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Provider tests that can be used to easily test a provider by invoking the provider directly&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parallel execution of tests, to take full advantage of multiple cores to reduce test execution time&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_acknowledgement&quot;&gt;Acknowledgement&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I would like to thank all the people who put the proof of concept together and made it real: Miquel, Simon, Filip, Moises, Jon, and Pedro. A special thank-you goes to Stian, who led the technical design and proposed very nifty things that raised the project to another level.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you for your feedback.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/11/preview-keycloak-test-framework</guid>
        <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
        
        <author>Lukas Hanusovsky</author>
      </item>
      <item>
        <title>KeyConf24 recordings available</title>
        <link>https://www.keycloak.org/2024/11/keyconf24-videos-available</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeyConf24, our 2024 Keycloak Identity Summit, happened in Vienna in September this year. We were excited to have a full room on site, and 150+ people watching online.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to our event sponsor adorsys, all recorded videos are now available online at the event&amp;#8217;s website:
&lt;a href=&quot;https://keyconf.dev/&quot; class=&quot;bare&quot;&gt;https://keyconf.dev/&lt;/a&gt;.
Re-watch the talks and learn from practitioners, developers and maintainers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to all our sponsors adorsys, Banfico, Hitachi and Red Hat who made this event possible!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/P2gk3wMbHC4?si=JLyPIK-WB8bP82eL&quot;&gt;&lt;strong&gt;Wallets are Key - the state of play from Bangalore to Brussels&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Daniel Goldschneider (The OpenWallet Foundation)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/i0O-Y5ySUZs?si=_P7pRSZo8lKIddGR&quot;&gt;&lt;strong&gt;The Journey, Achievements, and Significance of the Keycloak SIG Community&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Vinod Anandan (JPMorgan Chase &amp;amp; Co.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/DE8Y4yVNmjA?si=QYEucKoTb7LOESrq&quot;&gt;&lt;strong&gt;Streamlining Keycloak Configuration Management: Exploring keycloak-config-cli&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Francis Pouatcha (adorsys)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/aJ8Eo8Uysnk?si=vLs8O8ZXrCtuYSJX&quot;&gt;&lt;strong&gt;Keycloak&amp;#8217;s Updates on Emerging Paradigm of Identity and Compliance with Security Specifications&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Takashi Norimatsu (Hitachi, Ltd.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/RsMx5XOySq0?si=N0H8tOip-m-Qj0mw&quot;&gt;&lt;strong&gt;Building declaratively configured Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Václav Muzikář (Red Hat)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/qlone__CIOo?si=51Bg7PQus8OPV7OK&quot;&gt;&lt;strong&gt;Core Keycloak features developed in past 12 months&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Marek Posolda (Red Hat)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/Ida6hvICUsw?si=F7hh3a2Iw9h-zTER&quot;&gt;&lt;strong&gt;Integrating Keycloak with Openresty as a resource server in Open Banking&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Pritish Joshi (Banfico)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/0zWlc08CPuo?si=Od-opD4AG0V1lQto&quot;&gt;&lt;strong&gt;Unlocking adaptive authentication with Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Martin Bartoš (Red Hat)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/b1KCW-btqXA?si=JYRK_jkjnQAXvK7f&quot;&gt;&lt;strong&gt;New and Noteworthy in the OAuth World&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Dmitry Telegin (Backbase UK)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/t8u-QO02Qn8?si=QOAPnjAoL4i6AQ2G&quot;&gt;&lt;strong&gt;Extending Keycloak for All Your Identity Use Cases&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
GR Patil (Phase Two)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/fY1sJ8AX1fg?si=gorWGDkoTL98d5DF&quot;&gt;&lt;strong&gt;Enhancing User Experience with Native Authentication and Passkeys in Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Martin Besozzi (TwoGenIdentity)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/11/keyconf24-videos-available</guid>
        <pubDate>Sun, 10 Nov 2024 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.0.5 released</title>
        <link>https://www.keycloak.org/2024/11/keycloak-2605-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_ldap_users_are_created_as_enabled_by_default_when_using_microsoft_active_directory&quot;&gt;LDAP users are created as enabled by default when using Microsoft Active Directory&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using Microsoft AD and creating users through the administrative interfaces, the user will created as enabled by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31415&quot;&gt;#31415&lt;/a&gt; Selection list does not close after outside click &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33607&quot;&gt;#33607&lt;/a&gt; Fix v2 login layout &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33618&quot;&gt;#33618&lt;/a&gt; No message for `policyGroupsHelp` &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33640&quot;&gt;#33640&lt;/a&gt; Customizable footer (Keycloak 26) not displaying in keycloak.v2 login theme &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34301&quot;&gt;#34301&lt;/a&gt; Remove inaccurate statement about master realm imports &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34450&quot;&gt;#34450&lt;/a&gt; [26.0.2] Migration from 25.0.1 Identity Provider Errors &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34467&quot;&gt;#34467&lt;/a&gt; Do not rely on the `pwdLastSet` attribute when updating AD entries &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/11/keycloak-2605-released</guid>
        <pubDate>Fri, 1 Nov 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.2 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-client-2602-released</link>
        <description>


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/securing-apps/upgrading&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/92&quot;&gt;#92&lt;/a&gt; Setup CI during nightly build &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/99&quot;&gt;#99&lt;/a&gt; Sync with keycloak server 26.0.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/94&quot;&gt;#94&lt;/a&gt; Tests failing with latest Keycloak server nightly &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-client-2602-released</guid>
        <pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.0.4 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-2604-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34284&quot;&gt;#34284&lt;/a&gt; Keycloak-admin-client should work with the future versions of Keycloak server &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34382&quot;&gt;#34382&lt;/a&gt; Make the organization chapter of Server Admin guide available on downstream &lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-2604-released</guid>
        <pubDate>Wed, 30 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak DevDay 2025 Pre-Conf Event Announcement</title>
        <link>https://www.keycloak.org/2024/10/keycloak-devday-2025-hackathon-announcement</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://keycloak-day.dev/&quot;&gt;Keycloak DevDay 2025&lt;/a&gt; is just around the corner, and we would like to invite you to a special pre-event: the Keycloak Hackathon!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_hackathon_actively_help_shape_keycloak&quot;&gt;Hackathon: actively help shape Keycloak&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On the day before DevDay, on March 5, our hackathon will give you the opportunity to actively contribute to the further development of Keycloak.
Whether you write code, work on the documentation, improve translations or maintain issues in the issue tracker - everyone
can take part. The hackathon offers you the opportunity to pitch new ideas and work together in small groups on exciting projects.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_schedule_of_the_hackathon&quot;&gt;Schedule of the hackathon&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;10:00&lt;/strong&gt;: Start of the first iteration with a pitch round. Here you can present your ideas and topics, ranging from new features and bug fixes to documentation improvements. The teams start working on the pitched topics. Our goal is to achieve measurable results by the end of the day - be it through code contributions, documentation or other important improvements for the Keycloak community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;12:30&lt;/strong&gt;: Lunch-break&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;13:30&lt;/strong&gt;: Another start for everyone arriving later in the day.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;17:00&lt;/strong&gt;: Closing with presentation and honouring the results&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_why_should_you_participate&quot;&gt;Why should you participate?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The hackathon is a great opportunity to network and actively participate with other members of the Keycloak community. It&amp;#8217;s the perfect chance for:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Participants arriving early
who want to make good use of the previous day.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experienced contributors and maintainers who want to advance their projects or work on new topics.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Newcomers who want to contribute for the first time and get involved in the community - whether through code, documentation or organisational tasks.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_ideas_and_topics&quot;&gt;Ideas and topics&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have an idea or a topic that you would like to work on at the hackathon, get in touch with us! We will be happy to support you with the preparation and help you present your topic successfully.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you would like to work on a topic but don&amp;#8217;t yet know exactly what you would like to take part in, please let us know. We try to organize teams and topics at an early stage so that you can get in touch with like-minded people in advance.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_can_you_take_part&quot;&gt;How can you take part?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Participation is easy: Grab your free pre-event ticket on the &lt;a href=&quot;https://keycloak-day.dev/&quot;&gt;Keycloak DevDay website&lt;/a&gt; and join us! The hackathon offers a great opportunity to contribute in a relaxed atmosphere and to talk to other participants.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We look forward to seeing you at the hackathon and working together on the future of Keycloak. Let&amp;#8217;s code, document, and contribute - together for Keycloak!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-devday-2025-hackathon-announcement</guid>
        <pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate>
        
        <author>Sebastian Rose</author>
      </item>
      <item>
        <title>Keycloak 26.0.2 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-2602-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32110&quot;&gt;#32110&lt;/a&gt; [Documentation] - Configuring trusted certificates - Fully specify truststore path &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-2602-released</guid>
        <pubDate>Thu, 24 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.1 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-client-2601-released</link>
        <description>


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/securing-apps/upgrading&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/92&quot;&gt;#92&lt;/a&gt; Setup CI during nightly build &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/89&quot;&gt;#89&lt;/a&gt; ClientTest failing with latest Keycloak nightly &lt;span class=&quot;badge bg-secondary&quot;&gt;client&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-client-2601-released</guid>
        <pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.0.1 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-2601-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32152&quot;&gt;#32152&lt;/a&gt; Clarify the behaviour of multiple Operator versions installed in the same cluster &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33275&quot;&gt;#33275&lt;/a&gt; Better logging when error happens during transaction commit &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-2601-released</guid>
        <pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Meet Keycloak at KubeCon Salt Lake City, Utah in Nov 2024</title>
        <link>https://www.keycloak.org/2024/10/keycloak-kubeconf24-na-slc-announcement</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are thrilled to announce that Keycloak will be at KubeCon Salt Lake City, Utah in Nov 2024. There are several Keycloak specific sessions lined up during this conference, and we will be hosting a Kiosk at the Project Pavilion at KubeCon.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_kubecon&quot;&gt;What is KubeCon?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak&amp;#8217;s presence in the previous KubeCons was a huge success,
and we continue to have a lot of fun interacting with Keycloak enthusiasts, users, newcomers alike.
KubeCon is a fast-growing Cloud Native tech conference expected to have up to 8,000 developers,
architects, and technical leaders onsite as well as thousands of participants virtually.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KubeCon Salt Lake City will be held from Nov. 12th, 2024 through Nov. 15th, 2024, with many of the co-located events happening on Tuesday, Nov 12th, 2024.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;Keycloak community Meet &amp;amp; Greet at the Project Pavilion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/y-tabata&quot;&gt;Yoshiyuki Tabata&lt;/a&gt; from Hitachi, &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt;, &lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&lt;/a&gt;, &lt;a href=&quot;https://github.com/kami619&quot;&gt;Kamesh Akella&lt;/a&gt; from Red Hat and other contributors will be at the Keycloak kiosk at the &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/project-engagement/#project-pavilion&quot;&gt;Project Pavilion&lt;/a&gt;. This is a great chance to meet people who use Keycloak, contribute to Keycloak, take our survey about new Keycloak features, and get some cool swag!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak Kiosk opening hours:&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, November 13: 3:15pm-8:00pm&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thursday, November 14: 1:45pm–5:00pm&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Friday, November 15: 12:30pm-2:30pm&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_openshift_commons_gathering&quot;&gt;OpenShift Commons Gathering&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The OpenShift Commons Gathering happens on Tuesday (Nov. 12th, 2024) and builds connections and collaboration across OpenShift communities, projects and stakeholders. Some maintainers from the Keycloak development team will be here during the afternoon. This gives a chance for more community Keycloak maintainers, contributors, and users to meet and share their ideas or just hang out. Access to the OpenShift Commons event is free and does not require a paid KubeCon ticket, &lt;a href=&quot;https://commons.openshift.org/gatherings/kubecon-24-nov-12/&quot;&gt;still you’ll need to register on their website in advance&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_specific_events_at_kubecon&quot;&gt;Keycloak specific events at KubeCon&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Below is the Keycloak specific event that the attendees both in-person and virtually can plan to attend and learn more about a Highly Available Keycloak deployed in a Multi-Site environment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Friday, November 15, 4:55pm - 5:30pm MST(UTC-7)&lt;br&gt;
&lt;a href=&quot;https://kccncna2024.sched.com/event/1hoyn/running-a-highly-available-identity-and-access-management-with-keycloak-ryan-emerson-kameswararao-akella-red-hat?iframe=no&quot;&gt;&lt;strong&gt;Running a Highly Available Identity and Access Management with Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Ryan Emerson &amp;amp; Kameswararao Akella, Red Hat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re preparing for KubeCon SLC 2024 and can&amp;#8217;t wait to connect with our community. Mark your calendars and join us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in Salt Lake City, Utah!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-kubeconf24-na-slc-announcement</guid>
        <pubDate>Thu, 10 Oct 2024 00:00:00 GMT</pubDate>
        
        <author>Kamesh Akella</author>
      </item>
      <item>
        <title>Backwards compatibility in Keycloak releases</title>
        <link>https://www.keycloak.org/2024/10/release-updates</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With four major releases of Keycloak every year it can be a daunting task to keep deployments up to date. Especially,
since &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the number of breaking changes have drastically increased the last couple years&lt;/a&gt;.
Combine this with the importance of patching deployments quickly for vulnerabilities, this can leave many deployments
open to known vulnerabilities as the time and effort required to update to &lt;a href=&quot;https://github.com/keycloak/keycloak/security/policy&quot;&gt;the latest release&lt;/a&gt; is too costly.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Additionally, currently Keycloak client libraries are released together with the server, resulting in new major versions
of a client library, where in fact there can be no changes at all, or perhaps only a bug fix or two.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For these reasons, after Keycloak 26.0 is released there will be some changes to how Keycloak is being released:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak server will have 4 minor releases every year, and a major release every 2-3 years&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keycloak client libraries will be released separately. The latest client library release will support all currently supported Keycloak server releases&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will continue to bring new features and enhancements to Keycloak in each release, and we are committed to doing so
in a backwards compatible way, making it seamless and easy to upgrade.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When a minor comes with breaking changes, such changes will be opt-in. This will be driven through versioning
where the currently default version for a Feature or an API can not change in a minor release, and there will be a new
version that can be explicitly enabled. The current version of a Feature or API can be deprecated in a minor, but will
not be removed until the next major version. This will allow you to gradually roll-out new Feature or API versions separately
from upgrading. You can choose to get ready for the next major release early, or wait and do it in one
go.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Backwards compatibility guarantees will only be given to Features and APIs that are fully supported. Preview features or preview APIs,
as well as non-public APIs may change at any time.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/10/release-updates</guid>
        <pubDate>Tue, 8 Oct 2024 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 26.0.0 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-2600-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_organizations_supported&quot;&gt;Organizations supported&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with Keycloak 26, the Organizations feature is fully supported.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_client_libraries_updates&quot;&gt;Client libraries updates&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_dedicated_release_cycle_for_the_client_libraries&quot;&gt;Dedicated release cycle for the client libraries&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The client libraries are these artifacts:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Java admin client - Maven artifact &lt;code&gt;org.keycloak:keycloak-admin-client&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java authorization client - Maven artifact &lt;code&gt;org.keycloak:keycloak-authz-client&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java policy enforcer - Maven artifact &lt;code&gt;org.keycloak:keycloak-policy-enforcer&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible that in the future, some more libraries will be included.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_compatibility_of_the_client_libraries_with_the_server&quot;&gt;Compatibility of the client libraries with the server&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Beginning with this release, we are testing and supporting client libraries with the same server version and a few previous major server versions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For details about supported versions of client libraries with server versions, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/#_upgrade_client_libraries&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_user_sessions_persisted_by_default&quot;&gt;User sessions persisted by default&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 25 introduced the feature &lt;code&gt;persistent-user-sessions&lt;/code&gt;. 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible to revert this behavior to the previous state by disabling the feature. Follow the &lt;code&gt;Volatile user sessions&lt;/code&gt; section in &lt;a href=&quot;https://www.keycloak.org/server/caching&quot;&gt;Configuring distributed caches&lt;/a&gt; guide for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to upgrade, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_default_login_theme&quot;&gt;New default login theme&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is now a new version (&lt;code&gt;v2&lt;/code&gt;) of the &lt;code&gt;keycloak&lt;/code&gt; login theme, which provides an improved look and feel, including support for switching automatically to a dark theme based on user preferences.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The previous version (&lt;code&gt;v1&lt;/code&gt;) is now deprecated, and will be removed in a future release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For all new realms, &lt;code&gt;keycloak.v2&lt;/code&gt; will be the default login theme.  Also, any existing realm that never explicitly set a login theme will be switched to &lt;code&gt;keycloak.v2&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_highly_available_multi_site_deployments&quot;&gt;Highly available multi-site deployments&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 26 introduces significant improvements to the recommended HA multi-site architecture, most notably:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak deployments are now able to handle user requests simultaneously in both sites.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Active monitoring of the connectivity between the sites is now required to update the replication between the sites in case of a failure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Persistent user sessions are now a requirement of the architecture. Consequently, user sessions will be kept
on Keycloak or Infinispan upgrades.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to migrate, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_admin_bootstrapping_and_recovery&quot;&gt;Admin Bootstrapping and Recovery&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to run the &lt;code&gt;start&lt;/code&gt; or &lt;code&gt;start-dev&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For detailed instructions and more information on this topic, refer to the &lt;a href=&quot;https://www.keycloak.org/server/bootstrap-admin-recovery&quot;&gt;Admin Bootstrap and Recovery&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_opentelemetry_tracing_preview&quot;&gt;OpenTelemetry Tracing preview&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the &lt;a href=&quot;https://www.keycloak.org/server/tracing&quot;&gt;Enabling Tracing&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openid_for_verifiable_credential_issuance&quot;&gt;OpenID for Verifiable Credential Issuance&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;Keycloak OAuth SIG&lt;/a&gt;. Anyone from the Keycloak community is welcome to join.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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
&lt;a href=&quot;https://github.com/francis-pouatcha&quot;&gt;Francis Pouatcha&lt;/a&gt;, &lt;a href=&quot;https://github.com/Captain-P-Goldfish&quot;&gt;Pascal Knüppel&lt;/a&gt;, &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt;,
&lt;a href=&quot;https://github.com/IngridPuppet&quot;&gt;Ingrid Kamga&lt;/a&gt;, &lt;a href=&quot;https://github.com/wistefan&quot;&gt;Stefan Wiedemann&lt;/a&gt; and &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_dpop_improvements&quot;&gt;DPoP improvements&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;code&gt;authorization_code&lt;/code&gt; grant type. Support also exists for the DPoP token type on the UserInfo endpoint.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/Captain-P-Goldfish&quot;&gt;Pascal Knüppel&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removal_of_gelf_logging_handler&quot;&gt;Removal of GELF logging handler&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://www.keycloak.org/server/logging&quot;&gt;Logging guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_lightweight_access_tokens_for_admin_rest_api&quot;&gt;Lightweight access tokens for Admin REST API&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Lightweight access tokens can now be used on the admin REST API. The &lt;code&gt;security-admin-console&lt;/code&gt; and &lt;code&gt;admin-cli&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_javascript_adapter_now_standalone&quot;&gt;Keycloak JavaScript adapter now standalone&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For a complete breakdown of the changes consult the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_hostname_v1_feature_removed&quot;&gt;Hostname v1 feature removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;a href=&quot;https://www.keycloak.org/server/hostname&quot;&gt;Configuring the hostname (v2)&lt;/a&gt; and &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#new-hostname-options&quot;&gt;the initial migration guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_automatic_redirect_from_root_to_relative_path&quot;&gt;Automatic redirect from root to relative path&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;User is automatically redirected to the path where Keycloak is hosted when the &lt;code&gt;http-relative-path&lt;/code&gt; property is specified.
It means when the relative path is set to &lt;code&gt;/auth&lt;/code&gt;, and the user access &lt;code&gt;localhost:8080/&lt;/code&gt;, the page is redirected to &lt;code&gt;localhost:8080/auth&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The same applies to the management interface when the &lt;code&gt;http-management-relative-path&lt;/code&gt; or &lt;code&gt;http-relative-path&lt;/code&gt; property is specified.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It improves user experience as users no longer need to set the relative path to the URL explicitly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_persisting_revoked_access_tokens_across_restarts&quot;&gt;Persisting revoked access tokens across restarts&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to migrate, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_client_attribute_condition_in_client_policies&quot;&gt;Client Attribute condition in Client Policies&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/y-tabata&quot;&gt;Yoshiyuki Tabata&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_specify_different_log_levels_for_log_handlers&quot;&gt;Specify different log levels for log handlers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible to specify log levels for all available log handlers, such as &lt;code&gt;console&lt;/code&gt;, &lt;code&gt;file&lt;/code&gt;, or &lt;code&gt;syslog&lt;/code&gt;.
The more fine-grained approach provides the ability to control logging over the whole application and be tailored to your needs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the &lt;a href=&quot;https://www.keycloak.org/server/logging&quot;&gt;Logging guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_proxy_option_removed&quot;&gt;Proxy option removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The deprecated &lt;code&gt;proxy&lt;/code&gt; option was removed. This option was deprecated in Keycloak 24 and replaced by the &lt;code&gt;proxy-headers&lt;/code&gt; option in combination with hostname options as needed. For more details, see &lt;a href=&quot;https://www.keycloak.org/server/reverseproxy&quot;&gt;using a reverse proxy&lt;/a&gt; and &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#deprecated-proxy-option&quot;&gt;the initial migration guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_option_proxy_trusted_addresses_added&quot;&gt;Option &lt;code&gt;proxy-trusted-addresses&lt;/code&gt; added&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;proxy-trusted-addresses&lt;/code&gt; can be used when the &lt;code&gt;proxy-headers&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_option_proxy_protocol_enabled_added&quot;&gt;Option &lt;code&gt;proxy-protocol-enabled&lt;/code&gt; added&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;proxy-protocol-enabled&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_option_to_reload_trust_and_key_material_added&quot;&gt;Option to reload trust and key material added&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;https-certificates-reload-period&lt;/code&gt; 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).&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_options_to_configure_cache_max_count_added&quot;&gt;Options to configure cache max-count added&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;--cache-embedded-${CACHE_NAME}-max-count=&lt;/code&gt; can be set to define an upper bound on the number of cache entries in the specified cache.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_the_https_trust_store_options_have_been_undeprecated&quot;&gt;The &lt;code&gt;https-trust-store-*&lt;/code&gt; options have been undeprecated&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Based on the community feedback, we decided to undeprecate &lt;code&gt;https-trust-store-*&lt;/code&gt; options to allow better granularity in trusted certificates.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_the_java_keystore_key_provider_supports_more_algorithms_and_vault_secrets&quot;&gt;The &lt;code&gt;java-keystore&lt;/code&gt; key provider supports more algorithms and vault secrets&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;java-keystore&lt;/code&gt; 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 &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/server_admin/#_vault-administration&quot;&gt;vault&lt;/a&gt;. Therefore a Keycloak realm can externalize any key to the encrypted file without sensitive data stored in the database.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about this subject, see &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/server_admin/#realm_keys&quot;&gt;Configuring realm keys&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_adding_support_for_ecdh_es_encryption_key_management_algorithms&quot;&gt;Adding support for ECDH-ES encryption key management algorithms&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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: &lt;code&gt;epk&lt;/code&gt;, &lt;code&gt;apu&lt;/code&gt; and &lt;code&gt;apv&lt;/code&gt;. Currently Keycloak implementation only manages the compulsory &lt;code&gt;epk&lt;/code&gt; while the other two (which are optional) are never added to the header. For more information about those algorithms please refer to the &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7518#section-4.6&quot;&gt;JSON Web Algorithms (JWA)&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also, a new key provider, &lt;code&gt;ecdh-generated&lt;/code&gt;, is available to generate realm keys and support for ECDH algorithms is added into the Java KeyStore provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Many thanks to &lt;a href=&quot;https://github.com/justin-tay&quot;&gt;Justin Tay&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_support_for_multiple_instances_of_a_social_broker_in_a_realm&quot;&gt;Support for multiple instances of a social broker in a realm&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to have multiple instances of the same social broker in a realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Most of the time a realm does not need multiple instances of the same social broker. But due to the introduction
of the &lt;code&gt;organization&lt;/code&gt; feature, it should be possible to link different instances of the same social broker
to different organizations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When creating a social broker, you should now provide an &lt;code&gt;Alias&lt;/code&gt; and optionally a &lt;code&gt;Display name&lt;/code&gt; just like any other
broker.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_generalized_event_types_for_credentials&quot;&gt;New generalized event types for credentials&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There are now generalized events for updating (&lt;code&gt;UPDATE_CREDENTIAL&lt;/code&gt;) and removing (&lt;code&gt;REMOVE_CREDENTIAL&lt;/code&gt;) a credential. The credential type is described in the &lt;code&gt;credential_type&lt;/code&gt; attribute of the events. The new event types are supported by the Email Event Listener.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following event types are now deprecated and will be removed in a future version: &lt;code&gt;UPDATE_PASSWORD&lt;/code&gt;, &lt;code&gt;UPDATE_PASSWORD_ERROR&lt;/code&gt;, &lt;code&gt;UPDATE_TOTP&lt;/code&gt;, &lt;code&gt;UPDATE_TOTP_ERROR&lt;/code&gt;, &lt;code&gt;REMOVE_TOTP&lt;/code&gt;, &lt;code&gt;REMOVE_TOTP_ERROR&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_customizable_footer_in_login_themes&quot;&gt;Customizable Footer in login Themes&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;template.ftl&lt;/code&gt; file in the &lt;code&gt;base/login&lt;/code&gt; and the &lt;code&gt;keycloak.v2/login&lt;/code&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The new &lt;code&gt;footer.ftl&lt;/code&gt; template provides a &lt;code&gt;content&lt;/code&gt; macro that is rendered at the bottom of the &quot;login box&quot;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_cr_supports_standard_scheduling_options&quot;&gt;Keycloak CR supports standard scheduling options&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak CR now exposes first class properties for controlling the scheduling of your Keycloak Pods.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/operator/advanced-configuration&quot;&gt;Operator Advanced Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloakrealmimport_cr_supports_placeholder_replacement&quot;&gt;KeycloakRealmImport CR supports placeholder replacement&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The KeycloakRealmImport CR now exposes &lt;code&gt;spec.placeholders&lt;/code&gt; to create environment variables for placeholder replacement in the import.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/operator/realm-import&quot;&gt;Operator Realm Import&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuring_the_ldap_connection_pool&quot;&gt;Configuring the LDAP Connection Pool&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, the LDAP connection pool configuration relies solely on system properties.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/server_admin/#_ldap_connection_pool&quot;&gt;Configuring the connection pool&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_infinispan_marshalling_changes_to_infinispan_protostream&quot;&gt;Infinispan marshalling changes to Infinispan Protostream&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock warning&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Warning&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
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.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Infinispan Protostream is based on &lt;a href=&quot;https://protobuf.dev/programming-guides/proto3/&quot;&gt;Protocol Buffers&lt;/a&gt; (proto 3), which has the advantage of backwards/forwards compatibility.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removal_of_osgi_metadata&quot;&gt;Removal of OSGi metadata&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since all of the Java adapters that used OSGi metadata have been removed we have stopped generating OSGi metadata for our jars.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_group_related_events_no_longer_fired_when_removing_a_realm&quot;&gt;Group-related events no longer fired when removing a realm&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 &lt;code&gt;GroupRemovedEvent&lt;/code&gt; are no longer fired when removing a realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to migrate, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_identity_providers_no_longer_available_from_the_realm_representation&quot;&gt;Identity Providers no longer available from the realm representation&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to migrate, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_securing_applications_documentation_converted_into_the_guide_format&quot;&gt;Securing Applications documentation converted into the guide format&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;em&gt;Securing Applications and Services&lt;/em&gt; documentation was converted into the new format similar to the &lt;em&gt;Server Installation and Configuration&lt;/em&gt; documentation converted in the previous releases.
The documentation is now available under &lt;a href=&quot;https://www.keycloak.org/guides&quot;&gt;Keycloak Guides&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removal_of_legacy_cookies&quot;&gt;Removal of legacy cookies&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak no longer sends &lt;code&gt;_LEGACY&lt;/code&gt; cookies, which where introduced as a work-around to older browsers not supporting
the &lt;code&gt;SameSite&lt;/code&gt; flag on cookies.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;_LEGACY&lt;/code&gt; 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 &lt;code&gt;http&lt;/code&gt; outside
of &lt;code&gt;localhost&lt;/code&gt;. As an alternative to the &lt;code&gt;_LEGACY&lt;/code&gt; cookies Keycloak now doesn&amp;#8217;t set the &lt;code&gt;secure&lt;/code&gt; flag and sets &lt;code&gt;SameSite=Lax&lt;/code&gt;
instead of &lt;code&gt;SameSite=None&lt;/code&gt; when it detects an insecure context is used.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_property_origin_in_the_userrepresentation_is_deprecated&quot;&gt;Property &lt;code&gt;origin&lt;/code&gt; in the &lt;code&gt;UserRepresentation&lt;/code&gt; is deprecated&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;origin&lt;/code&gt; property in the &lt;code&gt;UserRepresentation&lt;/code&gt; is deprecated and planned to be removed in future releases.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Instead, prefer using the &lt;code&gt;federationLink&lt;/code&gt; property to obtain the provider to which a user is linked with.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;

&lt;h3&gt;Deprecated features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/600&quot;&gt;#600&lt;/a&gt; De-couple quickstarts from statically served Keycloak JS &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

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

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

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

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-2600-released</guid>
        <pubDate>Fri, 4 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.0 released</title>
        <link>https://www.keycloak.org/2024/10/keycloak-client-2600-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_dedicated_release_cycle_for_the_client_libraries&quot;&gt;Dedicated release cycle for the client libraries&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The client libraries are these artifacts:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Java admin client - Maven artifact &lt;code&gt;org.keycloak:keycloak-admin-client&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java authorization client - Maven artifact &lt;code&gt;org.keycloak:keycloak-authz-client&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java policy enforcer - Maven artifact &lt;code&gt;org.keycloak:keycloak-policy-enforcer&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible that in the future, some more libraries will be included.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_compatibility_of_the_client_libraries_with_the_server&quot;&gt;Compatibility of the client libraries with the server&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Beginning with this release, we are testing and supporting client libraries with the same server version and a few previous major server versions.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/securing-apps/upgrading&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

</description>
        <guid>https://www.keycloak.org/2024/10/keycloak-client-2600-released</guid>
        <pubDate>Fri, 4 Oct 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 25.0.6 released</title>
        <link>https://www.keycloak.org/2024/09/keycloak-2506-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30604&quot;&gt;#30604&lt;/a&gt; Network response was not OK. &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31165&quot;&gt;#31165&lt;/a&gt; Re-enabling a temporarily locked user (brute-force) deletes all user properties and attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32100&quot;&gt;#32100&lt;/a&gt; Remember Me with External Infinispan is not works properly &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32578&quot;&gt;#32578&lt;/a&gt; WebAuthn Flows Broken in login.v2 &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32643&quot;&gt;#32643&lt;/a&gt; Dots are not allowed in the path in Hostname v2 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32731&quot;&gt;#32731&lt;/a&gt; KeyCloak Admin Client uses non-standard `@NoCache` annotation which is an issue for Quarkus &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32799&quot;&gt;#32799&lt;/a&gt; Realm import fails when client configures default_acr values &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32870&quot;&gt;#32870&lt;/a&gt; Increased DB activity due to changes in LDAPStorageManager.searchForUserByUserAttributeStream &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33115&quot;&gt;#33115&lt;/a&gt; CVE-2024-8883 Vulnerable Redirect URI Validation Results in Open Redirect &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33116&quot;&gt;#33116&lt;/a&gt; CVE-2024-8698 Improper Verification of SAML Responses Leading to Privilege Escalation in Keycloak &lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/09/keycloak-2506-released</guid>
        <pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Realm Configuration Management Tools Survey Results</title>
        <link>https://www.keycloak.org/2024/09/realm-config-management-tools-survey-results</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Three months ago, the &lt;a href=&quot;https://www.keycloak.org/2024/06/realm-config-manamagemtn-tools-survey&quot;&gt;Keycloak project conducted a survey&lt;/a&gt; to gather insights on realm configuration tooling within our community. The number of responses overwhelmed us! With &lt;strong&gt;a total of 433 (!) submissions&lt;/strong&gt;, it highlighted the diverse range of options our community uses for configuring realms.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Thank You for your valuable feedback!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_popular_tools_in_use&quot;&gt;Popular Tools in Use&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;a href=&quot;https://www.keycloak.org/resources/images/blog/2024-keycloak-realm-configuration-survey-results.png&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/2024-keycloak-realm-configuration-survey-results.png&quot; alt=&quot;Keycloak Realm Configuration Management Tools Survey Results&quot; style=&quot;width: 100%; max-width: 800px; height: auto;&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The survey revealed a variety of tools employed by the community for realm configuration, including:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mrparkers/terraform-provider-keycloak&quot;&gt;Terraform Provider for Keycloak&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/adorsys/keycloak-config-cli&quot;&gt;Keycloak-Config-CLI&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Self-developed Realm Configuration Management&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/server/importExport&quot;&gt;Keycloak JSON Import/Export&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#admin-cli&quot;&gt;Keycloak Admin CLI kcadm.sh&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/epam/edp-keycloak-operator&quot;&gt;EPAM Keycloak Operator&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ansible-middleware/keycloak&quot;&gt;Keycloak Ansible&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.pulumi.com/registry/packages/keycloak/&quot;&gt;Keycloak Pulumi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Custom Operator for Realm Import/Update and Client Provisioning&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/operator/advanced-configuration&quot;&gt;Keycloak Operator Realm Import via Custom Resources&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/crossplane-contrib/provider-keycloak&quot;&gt;Crossplane Provider for Keycloak&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mayope/keycloakmigration&quot;&gt;KeycloakMigration&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/CycriLabs/keycloak-configurator&quot;&gt;keycloak-configurator&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/malys/keycloak-groovy-helpers&quot;&gt;Keycloak Groovy Helpers&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_tool_usage_distribution&quot;&gt;Tool Usage Distribution&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;From the submissions, we observed the following distribution of tool usage among respondents:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Terraform Keycloak Provider&lt;/strong&gt; ~51% of the votes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keycloak-Config-CLI&lt;/strong&gt; ~16% of the votes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Self-developed Realm Configuration Management&lt;/strong&gt; ~7% of the votes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keycloak JSON Realm Import/Export&lt;/strong&gt; ~6% of the votes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keycloak Admin CLI&lt;/strong&gt; ~4% of the votes&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These top five tools accounted for 84% of all responses.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_areas_for_improvement&quot;&gt;Areas for Improvement&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While each tool has its strengths and weaknesses, the survey highlighted several common challenges:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Using the Admin API can be awkward and inconsistent, for example, with references using IDs versus aliases.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Recognizing changes in the configuration, such as when new roles are added to service accounts via the Admin UI, can be challenging or impossible.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Many tools depend heavily on the Keycloak version used and are often not compatible with new releases.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managing components that are automatically created by Keycloak, like service accounts, is challenging with existing configuration tools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lack of support for configuration linting, validation and code completion&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_next&quot;&gt;What&amp;#8217;s Next?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Based on the feedback, here are some key lessons learned and the next steps:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tool Compatibility&lt;/strong&gt;: We aim at improving compatibility with newer Keycloak releases to ensure seamless integration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Admin API Enhancements&lt;/strong&gt;: We’ll address inconsistencies and usability issues in the Admin API to streamline configuration tasks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ease Change Management&lt;/strong&gt;: Enhance tools and APIs to improve the recognition and change management of realm configurations.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are committed to addressing these areas and working closely with the community to enhance the realm configuration experience in Keycloak. Your continued feedback and support are invaluable as we move forward. Stay tuned for updates and improvements!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have any further questions or suggestions about this blog post, please join the related &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/32778&quot;&gt;discussion on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you very much for your support!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/09/realm-config-management-tools-survey-results</guid>
        <pubDate>Wed, 11 Sep 2024 00:00:00 GMT</pubDate>
        
        <author>Thomas Darimont</author>
      </item>
      <item>
        <title>Keycloak 25.0.5 released</title>
        <link>https://www.keycloak.org/2024/09/keycloak-2505-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32084&quot;&gt;#32084&lt;/a&gt; SAML adapter IdMapperUpdaterSessionListener not executed when session ID changes &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32754&quot;&gt;#32754&lt;/a&gt; CVE-2024-7341 Session fixation in the SAML adapters &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/saml&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/09/keycloak-2505-released</guid>
        <pubDate>Tue, 10 Sep 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Announcing New Keycloak UI Component Libraries!</title>
        <link>https://www.keycloak.org/2024/09/keycloak-customizable-ui</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re excited to announce the release of two new npm packages designed to supercharge your Keycloak customization efforts.
These React component libraries, built on top of PatternFly, provide the essential building blocks for crafting Keycloak account and admin consoles.  The tool generates sample code for a custom console using our &quot;Composable UI&quot; technique.  Essentially, this means that you can build your console out of exported Keycloak components that we intend to support in future releases.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The packages are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.npmjs.com/package/@keycloak/keycloak-admin-ui&quot;&gt;@keycloak/keycloak-admin-ui&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This package provides the building blocks for creating a Keycloak admin console.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.npmjs.com/package/@keycloak/keycloak-account-ui&quot;&gt;@keycloak/keycloak-account-ui&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This package provides the building blocks for creating a Keycloak account console.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.npmjs.com/package/@keycloak/ui-shared&quot;&gt;@keycloak/ui-shared&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This package provides shared components and utilities for building Keycloak UIs.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_accelerate_your_development_with_our_quickstart_tool&quot;&gt;Accelerate Your Development with Our Quickstart Tool&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Kickstart your project with our npm create keycloak-theme my-theme command.
This streamlined tool generates a project structure, essential dependencies, and configuration, saving you precious time.
At the moment, the tool is only available for account consoles, but we are working on adding support for admin consoles. This will be available in the next release (26.0.0).&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_get_started&quot;&gt;Get Started:&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Run &lt;code&gt;npm create keycloak-theme@latest my-theme&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The keycloak server can be started with &lt;code&gt;npm run start-keycloak&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start the development server with &lt;code&gt;npm run dev&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Customize your theme by editing files in the src directory.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The keycloak server will connect to the development server and all the changes will be reflected in the browser.
Just open your browser and go to &lt;code&gt;http://localhost:8080/realms/master/account/personalInfo&lt;/code&gt; and login with admin/admin.
This will open the keycloak account console. You will see that the example code has an extra page and some extra content above each page.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_key_benefits&quot;&gt;Key Benefits:&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;Rapid development: Create stunning UIs in less time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Consistency: Adhere to the PatternFly design system for a cohesive look and feel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Flexibility: Customize components to match your brand and user preferences.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upgradable: Having a npm package dependency will make updating your theme easier.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/js/apps/create-keycloak-theme/README.md&quot;&gt;README&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/09/keycloak-customizable-ui</guid>
        <pubDate>Wed, 4 Sep 2024 00:00:00 GMT</pubDate>
        
        <author>Erik Jan de Wit</author>
      </item>
      <item>
        <title>Introducing the Keycloak SRE special interest group</title>
        <link>https://www.keycloak.org/2024/09/announcement-sre-sig</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After an initial installation of Keycloak, users today spend a significant amount of time optimizing their installations, keeping them up to date and secure. When doing this, they follow the principles of Site Reliability Engineers, among others automation, setting service level objectives, keeping things simple and monitoring. As of today, Keycloak doesn’t provide much documentation and best practices in that area. The Keycloak project is also looking for faster feedback on changes so that we do not break existing installations without providing migration instructions on upgrades.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To improve the lives of people running and operating Keycloak, we’re starting the Site Reliability Engineers Special Interest Group, or SRE SIG for short. The idea is to speed up the feedback loop for existing and new features and to improve the communication between people operating Keycloak in real deployments and people developing Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Desired outputs would include:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Simplifying Keycloak’s configuration and upgrade process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Collecting best practices and feedback from real-world Keycloak installations to identify and prioritize new features.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Educating users about what Keycloak can already do and what items are on the future roadmap.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_topics_to_tackle&quot;&gt;Topics to tackle&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At the initial &lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/302619131/&quot;&gt;meeting on August 19th 2024&lt;/a&gt;, we identified the following topics as initial discussion points to tackle by the group:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;How to load test Keycloak?&lt;br&gt;
(Introduction of keycloak-benchmark project, identifying possible enhancements and presenting custom community solutions)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What are the right metrics of Keycloak to watch and how to visualize them in a dashboard?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can we simplify how Keycloak is configured and set up?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_call_to_action&quot;&gt;Call to action&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We have yet to decide what our regular meetings and cadence will look like, and we will discuss all the details in the Slack channel mentioned above. So stay tuned, join the &lt;a href=&quot;https://cloud-native.slack.com/channels/keycloak-sre-sig&quot;&gt;#keycloak-sre-sig Slack channel&lt;/a&gt; and share your story with the group to better understand your needs and expectations!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_communication_channels&quot;&gt;Communication channels&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To receive the latest information about what is happening in the SIG join us in our &lt;a href=&quot;https://cloud-native.slack.com/channels/keycloak-sre-sig&quot;&gt;CNCF #keycloak-sre-sig Slack channel&lt;/a&gt;.
Use &lt;a href=&quot;https://slack.cncf.io/&quot; class=&quot;bare&quot;&gt;https://slack.cncf.io/&lt;/a&gt; to join the CNCF Slack if you do not have an account yet.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For sharing documents and following the activities of SIG proceed to the &lt;a href=&quot;https://github.com/keycloak/keycloak-sre-sig&quot;&gt;keycloak/keycloak-sre-sig GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/09/announcement-sre-sig</guid>
        <pubDate>Tue, 3 Sep 2024 00:00:00 GMT</pubDate>
        
        <author>Michal Hajas, Alexander Schwartz</author>
      </item>
      <item>
        <title>KeyConf24 program announced &amp; livestream</title>
        <link>https://www.keycloak.org/2024/08/keyconf24-program-published</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeyConf24, our 2024 Keycloak Identity Summit, will happen on September 19th, which is just around the corner! This year&amp;#8217;s event promises to be even bigger and better, with a program packed
full of relevant, cutting-edge topics.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year due to high demand and limited space on-site, we&amp;#8217;re offering for the first time a live stream, so the Keycloak community can join remotely.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_what_to_expect_at_keyconf24&quot;&gt;What to Expect at KeyConf24&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The talks have been selected, and the program is now online at &lt;a href=&quot;https://keyconf.dev/&quot; class=&quot;bare&quot;&gt;https://keyconf.dev/&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Expect talks about:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;European Digital Identity Wallet:&lt;/strong&gt; Deep dives into the European Union&amp;#8217;s ambitious initiative and its impact on identity management.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verifiable Credentials:&lt;/strong&gt; Explore the exciting potential of decentralized identity verification and the role of Keycloak.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Real-world Keycloak integrations:&lt;/strong&gt; Technical sessions on Keycloak’s capabilities and how to leverage them in real world scenarios like the banking industry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New and upcoming features in Keycloak:&lt;/strong&gt; Hear about the new organisations and user profile features which are available in the latest releases of Keycloak, as well as the next upcoming features.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_save_the_date_and_join_us_in_the_live_stream&quot;&gt;Save the Date and join us in the live stream!&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can register for the live stream at &lt;a href=&quot;https://keyconf.dev/&quot; class=&quot;bare&quot;&gt;https://keyconf.dev/&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re excited and are looking forward to meeting you at our event. Let&amp;#8217;s continue to shape the future of identity together!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/08/keyconf24-program-published</guid>
        <pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 25.0.4 released</title>
        <link>https://www.keycloak.org/2024/08/keycloak-2504-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31963&quot;&gt;#31963&lt;/a&gt; Upgrade to Infinispan 15.0.7.Final &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31299&quot;&gt;#31299&lt;/a&gt; NPM library of account-ui is unusable (@keycloak/keycloak-account-ui version 25.0.1) &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31304&quot;&gt;#31304&lt;/a&gt; Hide save / update buttons in account console for READ_ONLY federated accounts &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31340&quot;&gt;#31340&lt;/a&gt; Hidden options shown in help all &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31386&quot;&gt;#31386&lt;/a&gt; Joining group for user doesn&#39;t list correct number of groups &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31466&quot;&gt;#31466&lt;/a&gt; Duplicate Key &quot;validatingX509CertsHelp&quot; in admin-ui messages &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31519&quot;&gt;#31519&lt;/a&gt; Admin API extremely slow with service account and fine-grained authorization `view-users` &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/fine-grained-permissions&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31545&quot;&gt;#31545&lt;/a&gt; Event tables have broken aria-labels &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31558&quot;&gt;#31558&lt;/a&gt; MSSQL test container can&#39;t start &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31598&quot;&gt;#31598&lt;/a&gt; CURL commands in build don&#39;t check the response code &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31633&quot;&gt;#31633&lt;/a&gt; localization not work with user attribute display name in users add &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31687&quot;&gt;#31687&lt;/a&gt; &quot;Use metadata descriptor URL&quot; switch is always set to &quot;On&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31718&quot;&gt;#31718&lt;/a&gt; Documentation for `Delete Credential` action and related changes &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31781&quot;&gt;#31781&lt;/a&gt; Keycloak 25 SAML IdP has made Single Logout URL mandatory. &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31835&quot;&gt;#31835&lt;/a&gt; Windows builds fail too often due to problems with the download of Node &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31918&quot;&gt;#31918&lt;/a&gt; Network error attempting to view events without permissions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31929&quot;&gt;#31929&lt;/a&gt; Network error attempting to view user registeration without permissions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32059&quot;&gt;#32059&lt;/a&gt; Look around window cannot be set to 0 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32127&quot;&gt;#32127&lt;/a&gt; Offline session bug on 25.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32150&quot;&gt;#32150&lt;/a&gt; Session list doesn&#39;t handle non-existing client gracefully &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32178&quot;&gt;#32178&lt;/a&gt; Table names for persistent sessions upgrading guide is wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32180&quot;&gt;#32180&lt;/a&gt; Session list not appearing: SQL Error &quot;The incoming request has too many parameters&quot; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32195&quot;&gt;#32195&lt;/a&gt; Migration to persistent sessions fails from Keycloak version &lt;22 &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/08/keycloak-2504-released</guid>
        <pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak DevDay 2025 Announcement and Call-for-Papers</title>
        <link>https://www.keycloak.org/2024/08/keycloak-devday-2025-announcement</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We (&lt;a href=&quot;https://github.com/srose&quot;&gt;Sebastian&lt;/a&gt; and &lt;a href=&quot;https://www.n-k.de&quot;&gt;me (Niko)&lt;/a&gt;) are excited to announce the next edition of &lt;strong&gt;Keycloak DevDay!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_save_the_date&quot;&gt;Save the Date&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;DevDay is taking place in &lt;strong&gt;Darmstadt, Germany&lt;/strong&gt; on &lt;strong&gt;March, 6th 2025&lt;/strong&gt;.
The location is about 30 minutes away from Frankfurt/Main Airport by public transport, see &lt;a href=&quot;https://keycloak-day.dev&quot;&gt;website&lt;/a&gt; for details.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It will be again a 1-day conference with talks, panels, discussions and an OpenSpace/Unconference format, with lots of opportunities for networking and exchange among like-minded people.
Of course, there will also be plenty of drinks 🥤🍹 and food 🍔🌮🥗, as well as an exclusive surprise gift 🎁 for all participants.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_call_for_papers&quot;&gt;Call for Papers&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;a href=&quot;https://keycloak-day.dev&quot;&gt;call for papers 📝 is already open&lt;/a&gt; (approx. until mid of October). If you would like to submit a talk proposal, you should not wait too long, as we will regularly review and publish the submitted proposals. So submitting early gives you the best chance of being part of the next DevDay!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_tickets&quot;&gt;Tickets&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Ticket sales 🎟️ will start in mid-September.
This time, there will be more tickets available than at the first edition.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Find all further information at &lt;a href=&quot;https://keycloak-day.dev&quot; class=&quot;bare&quot;&gt;https://keycloak-day.dev&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are looking forward to welcoming as many of you as possible (again) at the upcoming event.
If you have any further questions, get in touch via email: &lt;a href=&quot;mailto:info@keycloak-day.dev&quot;&gt;info@keycloak-day.dev&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/08/keycloak-devday-2025-announcement</guid>
        <pubDate>Sun, 18 Aug 2024 00:00:00 GMT</pubDate>
        
        <author>Niko Köbler</author>
      </item>
      <item>
        <title>Keycloak 25.0.2 released</title>
        <link>https://www.keycloak.org/2024/07/keycloak-2502-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30094&quot;&gt;#30094&lt;/a&gt; Do not inherit &#39;https-client-auth&#39; property for the management interface &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30537&quot;&gt;#30537&lt;/a&gt; Document how Admin REST API endpoints work with Hostname config &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30856&quot;&gt;#30856&lt;/a&gt; Remove inclusive language foreword &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19070&quot;&gt;#19070&lt;/a&gt; authBaseUrl error on different hostname-admin-url, hostname-url &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26042&quot;&gt;#26042&lt;/a&gt; Issue when start-dev in 23.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28489&quot;&gt;#28489&lt;/a&gt; Missing help text on tokens tab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29407&quot;&gt;#29407&lt;/a&gt; Need refresh attributes group translations on Users &gt; Details tab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29566&quot;&gt;#29566&lt;/a&gt; User Profile attributes/groups in Admin UI are not translated using Localization for non-master realm when signed in the master realm &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29761&quot;&gt;#29761&lt;/a&gt; bug: disabling all default features no longer works &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29784&quot;&gt;#29784&lt;/a&gt; Exception while trying to run a LDAP sync with a group importer and a batch size less then the actual number of groups &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30329&quot;&gt;#30329&lt;/a&gt; Client secret rotation UI shows wrong rotated secret &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30355&quot;&gt;#30355&lt;/a&gt; New operator failing on health checks &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30383&quot;&gt;#30383&lt;/a&gt; Account Console (v3) no longer highlights the current page in the nav bar &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30436&quot;&gt;#30436&lt;/a&gt; Client Roles are not shown when clientId property is set &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30440&quot;&gt;#30440&lt;/a&gt; UI theme bug in KC 25.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30444&quot;&gt;#30444&lt;/a&gt; Failed to evaluate permissions when fetchRoles is enabled on role policies &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30449&quot;&gt;#30449&lt;/a&gt; Migration stuck if versions incompatible &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30521&quot;&gt;#30521&lt;/a&gt; &quot;Client Offline Session Max&quot; no longer available &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30541&quot;&gt;#30541&lt;/a&gt; Account UI resources try to load from admin path instead of frontend path &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30552&quot;&gt;#30552&lt;/a&gt; After migrating from 24 to 25, the signature algorithms names do not display in drop down menu &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30591&quot;&gt;#30591&lt;/a&gt; Invalid character in spanish translation file for Identity Provider Link Template &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30652&quot;&gt;#30652&lt;/a&gt; Default server port is used instead of the management interface port in the guide about running Keycloak in a container &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30662&quot;&gt;#30662&lt;/a&gt; User policy -&gt; select user shows user id instead of user name. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30712&quot;&gt;#30712&lt;/a&gt; Remove of Multivalued Attribute due to - Adding translations when a new attribute is created &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30717&quot;&gt;#30717&lt;/a&gt; Broken external links &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30821&quot;&gt;#30821&lt;/a&gt; Testing connection to ldap on the settings page does not work in 25.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30837&quot;&gt;#30837&lt;/a&gt; Cannot find requested client with clientId &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30866&quot;&gt;#30866&lt;/a&gt; admin-cli invalid credentials &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30917&quot;&gt;#30917&lt;/a&gt; reCAPTCHA Enterprise v3 - Unrecognized field &quot;accountDefenderAssessment&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30947&quot;&gt;#30947&lt;/a&gt; Error when trying to edit authentication sub-flow name / description &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30992&quot;&gt;#30992&lt;/a&gt; Realm cannot be deleted if there are tons of consents &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31014&quot;&gt;#31014&lt;/a&gt; &quot;Verify Email&quot; may cause other Required Actions to be ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31050&quot;&gt;#31050&lt;/a&gt; Caching docs should name parameter runtime parameters, not build parameters &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31146&quot;&gt;#31146&lt;/a&gt; IDP SAML Certificate should be text-area not text &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31167&quot;&gt;#31167&lt;/a&gt; After creating a new authentication flow and returning to the list, the &quot;Used by&quot; column displays &quot;flow.undefined&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31171&quot;&gt;#31171&lt;/a&gt; Single use tokens, like action tokens,  has a claim `expiration` &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31187&quot;&gt;#31187&lt;/a&gt; Recaptcha links changed in the Google Docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31196&quot;&gt;#31196&lt;/a&gt; The check for userdn in test ldap should consider that AD proxy user can be in non DN format &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31218&quot;&gt;#31218&lt;/a&gt; Clarify if JGroups thread metrics can be shown with embedded Infinispan &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31219&quot;&gt;#31219&lt;/a&gt; [Docs] Broken link in Server Admin guide for JWT_Auth wiki &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31224&quot;&gt;#31224&lt;/a&gt; Offline tokens created in Keycloak 9 will not work on Keycloak 25 &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31244&quot;&gt;#31244&lt;/a&gt; IdP redirect URL shows hostname_admin &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/31267&quot;&gt;#31267&lt;/a&gt; multiple ldap url&#39;s not working on one realm &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/07/keycloak-2502-released</guid>
        <pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Survey on Keycloak Realm Configuration Management Tools</title>
        <link>https://www.keycloak.org/2024/06/realm-config-manamagemtn-tools-survey</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Numerous options exist for managing Keycloak Realm configurations within the Keycloak ecosystem.
We know that configuration as code is an essential topic for DevOps and that the Keycloak ecosystem needs an excellent solution to make this possible.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As the Keycloak team, we want to understand better what works best for the community and how we can improve the support for Realm configuration Management tools.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So that we in the Keycloak community have a representative picture of the configuration options used, we would also like you to participate in the &lt;a href=&quot;https://forms.gle/2PtNt9hruCwwDm5P8&quot;&gt;following brief, anonymous survey&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The options that exist on our radar are as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#admin-cli&quot;&gt;Keycloak Admin CLI kcadm.sh&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/adorsys/keycloak-config-cli&quot;&gt;Keycloak-Config-CLI&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mrparkers/terraform-provider-keycloak&quot;&gt;Terraform Provider for Keycloak&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ansible-middleware/keycloak&quot;&gt;Keycloak Ansible&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.pulumi.com/registry/packages/keycloak&quot;&gt;Pulumi Keycloak Provider&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/crossplane-contrib/provider-keycloak&quot;&gt;Crossplane Keycloak Provider&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/server/importExport&quot;&gt;Keycloak JSON Import / Export&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/operator/advanced-configuration&quot;&gt;Keycloak Operator Realm Import via Custom Resources&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hand-made Realm Configuration Management&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Join the related &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/30643&quot;&gt;discussion on GitHub&lt;/a&gt; to discuss this in more details with the Keycloak community.
And don&amp;#8217;t forget to fill out &lt;a href=&quot;https://forms.gle/2PtNt9hruCwwDm5P8&quot;&gt;the survey&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you very much for your support!&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/06/realm-config-manamagemtn-tools-survey</guid>
        <pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate>
        
        <author>Thomas Darimont</author>
      </item>
      <item>
        <title>Support for Customer Identity and Access Management (CIAM) and Multi-tenancy</title>
        <link>https://www.keycloak.org/2024/06/announcement-keycloak-organizations</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Dear Keycloak community,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to the collaborative work with a lot of folks from the community and Red Hat&amp;#8217;s IT, we are delivering in Keycloak 25 the Keycloak Organizations
feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are pleased to announce the beginning of a long journey to support Customer Identity and Access Management (CIAM) and,
to some degree, also support for multi-tenancy when a realm needs to integrate with third parties such as customers and business
partners.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak Organizations is a feature that leverages the existing Identity and Access Management (IAM)
capabilities of Keycloak to address CIAM uses cases like Business-to-Business (B2B) and Business-to-Business-to-Customer (B2B2C)
integrations. By leveraging the existing capabilities available from a realm, the first release of this feature provides
the very core capabilities to allow a realm to integrate with business partners and customers:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Manage Organizations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Manage Organization Members&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Onboard members using different strategies such as invitation links and brokering&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Decorate tokens with additional metadata about the organization that the subject belongs to&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The feature is being delivered initially as a technology preview feature with the ultimate goal to make it supported in Keycloak 26.
There are many more capabilities in the &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30180&quot;&gt;roadmap&lt;/a&gt; for this feature, and we consider this initial set of capabilities the very
core of the feature that will allow us to build more capabilities on top. For this reason, your feedback is very important
to make sure we are on the right path for solving real use cases around CIAM.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please, consider checking our nightly builds as well to check for the latest updates and what is coming in the next major release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details about the feature, consider reading the documentation available at
&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#_managing_organizations&quot;&gt;the official documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_getting_started&quot;&gt;Getting started&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Organizations feature introduces changes on how users authenticate to a realm to identify whether a user is authenticating
in the scope of an organization or the realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the key changes introduced by the feature in terms of authentication is the introduction of an identity-fist login flow whenever
you are authenticating to a realm that has the &lt;strong&gt;Organizations&lt;/strong&gt; setting enabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_start_keycloak&quot;&gt;Start Keycloak&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Organization feature is a technology preview feature that needs to be enabled when starting (or building an optimized image of) the server:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;docker run --name kc-orgs -d -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin -p 8080:8080 quay.io/keycloak/keycloak start-dev --features organization&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you run the command above, make sure you can access the server at &lt;code&gt;http://localhost:8080/&lt;/code&gt; and log in into the administration console using the following credentials:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: &lt;code&gt;admin&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: &lt;code&gt;admin&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_create_a_realm&quot;&gt;Create a realm&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us start by creating a new realm called &lt;code&gt;orgdemo&lt;/code&gt;. The &lt;code&gt;orgdemo&lt;/code&gt; realm is a first-party company that wants to integrate
with third-parties, the &lt;code&gt;organizations&lt;/code&gt;, so that their users can have access to protected resources served by client applications available at the &lt;code&gt;orgdemo&lt;/code&gt; realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For that, create a new realm using &lt;code&gt;orgdemo&lt;/code&gt; as the name via the administration console.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_create_users_in_the_orgdemo_realm&quot;&gt;Create users in the &lt;code&gt;orgdemo&lt;/code&gt; realm&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You also need some users in the &lt;code&gt;orgdemo&lt;/code&gt; realm to authenticate and follow the next steps.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;mjane&lt;/code&gt; user is a realm user that has an email account that does not match any organization in the realm. We will use this user to represent an existing &lt;strong&gt;realm&lt;/strong&gt; user in the &lt;code&gt;orgdemo&lt;/code&gt; realm that is not associated with any organization.
For that, create a user as the following:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: &lt;code&gt;mjane&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Email: &lt;code&gt;mjane@orgdemo.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;First Name: &lt;code&gt;Mary&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Last Name: &lt;code&gt;Jane&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Make sure to set a password for this user so that you can authenticate to the realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now, create the &lt;code&gt;alice@orga.com&lt;/code&gt; user. This user will act as an existing realm user that has an email that matches one of the domains set to an organization but is not yet a member of the organization.
This user could have been created through self-registration, or by integrating with a custom identity store,
or even federated from an identity provider available from the realm:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: &lt;code&gt;alice&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Email: &lt;code&gt;alice@orga.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;First Name: &lt;code&gt;Alice&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Last Name: &lt;code&gt;Chains&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Make sure to set a password for this user so that you can authenticate to the realm.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_understanding_the_changes_to_authentication_flows_when_the_feature_is_enabled&quot;&gt;Understanding the changes to authentication flows when the feature is enabled&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When a realm is created, the authentication flows are automatically updated to enable specific steps to authenticate and onboard organization members. The authentication flows updated are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;browser&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;first broker login&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The main change to the &lt;code&gt;browser&lt;/code&gt; flow is that it defaults to an identity-first login so that users are identified before prompting for their credentials.
In regard to the &lt;code&gt;first broker login&lt;/code&gt; flow, the main change there is to automatically add the user as an organization member once they authenticate through the identity provider associated with an organization and successfuly complete flow.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The decision to whether an identity-first login should happen is based on the availability of any organization in a realm.
If no organizations exist yet, the user will follow the usual steps to authenticate using both username and password, or any other step configured to the &lt;code&gt;browser&lt;/code&gt; flow.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Try reaching &lt;code&gt;http://localhost:8080/realms/orgdemo/account&lt;/code&gt; and you&amp;#8217;ll see the usual login page. From this page, you can authenticate
as usual to the realm using the following credentials:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: mjane&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: &amp;lt;password&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you submit the login form, you are authenticated to the realm and automatically redirected to the client application acting on behalf of the user.
In this case, the account console.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authenticating_to_a_realm_when_there_are_organizations&quot;&gt;Authenticating to a realm when there are organizations&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now, let us create an organization in the &lt;code&gt;orgademo&lt;/code&gt; realm. For that, we need to enable organizations to the realm by navigating to
the &lt;code&gt;Realm Settings&lt;/code&gt; page and enabling the &lt;code&gt;Organizations&lt;/code&gt; setting.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you enable organizations, you can click on the &lt;code&gt;Organizations&lt;/code&gt; section in the menu. Click the &lt;code&gt;Create organization&lt;/code&gt; button
to create a new organization as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Name: &lt;code&gt;OrgA Inc&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Domains: &lt;code&gt;orga.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once the &lt;code&gt;orga&lt;/code&gt; organization is created, sign out from the client application and try to log in again. At this time, you should
be present with the identity-first login page.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Differently than the previous attempt, the &lt;code&gt;orgdemo&lt;/code&gt; realm has an organization and the authentication flow changed to first identify
the user before prompting for any credentials.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At the identity-first login page you can still authenticate as the &lt;code&gt;mjane&lt;/code&gt; user. However, the user will now authenticate in two steps.
The first step will ask for the username or email only, and then provide the password in a second step.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_trying_to_authenticate_as_a_user_that_does_not_exist_using_an_email_domain_that_matches_an_organization&quot;&gt;Trying to authenticate as a user that does not exist using an email domain that matches an organization&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Try to log in again to &lt;code&gt;http://localhost:8080/realms/orgdemo/account/&lt;/code&gt; and type &lt;code&gt;bob@orga.com&lt;/code&gt;. There is no account associated with that email in the &lt;code&gt;orgdemo&lt;/code&gt; realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If a user that does not exist tries to authenticate using an email domain that matches an organization domain, the identity-first login page will be shown again and indicate
that the username provided is not valid. At this point, there is no reason to ask the user for credentials in a second step.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There are several ways to register the user so that he can authenticate to the &lt;code&gt;orgdemo&lt;/code&gt; realm and eventually join the &lt;code&gt;orga&lt;/code&gt; organization.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If the realm has the self-registration setting enabled, the user can click on the &lt;code&gt;Register&lt;/code&gt; link at the identity-first login page and create an account at the &lt;code&gt;orgdemo&lt;/code&gt; realm. After that,
the administrator can send an invitation link to the user or manually add him as a member of the &lt;code&gt;orga&lt;/code&gt; organization.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If the organization has an identity provider without a domain set, and they are marked as &lt;code&gt;public&lt;/code&gt;, they can also click on the identity provider
link at the identity-first login page to automatically create an account and join the &lt;code&gt;orga&lt;/code&gt; organization once they authenticate through the identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Similar to the above, if the organization has an identity provider set with one of the organization domains, the user will be automatically redirected to the identity provider
to authenticate and automatically create an account and join the &lt;code&gt;orga&lt;/code&gt; organization once the flow is completed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Look at the
&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#_managing_members_&quot;&gt;official documentation&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authenticating_as_an_existing_user_using_an_email_domain_that_matches_an_organization&quot;&gt;Authenticating as an existing user using an email domain that matches an organization&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Try to log in again to &lt;code&gt;http://localhost:8080/realms/orgdemo/account/&lt;/code&gt; and type &lt;code&gt;alice@orga.com&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Differently than before, the user is now presented with the second step to provide the credentials.
Given that the user exists in the &lt;code&gt;orgdemo&lt;/code&gt; realm, it should be possible to authenticate even though the user is not yet a member of the organization.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As an administrator, you can later choose to invite the user to join an organization or manually add it to an organization.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authenticating_as_an_existing_user_using_an_email_domain_that_matches_the_domain_set_to_an_identity_provider_associated_with_an_organization&quot;&gt;Authenticating as an existing user using an email domain that matches the domain set to an identity provider associated with an organization&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The feature allows you to set a domain to an identity provider associated with an organization.
This is useful when you want to make sure that users using a specific email domain always authenticate through the identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us create a &lt;code&gt;orga&lt;/code&gt; realm to federate users from it using an identity provider at the &lt;code&gt;orgdemo&lt;/code&gt; realm,
where the identity provider will be associated to the &lt;code&gt;orga&lt;/code&gt; organization.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you create the &lt;code&gt;orga&lt;/code&gt; realm, create a OpenID Connect client at this realm as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Client type: &lt;code&gt;OpenID Connect&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Client ID: &lt;code&gt;orgdemo-broker&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Client authentication: &lt;code&gt;ON&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Valid redirect URIs: &lt;code&gt;*&lt;/code&gt; (using &lt;code&gt;*&lt;/code&gt; for the sake of simplicity, don&amp;#8217;t use in production)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Create a user now so that we can federate this user later using an identity provider from the &lt;code&gt;orgdemo&lt;/code&gt; realm:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: &lt;code&gt;jdoe&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Email: &lt;code&gt;jdoe@orga.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;First Name: &lt;code&gt;John&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Last Name: &lt;code&gt;Doe&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Make sure to set a password for this user so that you can authenticate to the realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us now create an OpenID Connect Identity Provider at the &lt;code&gt;orgdemo&lt;/code&gt; realm as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Alias: &lt;code&gt;orga-broker&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Display name: &lt;code&gt;OrgA Inc.&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Discovery endpoint: &lt;code&gt;http://localhost:8080/realms/orga/.well-known/openid-configuration&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Client ID: &lt;code&gt;orgdemo-broker&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Client Secret: &amp;lt;credentials generated when you created the orgdemo-broker client in orga realm&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For last, let us associate the identity provider we just created in &lt;code&gt;orgdemo&lt;/code&gt; realm and link it with the &lt;code&gt;orga&lt;/code&gt; organization. For that,
click on the &lt;code&gt;Organizations&lt;/code&gt; section in the menu and select the &lt;code&gt;OrgA Inc&lt;/code&gt; organization. Navigate to the &lt;code&gt;Identity Providers&lt;/code&gt; tab and
click the &lt;code&gt;Link identity provider&lt;/code&gt; button and provide the following settings:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Identity provider: &lt;code&gt;orga-broker&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Domain: &lt;code&gt;orga.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Redirect when email domain matches: &lt;code&gt;ON&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Try to log in again to &lt;code&gt;http://localhost:8080/realms/orgdemo/account/&lt;/code&gt; and type &lt;code&gt;jdoe@orga.com&lt;/code&gt;.
The user is now automatically redirected to the &lt;code&gt;orga&lt;/code&gt; realm to authenticate.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When a user that does not exist yet in the realm tries to authenticate using an email domain that matches an organization domain,
and that domain is also set to the identity provider associated with the organization, the user is automatically redirected to the identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By doing this, you can now authenticate at the &lt;code&gt;orga&lt;/code&gt; realm using the following credentials:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: &lt;code&gt;jdoe@orga.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: &amp;lt;password&amp;gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once the user completes the authentication, it will be automatically redirected back to the &lt;code&gt;orgdemo&lt;/code&gt; realm to create an account and automatically join the &lt;code&gt;orga&lt;/code&gt; organization.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The same is true if you re-authenticate as the &lt;code&gt;jdoe@orga.com&lt;/code&gt; user. However, this time the user is already linked with the identity provider and will always authenticate through the identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_using_organization_metadata_in_bearer_tokens_to_access_protected_resources_from_the_clients_in_a_realm&quot;&gt;Using organization metadata in bearer tokens to access protected resources from the clients in a realm&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So far, we have been using the account console client at the &lt;code&gt;orgdemo&lt;/code&gt; realm to authenticate the user. As an OpenID Connect client, an access token is issued as a result of a successful authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When authenticating in the context of an organization, the access token is automatically updated with specific claims about the organization the user is a member.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To map organization-specific claims into tokens, a client needs to request the &lt;code&gt;organization&lt;/code&gt; scope when sending authorization requests to the server.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a result, the token will contain a claim as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&quot;organization&quot;: {
    &quot;orga&quot;: {}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;organization&lt;/code&gt; claim can be used by clients (e.g.: from ID Tokens) and resource servers (e.g.: from access tokens) to authorize access to protected resources based on the organization that a user belongs to.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;organization&lt;/code&gt; scope is a built-in &lt;strong&gt;optional&lt;/strong&gt; client scope at the realm. As such, it is added to any client created in the realm, by default.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/06/announcement-keycloak-organizations</guid>
        <pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate>
        
        <author>Pedro Igor</author>
      </item>
      <item>
        <title>Keycloak 25.0.1 released</title>
        <link>https://www.keycloak.org/2024/06/keycloak-2501-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19750&quot;&gt;#19750&lt;/a&gt; Use a proper FreeMarker template for the new consoles &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30346&quot;&gt;#30346&lt;/a&gt; Enhance masking around config-keystore &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25234&quot;&gt;#25234&lt;/a&gt; front channel logout to clients are not called at Identity Proxy when using front channel logout to Identity Provider( &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28643&quot;&gt;#28643&lt;/a&gt; Encountering `NullPointerException` - `KeycloakIdentity.getUserFromToken()` when running `admin-ui` locally &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30115&quot;&gt;#30115&lt;/a&gt; Admin v2 theme - theme.properties Custom theme scripts not loading &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30201&quot;&gt;#30201&lt;/a&gt; Keycloak CI - failure in Store IT (aurora-postgres) &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30240&quot;&gt;#30240&lt;/a&gt; Custom attributes are removed during UPDATE PROFILE event &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30300&quot;&gt;#30300&lt;/a&gt; Upgrade to Keycloak 25 - Table &#39;USER_CONSENT&#39; is specified twice on MySQL/MariaDB database &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30302&quot;&gt;#30302&lt;/a&gt; Methods of SimpleHttp are after change now too much protected &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30306&quot;&gt;#30306&lt;/a&gt; Upgrade to Keycloak 25 - Events bug in UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30332&quot;&gt;#30332&lt;/a&gt; Operator fails to patch ingress after update to 25.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30334&quot;&gt;#30334&lt;/a&gt; RESTART_AUTHENTICATION_ERROR when login in in private browser window after 25.0.0 update &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30351&quot;&gt;#30351&lt;/a&gt; Migration of sessions in KC25 should run only on migration, not on imports &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30368&quot;&gt;#30368&lt;/a&gt; Documentation : label error for persistent-user-sessions feature flag &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30417&quot;&gt;#30417&lt;/a&gt; Keycloak 25 db guide shows unevaluated &quot;ifeval &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30432&quot;&gt;#30432&lt;/a&gt; keycloak hostname:v2 /admin used on &quot;hostname&quot; instead of &quot;hostname-admin&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30434&quot;&gt;#30434&lt;/a&gt; Improvements for ldap test authentication &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30492&quot;&gt;#30492&lt;/a&gt; partial_import_test fails randomly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/06/keycloak-2501-released</guid>
        <pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak DevDay 2024 Videos published</title>
        <link>https://www.keycloak.org/2024/06/keycloak-dev-day-videos</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Back in February this year, we (&lt;a href=&quot;https://github.com/srose&quot;&gt;Sebastian&lt;/a&gt; and &lt;a href=&quot;https://wwwn-k.de&quot;&gt;me (Niko)&lt;/a&gt;) hosted the very first edition of &lt;a href=&quot;https://keycloak-day.dev&quot;&gt;Keycloak DevDay&lt;/a&gt; - &lt;em&gt;a one-day, community-driven conference&lt;/em&gt; - in Frankfurt/Main, Germany.
The event was a blast and completely sold-out, plus many additional participants online in the two parallel live streams.
We were able to welcome attendees from all over Europe.
Thank you all for being part of this incredible event! 🙏&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For all of you who couldn&amp;#8217;t attend, we have published all the recorded and live streamed sessions online on &lt;a href=&quot;https://www.youtube.com/@dasniko?sub_confirmation=1&quot;&gt;my YouTube channel&lt;/a&gt;:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/lQH-yNrF_As?si=LLUFvTTjHckAXKbE&quot;&gt;Keynote: What&amp;#8217;s Next in Keycloak (Alexander Schwartz, Red Hat)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/DNq51wWw3F4?si=O_Lc7heplGdVR33s&quot;&gt;Multi-Tenancy in Keycloak (Garth Patil, Phase Two)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/O0quO2D2d-E?si=CcPOk4LnDMPTjvP-&quot;&gt;Flexible Access Management with Keycloak &amp;amp; OPA (Thomas Darimont, codecentric)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/1IhcQjdjbsI?si=RUo-qL-sxiUjdrg9&quot;&gt;Best Practices for Extension Development (Sven-Torben Janus, Conciso&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/l2Lk2Z9mHBs?si=4vZfrXAZZFfJni1x&quot;&gt;Extensions Development with Testcontainers (Niko Köbler, @dasniko)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/5WjIEj9HLk8?si=HdBLw2PNwyTCqqnb&quot;&gt;A Look at Keycloak from the IAM Point of View (Robert Bauer, intension)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/Xqtd8EUxakk?si=IEcXZpYnLx_Y9Eby&quot;&gt;Automating Keycloak Configuration (Sophie Tauchert, Relaxdays)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/mgarRWSQLUc?si=gemXaXJGfDsWD31q&quot;&gt;Ask the Maintainers Session (A. Schwartz, T. Darimont, S. Schuster)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/w2T-NmnOaTE?si=K84dI5yu7n-uMHRm&quot;&gt;IAM Doomsday Prepper (Maik Kingma)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/mGOrlC6ywNI?si=EaLFTo4ss4EYEq6r&quot;&gt;Keycloak Cassandra Datastore (Dominik Schlosser)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.youtube.com/playlist?list=PLNn3plN7ZiaqXjiDSB1KDaF3bCDuQmDgw&quot;&gt;complete
playlist can be found here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are currently preparing the next edition &amp;#8220;Keycloak DeveloperDay 2025&amp;#8221;.
If you want to contribute, please get in touch with &lt;a href=&quot;mailto:info@keycloak-day.dev&quot;&gt;us (Sebastian &amp;amp; Niko)&lt;/a&gt;!
Expect more information in the next weeks and months.
Looking forward to have you and your colleagues &amp;amp; team members as attendees!&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/06/keycloak-dev-day-videos</guid>
        <pubDate>Fri, 14 Jun 2024 00:00:00 GMT</pubDate>
        
        <author>Niko Köbler</author>
      </item>
      <item>
        <title>Keeping users logged in with Keycloak 25</title>
        <link>https://www.keycloak.org/2024/06/persistent-user-sessions-in-preview</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previous versions of Keycloak would store regular user sessions (also called online user sessions) only in memory.
Due to that, all users would be logged out when you shut down or restart the Keycloak cluster.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With Keycloak 25, there is a preview feature &amp;#8220;persistent user sessions&amp;#8221;, which stores the user sessions in its database.
If a session is not found in memory, it is loaded from the database, and the user can continue to use their session without the need to re-authenticate.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The preview feature is disabled by default, and you need to enable it with the persistent-user-sessions feature flag to try it out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can help to make this feature fully supported by &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;providing feedback in this GitHub discussion thread&lt;/a&gt;.
For June 24th, we are planning an &lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/301593398&quot;&gt;ask-me-anything session for persistent sessions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_changed_runtime_behavior_of_keycloak_and_the_database&quot;&gt;Changed runtime behavior of Keycloak and the Database&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this feature enabled, Keycloak&amp;#8217;s memory usage might be reduced and the database usage may increase.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak will default to a maximum of 10&#39;000 entries for each of the caches sessions, clientSessions, offlineSessions, and offlineClientSessions if no other maximum size is configured in Keycloak&amp;#8217;s cache configuration XML file.
If you want to keep more sessions in memory, see &lt;a href=&quot;https://www.keycloak.org/server/caching&quot;&gt;Configuring distributed caches&lt;/a&gt; on how to configure a different size.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The options &lt;code&gt;spi-user-sessions-infinispan-offline-session-cache-entry-lifespan-override&lt;/code&gt; and &lt;code&gt;spi-user-sessions-infinispan-offline-client-session-cache-entry-lifespan-override&lt;/code&gt; are ignored, as instead the maximum entry size is used.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;External Infinispan instances are supported for multi-site setups of Keycloak.
If you use such a setup and have enabled persistent user sessions, you can (and should) set a maximum number of sessions to be kept in the external Infinispan to limit the memory consumption of the external Infinispan.
See &lt;a href=&quot;https://infinispan.org/docs/stable/titles/configuring/configuring.html#eviction_configuring-memory-usage&quot;&gt;Infinispan&amp;#8217;s docs on how to configure eviction&lt;/a&gt; in the Infinispan caches.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the number of concurrent user sessions exceeds the maximum cache size in Keycloak, you&amp;#8217;ll see an increased database activity to load sessions from the database when tokens are for example refreshed or the user info endpoint is called.
Those requests will also incur an increased latency depending on the response time of your database for those read statements.
Monitor the cache hit rate to see if your setup needs optimizations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For each login, token refresh, and logout, the session tables in the database are updated, and will show as an increased database activity.
Keycloak attempts to bundle concurrent session updates into a single transaction, still the utilization of both CPU and IOPS of your database will increase significantly.
Those requests will also incur an increased latency depending on the response time of your database for those write statements.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The impact on your environment will depend on your infrastructure and usage patterns.
As an indicator, we&amp;#8217;ve run a test with the following setup:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;150 logins and 150 logouts per second&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Aurora PostgreSQL regional database 15.5&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type db.t4g.large server (2 ARM vCPU cores, 8 GB RAM)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;ve seen the following change in the runtime metrics:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On the database:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;300 additional commits per second&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CPU usage increased by 1 to 1.5 CPU cores depending on the number of concurrent sessions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;approximately 2500 additional WriteIOPS&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On Keycloak:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CPU usage on Keycloak remained constant&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Memory usage constant after 10&#39;000 sessions had been created&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;50th percentile response times for login and logout increased by 20 and 10 ms respectively for a single-AZ database, and 30 and 20 ms respectively for a two-AZ database.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We recommend you to run benchmarks for your environment.
Use the tools we provide in the &lt;a href=&quot;https://github.com/keycloak/keycloak-benchmark&quot;&gt;Keycloak Benchmark Project&lt;/a&gt; as a tool box.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See &lt;a href=&quot;https://www.keycloak.org/server/configuration-metrics&quot;&gt;Enabling Keycloak Metrics&lt;/a&gt; on how to enable metrics for Keycloak to monitor information about your caches and HTTP response times.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_migrating_from_previous_community_solutions&quot;&gt;Migrating from previous community solutions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The community has been evaluating different configurations in the past, with some of them having drawbacks and which were not officially supported by Keycloak.
With persistent sessions enabled, those setups can now be simplified.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Using deployments with very large JVM head sizes: In the past, one would need a lot of JVM memory to keep all sessions in memory and avoid an out-of-memory situation.
With persistent sessions being stored in the database and only a subset kept in memory for caching, you can now reduce the memory allocated to your Keycloak instances.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Using offline sessions to keep users logged in&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;One popular approach was to use offline sessions to keep users logged in, as those have been persisted in the database even before.
Still, offline sessions are intended for a different purpose: The intended use is to allow an application to access resources on behalf of a user even when that user has logged out, and the regular online session logout would not log out those sessions.
With persistent user sessions enabled, you should start using online sessions.
The existing offline sessions can still be used, and would eventually expire.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Connecting a JDBC store to Keycloak&amp;#8217;s embedded Infinispan&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;In this setup the embedded Infinispan stored the sessions into a database and a custom created table.
While this is a default set up for login and logout, it will do so only if all sessions are loaded at start-up as the code for non-persistent user sessions assumes to have all sessions in memory.
All sessions would need to be loaded at startup, as otherwise the list of sessions for a client or a realm would be incomplete, and constraints to have for example only a single session for a given user could not be guaranteed.
With persistent sessions as a preview feature in Keycloak 25, this new approach offers a reduced complexity in the setup, and a reduced memory footprint of both Keycloak and Infinispan.
See below on how to migrate existing sessions.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Connecting Keycloak to an external Infinispan for a single-site setup&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;In this setup Keycloak would read and write sessions to an external Infinispan.
Like above, all sessions would need to be loaded at startup, both into the embedded Infinispan and the external Infinispan, as otherwise the list of sessions for a client or a realm would be incomplete, and constraints to have for example only a single session for a given user could not be guaranteed.
Such a setup was only supported for multi-site setups starting with Keycloak 24. With persistent sessions as a preview feature in Keycloak 25, this new approach offers a reduced complexity in the setup, and a reduced memory footprint for Keycloak, and no need to run an external Infinispan.
See below on how to migrate existing sessions.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_migrating_existing_sessions&quot;&gt;Migrating existing sessions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have been using a JDBC store connected to the embedded Infinispan, or an external Infinispan to store Keycloak online sessions in Keycloak 24, you can migrate those sessions if (and only if) you enable persistent user sessions when you start Keycloak 25 for the first time.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#persistent-user-sessions&quot;&gt;Upgrading Guide for Keycloak 25 contains instructions on how to do this&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once the migration is complete, you should remove the configuration for any JDBC persistence for embedded session caches.
You should also remove the connection to an external Infinispan if you have used it in a single-site setup.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_enabling_persistent_user_sessions&quot;&gt;Enabling Persistent User Sessions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As this is a preview feature, it is not enabled by default.
Once we consider this feature to be fully supported, we plan to enable it by default in a future release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have already migrated to Keycloak 25, we recommend you clear all existing online user sessions from your setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Depending on if you are using it in a development environment, building your Keycloak distribution, or relying on automatic rebuilding of Keycloak on startup, your command would look like the following:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.[sh|bat] [start-dev|build|start] --features=&quot;persistent-user-sessions&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you&amp;#8217;re using environment variables to set options, set the following environment variable, or add the value if the environment variable already exists.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;KC_FEATURES=persistent-user-sessions&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using the Keycloak Operator, add it to the enabled features in the Keycloak CR:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  features:
    enabled:
      - persistent-user-sessions
...&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;Enabling and disabling features&lt;/a&gt; for more information on how to enable features.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_outlook&quot;&gt;Outlook&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While we&amp;#8217;re working to make this feature fully supported, we&amp;#8217;re also working on similar features.
Some would make deployment of Keycloak simpler, and others would eventually enable a Keycloak multi-site active-active setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29399&quot;&gt;JDBC_PING as the default discovery protocol&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29303&quot;&gt;Active/Active XSite fencing for multi-site setups&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28745&quot;&gt;Simplified External Infinispan Deployments for multi-site setups&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Join the discussion of these features and give them a thumbs up vote, so we&amp;#8217;ll know that you are interested.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_kudos_providing_feedback_and_asking_questions&quot;&gt;Kudos, providing feedback and asking questions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to the Keycloak team members Kamesh Akella, Michal Hajas, Pedro Ruivo, Anna Manukyan and Ryan Emerson who discussed ideas and edge cases, contributed code and performed tests of the intermediate pull requests and versions.
Special thanks to the community members Tristan971, daviddelannoy and Thomas Darimont who joined the GitHub discussion and provided feedback.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can help to make this feature fully supported by trying out the preview feature and providing feedback in &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;this GitHub discussion thread&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Use this thread also to ask questions about persistent user sessions.
For June 24th, we are planning an &lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/301593398&quot;&gt;ask-me-anything session for persistent sessions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/06/persistent-user-sessions-in-preview</guid>
        <pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Announcing Keycloak's Identity Summit: KeyConf24</title>
        <link>https://www.keycloak.org/2024/06/keyconf24-invitation</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeyConf23 was an incredible success, bringing together nearly 60 passionate members of the Keycloak community in London. The energy and collaboration were palpable as attendees
delved into the latest developments in identity and access management. We witnessed thought-provoking discussions, learned from industry experts, and forged valuable connections.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Building on that momentum, we&amp;#8217;re thrilled to announce KeyConf24, our 2024 Keycloak Identity Summit! This year&amp;#8217;s event promises to be even bigger and better, with a program packed
full of relevant, cutting-edge topics.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_what_to_expect_at_keyconf24&quot;&gt;What to Expect at KeyConf24&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;European Digital Identity Wallet:&lt;/strong&gt; Deep dives into the European Union&amp;#8217;s ambitious initiative and its impact on identity management.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verifiable Credentials:&lt;/strong&gt; Explore the exciting potential of decentralized identity verification and the role of Keycloak.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;State of OIDC FAPI2:&lt;/strong&gt; Get the latest updates on OpenID Connect&amp;#8217;s Financial-grade API (FAPI) security profile.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New Grant Type SPI &amp;amp; Token Exchange Endpoints:&lt;/strong&gt; Technical sessions on Keycloak&amp;#8217;s expanded capabilities and how to leverage them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Many more to be announced&amp;#8230;&amp;#8203;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;And of course, there will be ample opportunities for networking, knowledge sharing, and connecting with the vibrant Keycloak community and Keycloak maintainers.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_save_the_date_and_join_us&quot;&gt;Save the Date and Join Us!&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We invite all developers, architects, security professionals, and anyone interested in identity and access management to join us for KeyConf24. We&amp;#8217;ll be announcing more details soon, so stay tuned for more information.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the meantime, mark your calendars and prepare for an unforgettable experience!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_want_to_get_involved&quot;&gt;Want to get involved?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can register to attend to the event &lt;a href=&quot;https://keyconf.dev/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are actively seeking speakers and sponsors for KeyConf24. If you&amp;#8217;d like to share your expertise or help support this community-driven event, please submit your ideas
&lt;a href=&quot;https://forms.office.com/e/pgBuPzbgqP&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have any further questions reach out to us on &lt;a href=&quot;mailto:marketing@adorsys.com&quot;&gt;marketing@adorsys.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s continue to shape the future of identity together!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/06/keyconf24-invitation</guid>
        <pubDate>Mon, 10 Jun 2024 00:00:00 GMT</pubDate>
        
        <author>Nathalia Pinesi</author>
      </item>
      <item>
        <title>Keycloak 25.0.0 released</title>
        <link>https://www.keycloak.org/2024/06/keycloak-2500-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_account_console_v2_theme_removed&quot;&gt;Account Console v2 theme removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Account Console v2 theme has been removed from Keycloak. This theme was deprecated in Keycloak 24 and replaced by the Account Console v3 theme. If you are still using this theme, you should migrate to the Account Console v3 theme.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_java_21_support&quot;&gt;Java 21 support&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports OpenJDK 21, as we want to stick to the latest LTS OpenJDK versions.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_java_17_support_is_deprecated&quot;&gt;Java 17 support is deprecated&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenJDK 17 support is deprecated in Keycloak, and will be removed in a following release in favor of OpenJDK 21.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_most_of_java_adapters_removed&quot;&gt;Most of Java adapters removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As stated in the release notes of previous Keycloak version, the most of Java adapters are now removed from the Keycloak codebase and downloads pages.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For OAuth 2.0/OIDC, this includes removal of the Tomcat adapter, WildFly/EAP adapter, Servlet Filter adapter, &lt;code&gt;KeycloakInstalled&lt;/code&gt; desktop adapter, the &lt;code&gt;jaxrs-oauth-client&lt;/code&gt; adapter, JAAS login modules, Spring adapter and SpringBoot adapters.
You can check &lt;a href=&quot;https://www.keycloak.org/2023/03/adapter-deprecation-update.html&quot;&gt;our older post&lt;/a&gt; for the list of some alternatives.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For SAML, this includes removal of the Tomcat adapter and Servlet filter adapter. SAML adapters are still supported with WildFly and JBoss EAP.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The generic Authorization Client library is still supported, and we still plan to support it. It aims to be used in combination with any other OAuth 2.0 or OpenID Connect libraries. You can
check the &lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts&quot;&gt;quickstarts&lt;/a&gt; for some examples where this authorization client library is used together with the 3rd party Java adapters like
Elytron OIDC or SpringBoot. You can check the quickstarts also for the example of SAML adapter used with WildFly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_upgrade_to_patternfly_5&quot;&gt;Upgrade to PatternFly 5&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In Keycloak 24, the Welcome page is updated to use &lt;a href=&quot;https://www.patternfly.org/&quot;&gt;PatternFly 5&lt;/a&gt;, the latest version of the design system that underpins the user interface of Keycloak. In this release, the  Admin Console and Account Console are also updated to use PatternFly 5. If you want to extend and customize the Admin Console and Account Console, review &lt;a href=&quot;https://www.patternfly.org/get-started/upgrade/&quot;&gt;the changes in PatternFly 5&lt;/a&gt; and update your customizations accordingly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_argon2_password_hashing&quot;&gt;Argon2 password hashing&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Argon2 is now the default password hashing algorithm used by Keycloak in a non-FIPS environment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Argon2 was the winner of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Password_Hashing_Competition&quot;&gt;2015 password hashing competition&lt;/a&gt;
and is the recommended hashing algorithm by &lt;a href=&quot;https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#argon2id&quot;&gt;OWASP&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In Keycloak 24 the default hashing iterations for PBKDF2 were increased from 27.5K to 210K, resulting in a more than
10 times increase in the amount of CPU time required to generate a password hash. With Argon2 it is possible to achieve
better security, with almost the same CPU time as previous releases of Keycloak. One downside is Argon2 requires more
memory, which is a requirement to be resistant against GPU attacks. The defaults for Argon2 in Keycloak requires 7MB
per-hashing request.
To prevent excessive memory and CPU usage, the parallel computation of hashes by Argon2 is by default limited to the number of cores available to the JVM.
To support the memory intensive nature of Argon2, we have updated the default GC from ParallelGC to G1GC for a better heap utilization.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_hostname_options&quot;&gt;New Hostname options&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In response to the complexity and lack of intuitiveness experienced with previous hostname configuration settings, we are proud to introduce Hostname v2 options.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We have listened to your feedback, tackled the tricky issues, and created a smoother experience for managing hostname configuration.
Be aware that even the behavior behind these options has changed and requires your attention - if you are dealing with custom hostname settings.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hostname v2 options are supported by default, as the old hostname options are deprecated and will be removed in the following releases.
You should migrate to them as soon as possible.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New options are activated by default, so Keycloak will not recognize the old ones.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to migrate, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_persistent_user_sessions&quot;&gt;Persistent user sessions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previous versions of Keycloak stored only offline user and offline client sessions in the databases.
The new feature &lt;code&gt;persistent-user-session&lt;/code&gt; stores online user sessions and online client sessions not only in memory, but also in the database.
This will allow a user to stay logged in even if all instances of Keycloak are restarted or upgraded.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The feature is a preview feature and disabled by default. To use it, add the following to your build command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.sh build --features=persistent-user-session ...&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details see the &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;Enabling and disabling features&lt;/a&gt; guide.
The &lt;a href=&quot;https://www.keycloak.org/high-availability/concepts-memory-and-cpu-sizing&quot;&gt;sizing guide&lt;/a&gt; contains a new paragraph describing the updated resource requirements when this feature is enabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For information on how to upgrade, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_cookies_updates&quot;&gt;Cookies updates&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_samesite_attribute_set_for_all_cookies&quot;&gt;SameSite attribute set for all cookies&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following cookies did not use to set the &lt;code&gt;SameSite&lt;/code&gt; attribute, which in recent browser versions results in them
defaulting to &lt;code&gt;SameSite=Lax&lt;/code&gt;:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;KC_STATE_CHECKER&lt;/code&gt; now sets &lt;code&gt;SameSite=Strict&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;KC_RESTART&lt;/code&gt; now sets &lt;code&gt;SameSite=None&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;KEYCLOAK_LOCALE&lt;/code&gt; now sets &lt;code&gt;SameSite=None&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;KEYCLOAK_REMEMBER_ME&lt;/code&gt; now sets &lt;code&gt;SameSite=None&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default value &lt;code&gt;SameSite=Lax&lt;/code&gt; causes issues with POST based bindings, mostly applicable to SAML, but also used in
some OpenID Connect / OAuth 2.0 flows.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_removing_kc_auth_state_cookie&quot;&gt;Removing KC_AUTH_STATE cookie&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The cookie &lt;code&gt;KC_AUTH_STATE&lt;/code&gt; is removed and it is no longer set by the Keycloak server as this server no longer needs this cookie.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_deprecated_cookie_methods_removed&quot;&gt;Deprecated cookie methods removed&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following APIs for setting custom cookies have been removed:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ServerCookie&lt;/code&gt; - replaced by &lt;code&gt;NewCookie.Builder&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;LocaleSelectorProvider.KEYCLOAK_LOCALE&lt;/code&gt; - replaced by &lt;code&gt;CookieType.LOCALE&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;HttpCookie&lt;/code&gt; - replaced by &lt;code&gt;NewCookie.Builder&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;HttpResponse.setCookieIfAbsent(HttpCookie cookie)&lt;/code&gt; - replaced by &lt;code&gt;HttpResponse.setCookieIfAbsent(NewCookie cookie)&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_addressed_you_are_already_logged_in_for_expired_authentication_sessions&quot;&gt;Addressed &#39;You are already logged in&#39; for expired authentication sessions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak 23 release provided improvements for when a user is authenticated in parallel in multiple browser tabs. However, this improvement did not address the case when an authentication session
expired. Now for the case when user is already logged-in in one browser tab and an authentication session expired in other browser tabs, Keycloak is able to redirect back to the client
application with an OIDC/SAML error, so the client application can immediately retry authentication, which should usually automatically log in the application because of the SSO session. For more
details, see &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/server_admin/#_authentication-sessions&quot;&gt;Server Administration Guide authentication sessions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_lightweight_access_token_to_be_even_more_lightweight&quot;&gt;Lightweight access token to be even more lightweight&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous releases, the support for lightweight access token was added. In this release, we managed to remove even more built-in claims from the lightweight access token. The claims are added
by protocol mappers. Some of them affect even the regular access tokens or ID tokens as they were not strictly required by the OIDC specification.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Claims &lt;code&gt;sub&lt;/code&gt; and &lt;code&gt;auth_time&lt;/code&gt; are added by protocol mappers now, which are configured by default on the new client scope &lt;code&gt;basic&lt;/code&gt;, which is added automatically to all the clients. The claims are still added to the ID token and access token as before, but not to lightweight access token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Claim &lt;code&gt;nonce&lt;/code&gt; is added only to the ID token now.  It is not added to a regular access token or lightweight access token. For backwards compatibility, you can add this claim to an access token by protocol mapper, which needs to be explicitly configured.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Claim &lt;code&gt;session_state&lt;/code&gt; is not added to any token now. It is still possible to add it by protocol mapper if needed. There is still the other dedicated claim &lt;code&gt;sid&lt;/code&gt; supported by the specification, which was available in previous versions as well and which has exactly the same value.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;..&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_support_for_applicationjwt_media_type_in_token_introspection_endpoint&quot;&gt;Support for application/jwt media-type in token introspection endpoint&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can use the HTTP Header &lt;code&gt;Accept: application/jwt&lt;/code&gt; when invoking a token introspection endpoint. When enabled for a particular client, it returns a claim &lt;code&gt;jwt&lt;/code&gt; from the
token introspection endpoint with the full JWT access token, which can be useful especially for the use-cases when the client calling introspection endpoint used lightweight access
token. Thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_password_policy_for_check_if_password_contains_username&quot;&gt;Password policy for check if password contains Username&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak supports a new password policy that allows you to deny user passwords which contains the user username.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_required_actions_improvements&quot;&gt;Required actions improvements&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the Admin Console, you can now configure some required actions in the &lt;strong&gt;Required actions&lt;/strong&gt; tab of a particular realm. Currently, the &lt;strong&gt;Update password&lt;/strong&gt; is the only built-in configurable required action. It supports setting &lt;strong&gt;Maximum Age of Authentication&lt;/strong&gt;, which is the maximum time users can update their password
by the &lt;code&gt;kc_action&lt;/code&gt; parameter (used for instance when updating password in the Account Console) without re-authentication. The sorting of required actions is also improved. When there are multiple required
actions during authentication, all actions are sorted together regardless of whether those are actions set during authentication (for instance by the &lt;code&gt;kc_action&lt;/code&gt; parameter) or actions added to the user account manually by an administrator.
Thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; and &lt;a href=&quot;https://github.com/danielFesenmeyer&quot;&gt;Daniel Fesenmeyer&lt;/a&gt; for the contributions.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_passkeys_improvements&quot;&gt;Passkeys improvements&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The support for Passkeys conditional UI was added. When the Passkeys preview feature is enabled, there is a dedicated authenticator available, which means you can select from a list of available passkeys accounts
and authenticate a user based on that. Thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_default_client_profile_for_saml&quot;&gt;Default client profile for SAML&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default client profile to have secured SAML clients was added. When browsing through client policies of a realm in the Admin Console, you see a new client profile &lt;code&gt;saml-security-profile&lt;/code&gt;. When it is used, there are
security best practices applied for SAML clients such as signatures are enforced, SAML Redirect binding is disabled, and wildcard redirect URLs are prohibited.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authenticator_for_override_existing_idp_link_during_first_broker_login&quot;&gt;Authenticator for override existing IDP link during first-broker-login&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There was new authenticator &lt;code&gt;Confirm override existing link&lt;/code&gt; added. This authenticator allows to override linked IDP username for the Keycloak user, which was already linked to different
IDP identity before. More details in the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/server_admin/#_override_existing_broker_link&quot;&gt;Server Administration Guide&lt;/a&gt;. Thanks to &lt;a href=&quot;https://github.com/lexcao&quot;&gt;Lex Cao&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openid_for_verifiable_credential_issuance_experimental_support&quot;&gt;OpenID for Verifiable Credential Issuance - experimental support&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is work in progress on the support of OpenID for Verifiable Credential Issuance (OID4VCI). Right now, this is still work in progress, but things are being gradually added. Keycloak
can act as an OID4VC Issuer with support of Pre-Authorized code flow. There is support for verifiable credentials in the JWT-VC, SD-JWT-VC and VCDM formats. Thanks to the members of the OAuth SIG
groups for the contributions and feedback and especially thanks to &lt;a href=&quot;https://github.com/wistefan&quot;&gt;Stefan Wiedemann&lt;/a&gt;, &lt;a href=&quot;https://github.com/francis-pouatcha&quot;&gt;Francis Pouatcha&lt;/a&gt;, &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt;
and &lt;a href=&quot;https://github.com/bucchi&quot;&gt;Yutaka Obuchi&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_searching_by_user_attribute_no_longer_case_insensitive&quot;&gt;Searching by user attribute no longer case insensitive&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When searching for users by user attribute, Keycloak no longer searches for user attribute names forcing lower case comparisons. The goal of this change was to speed up searches by using Keycloak&amp;#8217;s native index on the user attribute table. If your database collation is case-insensitive, your search results will stay the same. If your database collation is case-sensitive, you might see less search results than before.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_breaking_fix_in_authorization_client_library&quot;&gt;Breaking fix in authorization client library&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For users of the &lt;code&gt;keycloak-authz-client&lt;/code&gt; library, calling &lt;code&gt;AuthorizationResource.getPermissions(&amp;#8230;&amp;#8203;)&lt;/code&gt; now correctly returns a &lt;code&gt;List&amp;lt;Permission&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previously, it would return a &lt;code&gt;List&amp;lt;Map&amp;gt;&lt;/code&gt; at runtime, even though the method declaration advertised &lt;code&gt;List&amp;lt;Permission&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This fix will break code that relied on casting the List or its contents to &lt;code&gt;List&amp;lt;Map&amp;gt;&lt;/code&gt;. If you have used this method in any capacity, you are likely to have done this and be affected.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_ids_are_no_longer_set_when_exporting_authorization_settings_for_a_client&quot;&gt;IDs are no longer set when exporting authorization settings for a client&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When exporting the authorization settings for a client, the IDs for resources, scopes, and policies are no longer set. As a
result, you can now import the settings from a client to another client.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_management_port_for_metrics_and_health_endpoints&quot;&gt;Management port for metrics and health endpoints&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Metrics and health checks endpoints are no longer accessible through the standard Keycloak server port.
As these endpoints should be hidden from the outside world, they can be accessed on a separate default management port &lt;code&gt;9000&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It allows to not expose it to the users as standard Keycloak endpoints in Kubernetes environments.
The new management interface provides a new set of options and is fully configurable.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak Operator assumes the management interface is turned on by default.
For more details, see &lt;a href=&quot;https://www.keycloak.org/server/management-interface&quot;&gt;Configuring the Management Interface&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_syslog_for_remote_logging&quot;&gt;Syslog for remote logging&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports &lt;a href=&quot;https://en.wikipedia.org/wiki/Syslog&quot;&gt;Syslog&lt;/a&gt; protocol for remote logging.
It utilizes the protocol defined in &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc5424&quot;&gt;RFC 5424&lt;/a&gt;.
By default, the syslog handler is disabled, but when enabled, it sends all log events to a remote syslog server.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the &lt;a href=&quot;https://www.keycloak.org/server/logging&quot;&gt;Configuring logging&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_change_to_class_environmentdependentproviderfactory&quot;&gt;Change to class &lt;code&gt;EnvironmentDependentProviderFactory&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The method &lt;code&gt;EnvironmentDependentProviderFactory.isSupported()&lt;/code&gt; was deprecated for several releases and has now been removed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_all_cache_options_are_runtime&quot;&gt;All &lt;code&gt;cache&lt;/code&gt; options are runtime&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to specify the &lt;code&gt;cache&lt;/code&gt;, &lt;code&gt;cache-stack&lt;/code&gt;, and &lt;code&gt;cache-config-file&lt;/code&gt; options during runtime.
This eliminates the need to execute the build phase and rebuild your image due to them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_high_availability_guide_enhanced&quot;&gt;High availability guide enhanced&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The high availability guide now contains a guide on how to configure an AWS Lambda to prevent an intended automatic failback from the Backup site to the Primary site.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removing_deprecated_methods_from_accesstoken_idtoken_and_jsonwebtoken_classes&quot;&gt;Removing deprecated methods from &lt;code&gt;AccessToken&lt;/code&gt;, &lt;code&gt;IDToken&lt;/code&gt;, and &lt;code&gt;JsonWebToken&lt;/code&gt; classes&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we are finally removing deprecated methods from the following classes:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;AccessToken&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;IDToken&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;JsonWebToken&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_method_getexp_added_to_singleuseobjectkeymodel&quot;&gt;Method &lt;code&gt;getExp&lt;/code&gt; added to &lt;code&gt;SingleUseObjectKeyModel&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a consequence of the removal of deprecated methods from &lt;code&gt;AccessToken&lt;/code&gt;, &lt;code&gt;IDToken&lt;/code&gt;, and &lt;code&gt;JsonWebToken&lt;/code&gt;,
the &lt;code&gt;SingleUseObjectKeyModel&lt;/code&gt; also changed to keep consistency with the method names related to expiration values.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_support_for_postgresql_16&quot;&gt;Support for PostgreSQL 16&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The supported and tested databases now include PostgreSQL 16.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_introducing_support_for_customer_identity_and_access_management_ciam_and_multi_tenancy&quot;&gt;Introducing support for Customer Identity and Access Management (CIAM) and Multi-tenancy&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we are delivering Keycloak Organizations as a technology preview feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This feature provides a realm with some core CIAM capabilities, which will serve as the baseline for more capabilities
in the future to address Business-to-Business (B2B) and Business-to-Business-to-Customers (B2B2C) use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In terms of functionality, the feature is completed. However, we still have work to do to make it fully supported in the next major release.
This remaining work is mainly about preparing the feature for production deployments with a focus on scalability. Also, depending
on the feedback we get until the next major release, we might eventually accept additional capabilities and add more value to
the feature, without compromising its roadmap.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see &lt;a href=&quot;https://www.keycloak.org/docs/25.0.0/server_admin/#_managing_organizations_&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25940&quot;&gt;#25940&lt;/a&gt; Support Credentials Issuance through the OID4VCI Protocol &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25942&quot;&gt;#25942&lt;/a&gt; Issue Verifiable Credentials in the SD-JWT-VC format &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25943&quot;&gt;#25943&lt;/a&gt; Issue Verifiable Credentials in the VCDM format &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25945&quot;&gt;#25945&lt;/a&gt; Extend Account Console to support Credentials Issuance Self-Service &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26201&quot;&gt;#26201&lt;/a&gt; Introduce a new Authenticator to handle duplicate IdP broker links &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27673&quot;&gt;#27673&lt;/a&gt; Hardcoded SAML metadata URL in admin-v2 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27728&quot;&gt;#27728&lt;/a&gt; Reflect new hostname v2 options in Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27729&quot;&gt;#27729&lt;/a&gt; Add documentation for Hostname v2 &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27730&quot;&gt;#27730&lt;/a&gt; Release notes and Migration guide for Hostname v2 &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28030&quot;&gt;#28030&lt;/a&gt; Create Argon2 password hashing provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28400&quot;&gt;#28400&lt;/a&gt; Make RequiredActions configurable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28608&quot;&gt;#28608&lt;/a&gt; Allow onboarding organization members through a registration invitation link &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28750&quot;&gt;#28750&lt;/a&gt; CLI options to disable encryption and authentication to external Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28938&quot;&gt;#28938&lt;/a&gt; Need inline translation assistance for user profile attribute groups. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29491&quot;&gt;#29491&lt;/a&gt; Remove Oracle JDBC driver out of the box &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29539&quot;&gt;#29539&lt;/a&gt; Add CRUD for organizations to admin client &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29627&quot;&gt;#29627&lt;/a&gt; Expose Authorization Server Metadata Endpoint under /.well-known/oauth-authorization-server to comply with rfc8414 &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29634&quot;&gt;#29634&lt;/a&gt; Expose JWT VC Issuer Metadata /.well-known/jwt-vc-issuer to comply with SD-JWT VC Specification &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11757&quot;&gt;#11757&lt;/a&gt; Declarative User Profile: local-date validation and html5-date clash &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13113&quot;&gt;#13113&lt;/a&gt; Conditionally enable and disable CLI options &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16295&quot;&gt;#16295&lt;/a&gt; JsonSerialization does not load all available modules from the classpath &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17530&quot;&gt;#17530&lt;/a&gt; Add Portuguese translations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19334&quot;&gt;#19334&lt;/a&gt; Support management port for health and metrics in Quarkus 3 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20736&quot;&gt;#20736&lt;/a&gt; uma-ticket returns 403 even though user has access, when User Realm Role isn&#39;t present in access Token &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20792&quot;&gt;#20792&lt;/a&gt; Make it clear that `Client Offline Token Max` should not be set when `Offline Session Max Limited` is disabled for realm &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20916&quot;&gt;#20916&lt;/a&gt; DefaultHttpClientFactory should handle the encoding of the response &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21185&quot;&gt;#21185&lt;/a&gt; Protocol mapper and client scope for sub claim &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21344&quot;&gt;#21344&lt;/a&gt; Upgrade account theme to PatternFly 5 &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21345&quot;&gt;#21345&lt;/a&gt; Upgrade admin theme to PatternFly 5 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21439&quot;&gt;#21439&lt;/a&gt; Allow options to support any value in addition to a list of pre-defined values. &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21562&quot;&gt;#21562&lt;/a&gt; Make sure admin events are not referencing sensitive data from their representation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21961&quot;&gt;#21961&lt;/a&gt; Allow to provider password to kcadm (keycloak-admin-cli) via environment variable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22436&quot;&gt;#22436&lt;/a&gt; Query users by &#39;LDAP_ID&#39; is not working &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22711&quot;&gt;#22711&lt;/a&gt; Enable theme caches by default in start-dev &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24192&quot;&gt;#24192&lt;/a&gt; Refine how ConfigSource names are being used &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24264&quot;&gt;#24264&lt;/a&gt; Passkeys: Supporting WebAuthn Conditional UI &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24466&quot;&gt;#24466&lt;/a&gt; Look if checks in IntrospectionEndpoint can be simplified &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25057&quot;&gt;#25057&lt;/a&gt; Inconsistent behaviour on getting user permissions using authorization &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25114&quot;&gt;#25114&lt;/a&gt; User Profile &quot;Input placeholder&quot; and other annotations - Use Localization keys &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26162&quot;&gt;#26162&lt;/a&gt; Optimize query batching and result fetching by tuning Hibernate parameters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26443&quot;&gt;#26443&lt;/a&gt; Show an error message when file does not exist for the `config-file` parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26504&quot;&gt;#26504&lt;/a&gt; Localization Proposal 2 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26654&quot;&gt;#26654&lt;/a&gt; Initial client policies integration for SAML &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26657&quot;&gt;#26657&lt;/a&gt; Map Storage Removal: Remove deprecated model/legacy module &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26695&quot;&gt;#26695&lt;/a&gt; Keycloak and MSAD: enabling account in MSAD does not propagate to Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26713&quot;&gt;#26713&lt;/a&gt; Refactoring JavaScript code of WebAuthn&#39;s authenticators to follow the current Keycloak&#39;s JavaScript coding convention &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27264&quot;&gt;#27264&lt;/a&gt; Trivy Analysis warnings should be fixed &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27433&quot;&gt;#27433&lt;/a&gt; Clarify format of keys in `additionalOptions` field in the Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27442&quot;&gt;#27442&lt;/a&gt; Use browser router for Account Console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27481&quot;&gt;#27481&lt;/a&gt; Edit High Availability guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27484&quot;&gt;#27484&lt;/a&gt; Edit 23.0 changes part of Upgrading Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27494&quot;&gt;#27494&lt;/a&gt; Use JDK17 functionality in the KC Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27508&quot;&gt;#27508&lt;/a&gt; Use new remote-store options in HA guides &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27509&quot;&gt;#27509&lt;/a&gt; Upgrade to Aurora Postgres 15.5 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27515&quot;&gt;#27515&lt;/a&gt; `ClusterProvider` should no longer be deprecated now that &quot;legacy&quot; is the default &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27527&quot;&gt;#27527&lt;/a&gt; CS and SK localized messages need an update &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27544&quot;&gt;#27544&lt;/a&gt; Expose quarkus syslog logging now GELF is being deprecated from Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27545&quot;&gt;#27545&lt;/a&gt; Simplify handling of profile features in test cases &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27549&quot;&gt;#27549&lt;/a&gt; Make general `cache` options runtime &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27574&quot;&gt;#27574&lt;/a&gt; Support for script providers when running in embedded mode &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27602&quot;&gt;#27602&lt;/a&gt; Remove offline session preloading &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27614&quot;&gt;#27614&lt;/a&gt; Remove additional handlers for health and metrics endpoints &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27632&quot;&gt;#27632&lt;/a&gt; Integrate downstream Upgrading Guide changes into upstream &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27696&quot;&gt;#27696&lt;/a&gt; Upgrade to Quarkus 3.8.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27724&quot;&gt;#27724&lt;/a&gt; Enable Infinispan metrics by default &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27787&quot;&gt;#27787&lt;/a&gt; Missing API documentation for /admin/realms/{realm}/groups/{group-id}  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27871&quot;&gt;#27871&lt;/a&gt; Upgrade to Infinispan 14.0.26 &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27924&quot;&gt;#27924&lt;/a&gt; Enable http metrics once Quarkus 3.8.3 is available &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27953&quot;&gt;#27953&lt;/a&gt; Address feedback to Keycloak Server guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27976&quot;&gt;#27976&lt;/a&gt; Persist online sessions to the database &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27997&quot;&gt;#27997&lt;/a&gt; Make the Language Selector sorted and searchable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28009&quot;&gt;#28009&lt;/a&gt; Address edits to the Operator Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28033&quot;&gt;#28033&lt;/a&gt; Upgrade Infinispan to 14.0.27.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28035&quot;&gt;#28035&lt;/a&gt; update for messages_de.properties required &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28084&quot;&gt;#28084&lt;/a&gt; Upgrade to Quarkus 3.8.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28120&quot;&gt;#28120&lt;/a&gt; Default password hashing algorithm should be set to default password hash provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28142&quot;&gt;#28142&lt;/a&gt; Update HA Guide now that non-XA mode is the default &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28145&quot;&gt;#28145&lt;/a&gt; Align help output for Quarkus distribution across Windows and Linux &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28161&quot;&gt;#28161&lt;/a&gt; Use Argon2 password hashing by default &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28178&quot;&gt;#28178&lt;/a&gt; Provide histograms for http server metrics &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28256&quot;&gt;#28256&lt;/a&gt; Prevent duplicate form submission in Create realm dialog in admin ui  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28318&quot;&gt;#28318&lt;/a&gt; Use the same new code for persistent sessions for offline sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28336&quot;&gt;#28336&lt;/a&gt; Provide a dedicated way of updating Quarkus classloading indices &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28388&quot;&gt;#28388&lt;/a&gt; Handle concurrent writes to sessions more gracefullly &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28429&quot;&gt;#28429&lt;/a&gt; Add details to error messages, especially around refresh tokens &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28436&quot;&gt;#28436&lt;/a&gt; When LDAP groups synchronization fails, show root cause in admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28448&quot;&gt;#28448&lt;/a&gt; Avoid deprecated `jboss-modules` method usage &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28453&quot;&gt;#28453&lt;/a&gt; More conventional looking conditional element in authentication diagram &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28460&quot;&gt;#28460&lt;/a&gt; Polishing docs for lightweight tokens &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28477&quot;&gt;#28477&lt;/a&gt; The concurrency of hashing leads to increased memory usage and CPU throttling &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28501&quot;&gt;#28501&lt;/a&gt; Batch updates to the database to avoid using too many IOPS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28517&quot;&gt;#28517&lt;/a&gt; Java 21 support &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28567&quot;&gt;#28567&lt;/a&gt; Change user_id value for REFRESH_TOKEN and REFRESH_TOKEN_ERROR events &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28616&quot;&gt;#28616&lt;/a&gt; Add ui-tab context information into the onCreate &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28650&quot;&gt;#28650&lt;/a&gt; Improve german translations for admin ui &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28654&quot;&gt;#28654&lt;/a&gt; Refine the warning produced when a non-cli build-time property is used at runtime &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28672&quot;&gt;#28672&lt;/a&gt; For client-credential-grants, there shouldn&#39;t be an interaction with the authentication cache &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28729&quot;&gt;#28729&lt;/a&gt; Emphasize the need for setting container limit &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28814&quot;&gt;#28814&lt;/a&gt; Add missing german translations for user federation in admin UI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28848&quot;&gt;#28848&lt;/a&gt; Automatically fill username when authenticating to through a broker &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28861&quot;&gt;#28861&lt;/a&gt; Improve the performance of the PermissionTicketStore.findGrantedResources method &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28862&quot;&gt;#28862&lt;/a&gt; Improve persistent sessions DB throughput for logins/logouts by batching &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28879&quot;&gt;#28879&lt;/a&gt; Indicate whether a user is transient or not in user sessions list &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28880&quot;&gt;#28880&lt;/a&gt; Upgrade to Quarkus 3.8.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28906&quot;&gt;#28906&lt;/a&gt; ID fields in SessionWrapper should be immutable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28926&quot;&gt;#28926&lt;/a&gt; Store extended error message in events for client credential grants &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28935&quot;&gt;#28935&lt;/a&gt; Ensure GroupResource.getSubGroups doesn&#39;t rely on no-arg version of GroupModel.getSubGroupsStream to avoid prematurely loading all subgroups &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28939&quot;&gt;#28939&lt;/a&gt; OIDC: Backchannel logout token should use &quot;typ&quot;:&quot;logout+jwt&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28974&quot;&gt;#28974&lt;/a&gt; Replace tooltip for adding a translation to an attribute with a text underneath `Display name` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29023&quot;&gt;#29023&lt;/a&gt; Support adding existing users to an organization &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29068&quot;&gt;#29068&lt;/a&gt; Infinispan 15.0.3.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29073&quot;&gt;#29073&lt;/a&gt; Use cache.compute() method to improve the replace retry loop &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29118&quot;&gt;#29118&lt;/a&gt; Conditionally run Quarkus IT in GHA based on code changes &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29124&quot;&gt;#29124&lt;/a&gt; Use Java locale translations instead of manually edited translations &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29166&quot;&gt;#29166&lt;/a&gt; Improve details for user error events in OIDC protocol endpoints &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29183&quot;&gt;#29183&lt;/a&gt; Minor corrections to High Availability Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29203&quot;&gt;#29203&lt;/a&gt; Revisit SessionsResource#realmSessions as it current loads all sessions into memory &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29223&quot;&gt;#29223&lt;/a&gt; Complete transistion away from Resteasy core &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29280&quot;&gt;#29280&lt;/a&gt; Update Create Realm in Keycloak 24 Getting Started &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29319&quot;&gt;#29319&lt;/a&gt; Don&#39;t sort persistent sessions when retrieving a list &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29348&quot;&gt;#29348&lt;/a&gt; Set default role mapping filter in the role mapping modal &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29375&quot;&gt;#29375&lt;/a&gt; Allow migration of non-persistent sessions to persistent sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29392&quot;&gt;#29392&lt;/a&gt; Avoid conflicts when writing make store keys &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29431&quot;&gt;#29431&lt;/a&gt; Make sure organization groups can not be managed but when managing an organization &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29460&quot;&gt;#29460&lt;/a&gt; Email validation for managed members should only fail if it does not match the domain set to a broker &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29489&quot;&gt;#29489&lt;/a&gt; Describe how to enable and disable persistent sessions for an installation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29561&quot;&gt;#29561&lt;/a&gt; Revisit rolling configuration upgrades for persistent-sessions feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29639&quot;&gt;#29639&lt;/a&gt; Enhance documentation for REST API for X.509 Direct Grant Flow usage &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29724&quot;&gt;#29724&lt;/a&gt; VC issuance in Authz Code flow without considering “scope” parameter &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29743&quot;&gt;#29743&lt;/a&gt; Infinispan 15.0.4.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29750&quot;&gt;#29750&lt;/a&gt; Require external Infinispan be of version 15 or greater &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29778&quot;&gt;#29778&lt;/a&gt; Upgrade Selenium and Arquillian dependencies in testsuite &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29780&quot;&gt;#29780&lt;/a&gt; Unify approach for WebAuthn tests &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29787&quot;&gt;#29787&lt;/a&gt; Document Failover Lambda for Active/Passive deployments &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29794&quot;&gt;#29794&lt;/a&gt; Show a message when confirming an invitation link &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29813&quot;&gt;#29813&lt;/a&gt; Snyk report to identify branches impacted by a CVE &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29818&quot;&gt;#29818&lt;/a&gt; Avoid explicit flush when handling persistent sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29880&quot;&gt;#29880&lt;/a&gt; Improve documentation for the case when &#39;basic&#39; client scope already exists &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29883&quot;&gt;#29883&lt;/a&gt; Upgrade old Keycloak version for DB migration tests &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29919&quot;&gt;#29919&lt;/a&gt; Avoid IntelliJ to automatically create start imports  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30017&quot;&gt;#30017&lt;/a&gt; Improve Client Type Integration Tests &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30026&quot;&gt;#30026&lt;/a&gt; Conditionally execute WebAuthn tests when Account console UI is changed &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30052&quot;&gt;#30052&lt;/a&gt; Add periodic synchronisation for Weblate contents &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30104&quot;&gt;#30104&lt;/a&gt; Release notes for support application/jwt response in token introspection endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30160&quot;&gt;#30160&lt;/a&gt; Upgrade to Quarkus 3.8.5 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30241&quot;&gt;#30241&lt;/a&gt; Adding ability to get realm attributes in themes &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8887&quot;&gt;#8887&lt;/a&gt; Information not displayed when a logged in user reset his password &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9695&quot;&gt;#9695&lt;/a&gt; Add `id_token_signed_response_alg` when realm default algorithm is not `RS256` &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12298&quot;&gt;#12298&lt;/a&gt; Security bug: Timing Oracle @ Authorization Grant Request , CWE 208 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12326&quot;&gt;#12326&lt;/a&gt; AccessTokens generated from RefreshTokens without scope &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12585&quot;&gt;#12585&lt;/a&gt; False implementation of SAML element EncryptionMethod &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12671&quot;&gt;#12671&lt;/a&gt; Slow user query by attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13045&quot;&gt;#13045&lt;/a&gt; Duplicated user consents &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14084&quot;&gt;#14084&lt;/a&gt; DefaultBruteForceProtector leverages a single thread to write success/failed events &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14122&quot;&gt;#14122&lt;/a&gt; Refresh token rotation with multiple tabs &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14188&quot;&gt;#14188&lt;/a&gt; &quot;1403 Killed&quot; after starting a fresh build &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14501&quot;&gt;#14501&lt;/a&gt; Getting failed to initialize js message if consent is rejected by user &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15403&quot;&gt;#15403&lt;/a&gt; No email send on TOTP/Authenticator app removal &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16064&quot;&gt;#16064&lt;/a&gt; RS256 signed token validation fails &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16345&quot;&gt;#16345&lt;/a&gt; Unable to delete realm names with invalid URL characters &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16520&quot;&gt;#16520&lt;/a&gt; AuthzClient getPermissions() deserializes to List&lt;LinkedHashSet&gt; and not List&lt;Permission&gt; &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16873&quot;&gt;#16873&lt;/a&gt; Required actions execution order (session and user required actions) &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16948&quot;&gt;#16948&lt;/a&gt; search users by custom attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17154&quot;&gt;#17154&lt;/a&gt; User locale in server info has language and country switched around &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17483&quot;&gt;#17483&lt;/a&gt; MultiVersionClusterTest not working for Quarkus based distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17678&quot;&gt;#17678&lt;/a&gt; Stop using nested components &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19671&quot;&gt;#19671&lt;/a&gt; Refresh token have a negative exp claim because TokenManager is vulnerable to integer overflow for long lasting sessions (YEAR 2038 bug) &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19853&quot;&gt;#19853&lt;/a&gt; CRL Verification failing due to client certificate not being in a chain &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20411&quot;&gt;#20411&lt;/a&gt; Entering a single space in a regex password policy makes admin interface unusable. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20490&quot;&gt;#20490&lt;/a&gt; SAML IDP initiated SSO getting cookie_not_found error &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20637&quot;&gt;#20637&lt;/a&gt; Reset password flow fails with &quot;Page has expired&quot; error when Kerberos authentication is enabled in the browser flow &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20747&quot;&gt;#20747&lt;/a&gt; Keycloak admin cli creating/updating authention executions not respecting the priority value specified &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21422&quot;&gt;#21422&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordLink &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22617&quot;&gt;#22617&lt;/a&gt; kc export fails when using User Federation (LDAP) with file-based Vault enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22644&quot;&gt;#22644&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.BrowserFlowTest#testAlternativeNonInteractiveExecutorInSubflow &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23252&quot;&gt;#23252&lt;/a&gt; Invalid redirect after logging in using Twitter (X) &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23528&quot;&gt;#23528&lt;/a&gt; NullPointerException in SAML IdP Logout request with SessionIndex and without NameID  &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23701&quot;&gt;#23701&lt;/a&gt; Attribute search does not work with federated users with ldap. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23832&quot;&gt;#23832&lt;/a&gt; New admin console doesn&#39;t support automatic logout &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23833&quot;&gt;#23833&lt;/a&gt; Account console v2 doesn&#39;t support automatic logout &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23900&quot;&gt;#23900&lt;/a&gt; Duplicate path in groups claim &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23980&quot;&gt;#23980&lt;/a&gt; Keycloak Operator fails to install realm authentication flow because &quot;flow is null&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24201&quot;&gt;#24201&lt;/a&gt; Cannot disable LDAP-backed user if importEnabled=false &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24414&quot;&gt;#24414&lt;/a&gt; Container labels inherited from UBI image &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24462&quot;&gt;#24462&lt;/a&gt; Remove non-unique `id` attributes from `webauthn-authenticate.ftl` &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24568&quot;&gt;#24568&lt;/a&gt; iframe for frontend logout gets blocked if a custom CSP header is used &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24571&quot;&gt;#24571&lt;/a&gt; Parallel builds stopped working &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24795&quot;&gt;#24795&lt;/a&gt; Not proper remove for nested sub-flows from DB &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24878&quot;&gt;#24878&lt;/a&gt; NoClassDefFoundError for Apache XML and EAP8 &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24936&quot;&gt;#24936&lt;/a&gt; Negative token expiration when changing client session max lifetime &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25038&quot;&gt;#25038&lt;/a&gt; ServerRequestFilter / ServerResponseFilter not being picked up &lt;span class=&quot;badge bg-secondary&quot;&gt;extensions&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25219&quot;&gt;#25219&lt;/a&gt; Restrict the access to &#39;whoami&#39; endpoint for tokens issued for the admin console client &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25490&quot;&gt;#25490&lt;/a&gt; Partial export/import is not mentioned in Keycloak&#39;s Server Administration Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25514&quot;&gt;#25514&lt;/a&gt; Errors in Outgoing HTTP requests documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25687&quot;&gt;#25687&lt;/a&gt; A java.lang.NullPointerException occurs when sending a Multipart/form-data request to any file upload interface. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25778&quot;&gt;#25778&lt;/a&gt; Incorrect JSON format returned in case of existing user (with user federation) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25807&quot;&gt;#25807&lt;/a&gt; Space in realm name breaks initial console uris &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25815&quot;&gt;#25815&lt;/a&gt; Loosing refresh token with Google Identity Provider &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25975&quot;&gt;#25975&lt;/a&gt; Failing to import client&#39;s authorisation settings through UI &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25993&quot;&gt;#25993&lt;/a&gt; PostgreSQL deadlock causes 400 client error instead of 500 server error &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26019&quot;&gt;#26019&lt;/a&gt; Identity provider sync mode: incorrect selection in case of null &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26100&quot;&gt;#26100&lt;/a&gt; Device verification flow does not require consent under certain circumstances &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26108&quot;&gt;#26108&lt;/a&gt; Realm improper input sanitization &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26109&quot;&gt;#26109&lt;/a&gt; Improper Input Validation and Sanitization Leads to persistent partial Denial of Service &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26113&quot;&gt;#26113&lt;/a&gt; Revoked Token may be valid for a short time after expiring &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26364&quot;&gt;#26364&lt;/a&gt; Duplicate emails is On when Email as username and Login with email are On &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26396&quot;&gt;#26396&lt;/a&gt; How do you update a custom user storage provider jar that includes a version number? &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26438&quot;&gt;#26438&lt;/a&gt; Keycloak cannot run on windows machine in dev-mode. Because non-English systems cannot support keycloak&#39;s package&#39;s. &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26439&quot;&gt;#26439&lt;/a&gt; Incorrect position of nonce in OCSP request &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26464&quot;&gt;#26464&lt;/a&gt; &quot;Test connection&quot; on LDAPS URI does not test TLS handshake &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26515&quot;&gt;#26515&lt;/a&gt; Wrong rendering duplicated options in guides &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26658&quot;&gt;#26658&lt;/a&gt; `LogoutEvent` is not fired on required UpdatePassword action  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26667&quot;&gt;#26667&lt;/a&gt; Can&#39;t access hidden tabs on the left in admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26868&quot;&gt;#26868&lt;/a&gt; Login via brokerage to identity provider fails with clients having UUID with uppercase letter  &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26893&quot;&gt;#26893&lt;/a&gt; Access tokens includes nonce claim &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26915&quot;&gt;#26915&lt;/a&gt; Deleting sub-realm roles throw errors (even tho it succeeded) &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26981&quot;&gt;#26981&lt;/a&gt; Workflow failure Quarkus IT - StartCommandDistTest#testWarningWhenOverridingBuildOptionsDuringStart &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27021&quot;&gt;#27021&lt;/a&gt; Workflow failure: Fuse adapter tests &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27080&quot;&gt;#27080&lt;/a&gt; Workflow failure: Operator CI - KeycloakTruststoresTests#testTrustroreExists &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27180&quot;&gt;#27180&lt;/a&gt; Grant type &quot;urn:ietf:params:oauth:grant-type:uma-ticket&quot; openid-connect/token service endpoint is returning refresh token with invalid Expiration &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27184&quot;&gt;#27184&lt;/a&gt; Editing built-in client policy profiles are silently reverted &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27201&quot;&gt;#27201&lt;/a&gt; Missing `exp` claim from Offline tokens when `Offline Session Max Limited` is disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27228&quot;&gt;#27228&lt;/a&gt; Lowercased &quot;terms_and_conditions&quot; is not migrated in fed_user_required_action table &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27245&quot;&gt;#27245&lt;/a&gt; Account console does not correctly treat link / unlink account &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27269&quot;&gt;#27269&lt;/a&gt; mvnw clean install -Pdistribution on Windows deletes necessary files during clean of org.keycloak:keycloak-admin-ui  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27275&quot;&gt;#27275&lt;/a&gt; Invalidating offline token is not working from client sessions tab   &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27308&quot;&gt;#27308&lt;/a&gt; Warnings in log during normal startup &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27349&quot;&gt;#27349&lt;/a&gt; Google Authenticator now supports SHA256 and SHA512 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27366&quot;&gt;#27366&lt;/a&gt; Social login - test failures with unexpected status code &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27391&quot;&gt;#27391&lt;/a&gt; Log warning when not using scope `openid` &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27416&quot;&gt;#27416&lt;/a&gt; Missing feature ID for tech preview feature in docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27444&quot;&gt;#27444&lt;/a&gt; type of clients.findRole() in @keycloak/keycloak-admin-client is wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27483&quot;&gt;#27483&lt;/a&gt; Authz-client AuthorizationResource.getPermissions() ClassCastException &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27499&quot;&gt;#27499&lt;/a&gt; LdapSyncTest failures running with external Active Directory &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27504&quot;&gt;#27504&lt;/a&gt; Cpu and memory sizing typo  &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27506&quot;&gt;#27506&lt;/a&gt; Readable realm name no longer visible in logs, but realm id is used instead &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27512&quot;&gt;#27512&lt;/a&gt; Getting subgroups does pagination before filtering &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27514&quot;&gt;#27514&lt;/a&gt; Uncaught server error: java.lang.IllegalArgumentException: Path parameter not provided &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27529&quot;&gt;#27529&lt;/a&gt; LegacyUserCredentialManager class not found &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27538&quot;&gt;#27538&lt;/a&gt; User tab &quot;Identity Provider Links&quot; is not available when only &quot;view-users&quot; or &quot;manage-users&quot; realm-management role is assigned as in the v1 Keycloak theme &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27540&quot;&gt;#27540&lt;/a&gt; URL change for liquibase docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27548&quot;&gt;#27548&lt;/a&gt; Custom Browser Flow not working anymore &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27558&quot;&gt;#27558&lt;/a&gt; Client registration policy &quot;Allowed Protocol Mapper Types&quot; prevents clients from self-updating via the client registration api &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27565&quot;&gt;#27565&lt;/a&gt; Admin Console tests are failing due to changes in supported authenticators &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27573&quot;&gt;#27573&lt;/a&gt; Release notes from 24.0.0 miss that multi-site active-passive deployments are supported &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27597&quot;&gt;#27597&lt;/a&gt; dropping KC_PROXY=edge causes startup error  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27604&quot;&gt;#27604&lt;/a&gt; Account console dev environment broken &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27609&quot;&gt;#27609&lt;/a&gt; Mixed use of javax and jakarta in org.keycloak.admin.client &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/jee&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27611&quot;&gt;#27611&lt;/a&gt; Cannot modify realm email settings since keycloak 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27620&quot;&gt;#27620&lt;/a&gt; Incomplete documentation when an email about changed credentials is sent &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27622&quot;&gt;#27622&lt;/a&gt; In the account console, the link &quot;Back to security-admin-console&quot; disappears after the first navigation &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27628&quot;&gt;#27628&lt;/a&gt; Only allow a known refferer URI for the Account Console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27643&quot;&gt;#27643&lt;/a&gt; Password policy for not having username in the password &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27646&quot;&gt;#27646&lt;/a&gt; Account Console REST API for /linked-accounts Returns Multiple Access-Control-Allow-Origin Headers &lt;span class=&quot;badge bg-secondary&quot;&gt;account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27653&quot;&gt;#27653&lt;/a&gt; Admin tests: Flaky realm_settings_user_profile_enabled test &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27683&quot;&gt;#27683&lt;/a&gt; Quarkus-next build failure: Could not find artifact io.quarkus:quarkus-extension-maven-plugin &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27691&quot;&gt;#27691&lt;/a&gt; Unable to set a newly created flow in First Login Flow override for a SAML identity provider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27701&quot;&gt;#27701&lt;/a&gt; MTLS Cache options should be runtime options, not build time options &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27709&quot;&gt;#27709&lt;/a&gt; Account console does not work with `--http-relative-path` &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27719&quot;&gt;#27719&lt;/a&gt; Wrong Welcome page image in the documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27745&quot;&gt;#27745&lt;/a&gt; Registration template in login2 is broken &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27756&quot;&gt;#27756&lt;/a&gt; SMTP email sending fails because of tls certificate verification even with tls-hostname-verifier=ANY  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27761&quot;&gt;#27761&lt;/a&gt; Snyk workflow failure &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27779&quot;&gt;#27779&lt;/a&gt; Broken Migration &quot;MigrateTo24_0_0&quot;  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27780&quot;&gt;#27780&lt;/a&gt; Fixing downstream documentation build &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27797&quot;&gt;#27797&lt;/a&gt; User profile fields cannot be set empty once they have a non-empty value (in Login Theme) &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27798&quot;&gt;#27798&lt;/a&gt; Performance problem with Amazon JDBC wrapper version 2.3.4 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27820&quot;&gt;#27820&lt;/a&gt; Account console confusing with WebAuthn &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27824&quot;&gt;#27824&lt;/a&gt; Can&#39;t register webauthn passwordless key when RS1 signature algorithm is configured in policies &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27837&quot;&gt;#27837&lt;/a&gt; Translation values not loaded for User Profile attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27838&quot;&gt;#27838&lt;/a&gt; User Profile translations - value put in wrong field after search &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27839&quot;&gt;#27839&lt;/a&gt; Incorrect Length Validation for Attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27840&quot;&gt;#27840&lt;/a&gt; Race condition loading serverinfo in admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27841&quot;&gt;#27841&lt;/a&gt; ES translation causes FreeMarker rendering issues &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27846&quot;&gt;#27846&lt;/a&gt; Authenticator Example module compilation failure &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27852&quot;&gt;#27852&lt;/a&gt; VerifyUserProfile invalidates user cache on every login &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27854&quot;&gt;#27854&lt;/a&gt; Required action selection is broken &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27868&quot;&gt;#27868&lt;/a&gt; Documentation is referring to deprecated/unmaintained examples &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27875&quot;&gt;#27875&lt;/a&gt; SAMLIdentityProvider not honoring SamlAuthenticationPreprocessor &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27877&quot;&gt;#27877&lt;/a&gt; Get Groups in admin/cli returns all groups and not the groups that meets the condition specified in -q option &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27878&quot;&gt;#27878&lt;/a&gt; Error when executing refresh grant, with scope param, without offline_access scope specified &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27882&quot;&gt;#27882&lt;/a&gt; Incorrect version of bctls-fips in the docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27890&quot;&gt;#27890&lt;/a&gt; Webauthn token stops working on migration to 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27892&quot;&gt;#27892&lt;/a&gt; Truststore handling for the Operator is not documented &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27894&quot;&gt;#27894&lt;/a&gt; Multi datasource configuration does not work in Keycloak 24.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27900&quot;&gt;#27900&lt;/a&gt; Performance impact in changed hashing measured wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27917&quot;&gt;#27917&lt;/a&gt; User search field loses focus after first input in realms with user federation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27925&quot;&gt;#27925&lt;/a&gt; Keycloak docs state that there are http metrics, but they are disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27941&quot;&gt;#27941&lt;/a&gt; Entry 999.0.0 in MIGRATION_MODEL prevents future migrations of the database &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27944&quot;&gt;#27944&lt;/a&gt; Admin tests: Failing realm_settings_events_test test &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27954&quot;&gt;#27954&lt;/a&gt; Hibernate Dialect detection does not work anymore for Oracle DBs &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27962&quot;&gt;#27962&lt;/a&gt; message of groups is wrong in messages_ja.properties &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27965&quot;&gt;#27965&lt;/a&gt; Groups help message is only &quot;Groups&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27966&quot;&gt;#27966&lt;/a&gt; 🍺 instead of dot: Attributes in account UI are not loaded &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27967&quot;&gt;#27967&lt;/a&gt; ORA-01450 when updating keycloak 23 -&gt; 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27981&quot;&gt;#27981&lt;/a&gt; User Profile: Inconsistent ordering of attributes between account and login themes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27984&quot;&gt;#27984&lt;/a&gt; Username LDAP attribute other than uid is difficult &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28001&quot;&gt;#28001&lt;/a&gt; MySQL connector artifact should be ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28004&quot;&gt;#28004&lt;/a&gt; JWK key ignored due to missing required field &#39;use&#39; despite matching KID &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28012&quot;&gt;#28012&lt;/a&gt; Keycloak CR Truststore should not have a name &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28016&quot;&gt;#28016&lt;/a&gt; User Profile attribute translation saves wrong key to realm overrides &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28069&quot;&gt;#28069&lt;/a&gt; Token setting missing &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28079&quot;&gt;#28079&lt;/a&gt; Group search does not work in user view &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28080&quot;&gt;#28080&lt;/a&gt; Paging issue in groups via user view &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28090&quot;&gt;#28090&lt;/a&gt; kc.sh may leak credentials &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28100&quot;&gt;#28100&lt;/a&gt; Failed authentication: java.lang.NullPointerException: Cannot invoke &quot;org.keycloak.models.UserModel.getFederationLink()&quot; because &quot;this.delegate&quot; is null &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28103&quot;&gt;#28103&lt;/a&gt; Deleting translations after attribute deletion &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28113&quot;&gt;#28113&lt;/a&gt; WebAuthN registration broken after upgrading to 24.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28143&quot;&gt;#28143&lt;/a&gt; Navigation broken on local development &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28174&quot;&gt;#28174&lt;/a&gt; HA guide erroneously refers to AWS Global Accelerator &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28187&quot;&gt;#28187&lt;/a&gt; Admin UI drag &amp; drop in flow config seems to delete actions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28201&quot;&gt;#28201&lt;/a&gt; Locale label missing on login page for Brazilian Portuguese, Greek and Persian &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28207&quot;&gt;#28207&lt;/a&gt; JAVA_OPTS are not set under Windows &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28215&quot;&gt;#28215&lt;/a&gt; Inconsistent handling of product vs. community in HA guide table-of-contents &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28220&quot;&gt;#28220&lt;/a&gt; Admin API: User PUT operation clears firstname, lastname email fields &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28231&quot;&gt;#28231&lt;/a&gt; username contains invalid characters &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28248&quot;&gt;#28248&lt;/a&gt; Update user makes User ID changes when federationLink and LDAP_ID is not set properly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28284&quot;&gt;#28284&lt;/a&gt; scroll bar is missing inn clients view keycloak admin GUI &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28303&quot;&gt;#28303&lt;/a&gt; WARN - Event object wasn&#39;t available in remote cache after event was received &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28330&quot;&gt;#28330&lt;/a&gt; org.keycloak.documentation.test.ExternalLinksTest fails with incorrect status code reported back in the results &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28335&quot;&gt;#28335&lt;/a&gt; The false option of the pkceMethod init parameter for the JavaScript adapter is ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28341&quot;&gt;#28341&lt;/a&gt; ConditionalLoaAuthenticator documentation incorrect re: unauthenticated users. &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28370&quot;&gt;#28370&lt;/a&gt; PodTemplateTest assertions are ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28374&quot;&gt;#28374&lt;/a&gt; Syntax highlighting for log example is wrong in downsream &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28377&quot;&gt;#28377&lt;/a&gt; Broken lists in import/export server guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28381&quot;&gt;#28381&lt;/a&gt; Password denylist Doesn&#39;t Work As Expected &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28389&quot;&gt;#28389&lt;/a&gt; New username-password policy check is reversed &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28409&quot;&gt;#28409&lt;/a&gt; Unclosed span bracket in register.ftl &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28416&quot;&gt;#28416&lt;/a&gt; Keycloak is not returning proper error message for PUT /users admin API &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28431&quot;&gt;#28431&lt;/a&gt; Dedicated client scopes always show up when searching &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28443&quot;&gt;#28443&lt;/a&gt; Declarative User Profile: The use of the &quot;select-radiobuttons&quot; with options validation display is broken &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28463&quot;&gt;#28463&lt;/a&gt; Error in refresh flow with scope parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28465&quot;&gt;#28465&lt;/a&gt; Review cookie attributes and set SameSite for all cookies &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28479&quot;&gt;#28479&lt;/a&gt; Authentication flow diagram incorrect branching in some flows &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28484&quot;&gt;#28484&lt;/a&gt; inputOptionLabels is truncating text that is not wrapped for localization &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28486&quot;&gt;#28486&lt;/a&gt; Help text wrong in key provider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28490&quot;&gt;#28490&lt;/a&gt; Missing help text for Brute Force Mode &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28495&quot;&gt;#28495&lt;/a&gt; IdP Linking: Usernames sometimes lowercase and sometimes uppercase &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28509&quot;&gt;#28509&lt;/a&gt; Workflow failure: ManagementDistTest &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28514&quot;&gt;#28514&lt;/a&gt; Message for searchClientRegistration is missing &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28519&quot;&gt;#28519&lt;/a&gt; Cards in IDP and User federation are not shown to be clicable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28523&quot;&gt;#28523&lt;/a&gt; [LDAPStorageProvider] NPE if user is cached but has been deleted in ldap &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28531&quot;&gt;#28531&lt;/a&gt; notBefore and setToNow untranslated &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28546&quot;&gt;#28546&lt;/a&gt; LDAP provider add has 3 lines on top of screen &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28555&quot;&gt;#28555&lt;/a&gt; Collision with base testsuite dependency &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28564&quot;&gt;#28564&lt;/a&gt; UserStorageSyncManager int overflow &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28575&quot;&gt;#28575&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28576&quot;&gt;#28576&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28577&quot;&gt;#28577&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28579&quot;&gt;#28579&lt;/a&gt; Brute force detection fails with read-only LDAP users &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28606&quot;&gt;#28606&lt;/a&gt; OrganizationTest.testAttributes fails in GHA CI &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28624&quot;&gt;#28624&lt;/a&gt; Incorrect user info in the head when using lightweight access token for account-console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28628&quot;&gt;#28628&lt;/a&gt; Invalide objects comparison in Java &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28638&quot;&gt;#28638&lt;/a&gt; Missing permission to read configmaps in `keycloak-operator-role` &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28640&quot;&gt;#28640&lt;/a&gt; Unable to see user&#39;s inherited role if user has no directly assigned roles &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28649&quot;&gt;#28649&lt;/a&gt; docker-v2 authentication fails with KC-SERVICES0097: Invalid request: java.lang.NullPointerException: Cannot invoke &quot;org.keycloak.models.ClientModel.getClientScopes(boolean)&quot; because &quot;this.client&quot; is null &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28666&quot;&gt;#28666&lt;/a&gt; Accessing a transient (lightweight) user through client session fails in admin-api/-ui &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28684&quot;&gt;#28684&lt;/a&gt; &quot;Extend to children&quot; button in authorization group policies is wrongly disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28702&quot;&gt;#28702&lt;/a&gt; Unable to fetch realm names when contains special characters &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28704&quot;&gt;#28704&lt;/a&gt; Remove invalid &quot;this.&quot; from keycloak-admin-client README &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28725&quot;&gt;#28725&lt;/a&gt; Keycloak 24.0.2 - Enlisted connection used without active transaction &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28744&quot;&gt;#28744&lt;/a&gt; Invalid label `validatingX509Certs` in new SAML identity provider screen &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28746&quot;&gt;#28746&lt;/a&gt; Translations missing for recovery codes in KC 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28747&quot;&gt;#28747&lt;/a&gt; ID is shown prematurely on Identity Provider Mapper after Save &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28748&quot;&gt;#28748&lt;/a&gt; Webauthn Policy timeout accepts values &gt; 8 hours &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28798&quot;&gt;#28798&lt;/a&gt; `passwordPoliciesHelp.notContainsUsername` missing in admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28801&quot;&gt;#28801&lt;/a&gt; NPE when listing sessions in UI if associated user is gone &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28818&quot;&gt;#28818&lt;/a&gt; Child groups filtering returns all groups &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28821&quot;&gt;#28821&lt;/a&gt; Failure reset time is applied to Permanent Lockout &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28824&quot;&gt;#28824&lt;/a&gt; Inconsistent Group Ordering in Keycloak API Responses For Client Policies Causing Drift Detection Challenges &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/fine-grained-permissions&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28825&quot;&gt;#28825&lt;/a&gt; Keycloak Operator 24.x - the keycloak custom image tag is being overwritten with nightly pull &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28881&quot;&gt;#28881&lt;/a&gt; socketTimeoutUnits and establishConnectionTimeoutUnits in HttpClientBuilder are not used &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28896&quot;&gt;#28896&lt;/a&gt; Master realm can be deleted &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28911&quot;&gt;#28911&lt;/a&gt; clients_saml_test.spec.ts fails in main &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28915&quot;&gt;#28915&lt;/a&gt; Possible NPE when exporting user policy &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28947&quot;&gt;#28947&lt;/a&gt; IndexWrapper warnings when starting Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28948&quot;&gt;#28948&lt;/a&gt; Auto-build shouldn&#39;t warn about unavailable runtime options &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28949&quot;&gt;#28949&lt;/a&gt; Conditional cache options are not evaluated correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28964&quot;&gt;#28964&lt;/a&gt; Compilation error in latest main (conflicting PRs for oid4vc and changes for EnvironmentDependentFactory) &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28968&quot;&gt;#28968&lt;/a&gt; Grant urn:ietf:params:oauth:grant-type:pre-authorized_code enabled even if oid4vc_vci feature is disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28979&quot;&gt;#28979&lt;/a&gt; MULTIVALUED_STRING_TYPE does not show in UI if empty &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28982&quot;&gt;#28982&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriUnsupportedCredential &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28983&quot;&gt;#28983&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriInvalidToken &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28984&quot;&gt;#28984&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredential &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28985&quot;&gt;#28985&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriUnauthorized &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28986&quot;&gt;#28986&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUnauthorized &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28987&quot;&gt;#28987&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialInvalidToken &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28988&quot;&gt;#28988&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnauthorized &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28989&quot;&gt;#28989&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testCredentialIssuance &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28990&quot;&gt;#28990&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithoutNonce &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28991&quot;&gt;#28991&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOffer &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28992&quot;&gt;#28992&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithABrokenNote &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28993&quot;&gt;#28993&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferURI &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28994&quot;&gt;#28994&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithoutAPreparedOffer &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28995&quot;&gt;#28995&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnsupportedFormat &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28996&quot;&gt;#28996&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnsupportedCredential &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29027&quot;&gt;#29027&lt;/a&gt; Creating client-scope without protocol causes GUI bug &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29033&quot;&gt;#29033&lt;/a&gt; Argon2 password hashing leads to increased Major GC&#39;s in Keycloak&#39;s JVM during load tests &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29035&quot;&gt;#29035&lt;/a&gt; Admin console message bundle contains duplicate keys &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29039&quot;&gt;#29039&lt;/a&gt; Preflight request with OPTIONS method for token introspection endpoint not working. &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29057&quot;&gt;#29057&lt;/a&gt; not able to disable declarative_ui feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29072&quot;&gt;#29072&lt;/a&gt; Startup probe should check for existence of an Admin user before returning 200 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29129&quot;&gt;#29129&lt;/a&gt; JGroups creates log messages as it switched internally to &quot;trace&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29132&quot;&gt;#29132&lt;/a&gt; Documentation cites wrong endpoint for Docker Registry v2 Authentication &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29133&quot;&gt;#29133&lt;/a&gt; DuplicateEmailValidator causes two DB queries on every login if a user has an email address &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29141&quot;&gt;#29141&lt;/a&gt; Fix waiting for change to take effect in SessionTimeoutsTest &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29142&quot;&gt;#29142&lt;/a&gt; LDAP - GroupToGroup Mapper throws &quot;ENTRY_EXISTS&quot; Error &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29147&quot;&gt;#29147&lt;/a&gt; local user login not possible after LDAP connection problem &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29154&quot;&gt;#29154&lt;/a&gt; Update docs to distinguish between product names and CR names &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29190&quot;&gt;#29190&lt;/a&gt; JS Admin Client does not support q query parameter on users.count() and clients.find() methods &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29206&quot;&gt;#29206&lt;/a&gt; LDAP user creation reports error but user is created &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29213&quot;&gt;#29213&lt;/a&gt; Bad formatting of permissions error in admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29233&quot;&gt;#29233&lt;/a&gt; Broken link in documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29235&quot;&gt;#29235&lt;/a&gt; Tests for persistent sessions are not performed &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29237&quot;&gt;#29237&lt;/a&gt; The select for a locale behaves as a multi-select in the admin and account UI when it should be single value &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29246&quot;&gt;#29246&lt;/a&gt; Flaky test: org.keycloak.testsuite.client.ClientTypesTest#testUpdateClientWithClientType &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29247&quot;&gt;#29247&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testExchangeWithDynamicScopesEnabled &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29248&quot;&gt;#29248&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testClientExchange &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29249&quot;&gt;#29249&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testIntrospectTokenAfterImpersonation &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29250&quot;&gt;#29250&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testPublicClientNotAllowed &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29251&quot;&gt;#29251&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testExchangeUsingServiceAccount &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29252&quot;&gt;#29252&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testImpersonation &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29253&quot;&gt;#29253&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testImpersonationUsingPublicClient &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29259&quot;&gt;#29259&lt;/a&gt; `auth-server-feature` does not work for `auth-server-quarkus-embedded` &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29263&quot;&gt;#29263&lt;/a&gt; Default value for MULTIVALUED_STRING_TYPE in authenticator config is ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29266&quot;&gt;#29266&lt;/a&gt; Documentation Enhancements Admin Rest API Group to Client Role Mappings &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29287&quot;&gt;#29287&lt;/a&gt; Upgraded docker to 24, now unable to browse &quot;authentication&quot; page in one of my realms. &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29294&quot;&gt;#29294&lt;/a&gt; Listing of sessions is very slow when we have tens of thousands sessions (+ not able to know the exact number of sessions) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29309&quot;&gt;#29309&lt;/a&gt; JWSBuilder when used directly with AsymmetricSignatureSignerContext produces non compliant ECDSA signed JWT &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29311&quot;&gt;#29311&lt;/a&gt; POST /{realm}/clients-initial-access is allowing invalid data like count = -1 and expiration date-time can be set earlier than the creation date-time &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29314&quot;&gt;#29314&lt;/a&gt; Clicking the &quot;save&quot; button multiple times in the Saml IDP configuration page corrupts the value of &quot;AuthnContext ClassRefs&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29336&quot;&gt;#29336&lt;/a&gt; Unlocking and saving the user&#39;s temporary lock will render the user disabled. &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29352&quot;&gt;#29352&lt;/a&gt; Fix user-facing typos in error messages &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29362&quot;&gt;#29362&lt;/a&gt; Custom user attributes are not shown for service account users in the Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29376&quot;&gt;#29376&lt;/a&gt; kc export fails when using User Federation (LDAP) with SSL/TLS &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29385&quot;&gt;#29385&lt;/a&gt; Restart authentication event type is not generated &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29408&quot;&gt;#29408&lt;/a&gt; Need to show translation for attributes group on Registration form &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29426&quot;&gt;#29426&lt;/a&gt; Potential bug introduced to JavaKeystoreKeyProvider in #26936   &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29429&quot;&gt;#29429&lt;/a&gt; NPE when Organization feature enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29440&quot;&gt;#29440&lt;/a&gt; clients_tests is unstable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29458&quot;&gt;#29458&lt;/a&gt; Empty CSP header value breaks security filter &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29471&quot;&gt;#29471&lt;/a&gt; Cypress tests store videos even for passing tests &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29495&quot;&gt;#29495&lt;/a&gt; Fixing realm removal when removing groups and brokers associated with an organization &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29507&quot;&gt;#29507&lt;/a&gt; realm_settings_user_profile_enabled fails randomly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29525&quot;&gt;#29525&lt;/a&gt; Maven clean build doesn&#39;t clean admin client generated files &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29528&quot;&gt;#29528&lt;/a&gt; Failure: SessionTimeoutsTest &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29551&quot;&gt;#29551&lt;/a&gt; OAuth 2.0 Device Polling Interval - Setting in Realms settings/Token Plus-Minus to change value not working &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29554&quot;&gt;#29554&lt;/a&gt; Cypress failing on video recording &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29579&quot;&gt;#29579&lt;/a&gt; Increased augmentation time after Quarkus 3.8.4 upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29592&quot;&gt;#29592&lt;/a&gt; Remote caches and other site&#39;s caches might get out-of-sync when persistent sessions are used &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29599&quot;&gt;#29599&lt;/a&gt; Org domain removal from IDP is not properly propagated to the DB &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29602&quot;&gt;#29602&lt;/a&gt; SNYK-JAVA-ORGBOUNCYCASTLE-6277381 - Observable Timing Discrepancy in org.bouncycastle:bcprov-jdk18on &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29607&quot;&gt;#29607&lt;/a&gt; CVE-2024-30172 - Infinite loop in org.bouncycastle:bcprov-jdk18on &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29608&quot;&gt;#29608&lt;/a&gt; CVE-2024-30171 - Observable Discrepancy in org.bouncycastle:bcprov-jdk18on &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29609&quot;&gt;#29609&lt;/a&gt; CVE-2024-29857 - Allocation of Resources Without Limits or Throttling in org.bouncycastle:bcprov-jdk18on &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29620&quot;&gt;#29620&lt;/a&gt; Wrong Media Type / Format of SD JWT VC  &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29625&quot;&gt;#29625&lt;/a&gt; Database driver install examples can lead to permission errors in some circumstances &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29630&quot;&gt;#29630&lt;/a&gt; Unable to import realms with organization feature enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29640&quot;&gt;#29640&lt;/a&gt; Admin console development fail due to whoami endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29641&quot;&gt;#29641&lt;/a&gt; Admin Console uses a wrong URL type for auth server &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29644&quot;&gt;#29644&lt;/a&gt; Unmanaged Attributes drop down doesn&#39;t reflect the value &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29688&quot;&gt;#29688&lt;/a&gt; client_authorization_test fails &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29699&quot;&gt;#29699&lt;/a&gt; Snyk Report is not preventing duplicates &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29738&quot;&gt;#29738&lt;/a&gt; Broken translations for loa-condition-level and loa-max-age &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29756&quot;&gt;#29756&lt;/a&gt; MigrateTo25_0_0 does not complete within default transaction timeout &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29788&quot;&gt;#29788&lt;/a&gt; OpenAPI: Missing content definition for authentication flow executions GET API &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29802&quot;&gt;#29802&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.UserSessionPersisterProviderTest#testMigrateSession &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29805&quot;&gt;#29805&lt;/a&gt; Supported Credential Type is not evaluated when applying the Protocol Mapper in OID4VCI &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29808&quot;&gt;#29808&lt;/a&gt; LDAP User federation: LDAP: error code 49 - Invalid Credentials &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29814&quot;&gt;#29814&lt;/a&gt; package com.google.common.hash does not exist when building keycloak-api-docs-dist  &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29816&quot;&gt;#29816&lt;/a&gt; Aggregated javadoc generation fix + missing keycloak-operator javadoc &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29868&quot;&gt;#29868&lt;/a&gt; Missing Text for x509 &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29869&quot;&gt;#29869&lt;/a&gt; Kubernetes resources point to non-existing Operator image &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29875&quot;&gt;#29875&lt;/a&gt; Upgrade supported PostgreSQL to version 16 &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29885&quot;&gt;#29885&lt;/a&gt; Unable to create an  LD-Credentials/VCDM provider for OID4VC &lt;span class=&quot;badge bg-secondary&quot;&gt;oid4vc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29931&quot;&gt;#29931&lt;/a&gt; Cannot access the account console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29939&quot;&gt;#29939&lt;/a&gt; Increased GC overhead in the continuous performance tests after G1GC compiler change &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29948&quot;&gt;#29948&lt;/a&gt; Reason not logged in event for invalid SAML request &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29968&quot;&gt;#29968&lt;/a&gt; x509 SAN UPN other name is not handled in JDK 21 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29976&quot;&gt;#29976&lt;/a&gt; CI for JS not running all the tasks &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29981&quot;&gt;#29981&lt;/a&gt; Enabling and disabling functions are not working properly in KC GUI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29982&quot;&gt;#29982&lt;/a&gt; Revert editorconfig for properties files as trailing blanks are used &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29984&quot;&gt;#29984&lt;/a&gt; Nightly build for API docs is broken &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30018&quot;&gt;#30018&lt;/a&gt; SessionTimeoutsTest failing even after retry, probably due to insufficient cleanup &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30023&quot;&gt;#30023&lt;/a&gt; Using {application.session.host} in backchannel logout url prevents from saving client &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30024&quot;&gt;#30024&lt;/a&gt; Sign out button in the account console has wrong Selenium locator &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30028&quot;&gt;#30028&lt;/a&gt; Typo in the upgrading guide for persistent sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30049&quot;&gt;#30049&lt;/a&gt; All roles are populated as inherited roles if a single role is added to a dedicated client scope &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30068&quot;&gt;#30068&lt;/a&gt; Update RFC reference in subject: Likely typo RFC2553 -&gt; RFC2253, Consider RFC4514 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30079&quot;&gt;#30079&lt;/a&gt; The OID4VC tests break automation &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30086&quot;&gt;#30086&lt;/a&gt; Remove sources folder before invoking JakartaTransformer &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30102&quot;&gt;#30102&lt;/a&gt; Updating client policies in JSON editor is buggy. Attempt to update global client policies should throw the error &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30120&quot;&gt;#30120&lt;/a&gt; Option `cache-remote-tls-enabled` is missing the default &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30126&quot;&gt;#30126&lt;/a&gt; Client scope names not shown in evaluate section in client-scopes tab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30134&quot;&gt;#30134&lt;/a&gt; Malformed dependency version causing the build failure &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30196&quot;&gt;#30196&lt;/a&gt; Test PoC does not run with Quarkus fork join worker &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30201&quot;&gt;#30201&lt;/a&gt; Keycloak CI - failure in Store IT (aurora-postgres) &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30206&quot;&gt;#30206&lt;/a&gt; Use forkjoin pool factory in testsuite for embedded Quarkus Auth Server &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30218&quot;&gt;#30218&lt;/a&gt; Locale dropdowns not working &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30220&quot;&gt;#30220&lt;/a&gt; Base theme contains properties without default values &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/06/keycloak-2500-released</guid>
        <pubDate>Mon, 10 Jun 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 24.0.5 released</title>
        <link>https://www.keycloak.org/2024/06/keycloak-2405-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_security_issue_with_par_clients_using_client_secret_post_based_authentication&quot;&gt;Security issue with PAR clients using client_secret_post based authentication&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release contains the fix of the important security issue affecting some OIDC confidential clients using PAR (Pushed authorization request). In case you use OIDC confidential clients together
with PAR and you use client authentication based on &lt;code&gt;client_id&lt;/code&gt; and &lt;code&gt;client_secret&lt;/code&gt; sent as parameters in the HTTP request body (method &lt;code&gt;client_secret_post&lt;/code&gt; specified in the OIDC specification), it is
highly encouraged to rotate the client secrets of your clients after upgrading to this version.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29073&quot;&gt;#29073&lt;/a&gt; Use cache.compute() method to improve the replace retry loop &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29280&quot;&gt;#29280&lt;/a&gt; Update Create Realm in Keycloak 24 Getting Started &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29129&quot;&gt;#29129&lt;/a&gt; JGroups creates log messages as it switched internally to &quot;trace&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29206&quot;&gt;#29206&lt;/a&gt; LDAP user creation reports error but user is created &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29314&quot;&gt;#29314&lt;/a&gt; Clicking the &quot;save&quot; button multiple times in the Saml IDP configuration page corrupts the value of &quot;AuthnContext ClassRefs&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29458&quot;&gt;#29458&lt;/a&gt; Empty CSP header value breaks security filter &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29471&quot;&gt;#29471&lt;/a&gt; Cypress tests store videos even for passing tests &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29525&quot;&gt;#29525&lt;/a&gt; Maven clean build doesn&#39;t clean admin client generated files &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29554&quot;&gt;#29554&lt;/a&gt; Cypress failing on video recording &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29625&quot;&gt;#29625&lt;/a&gt; Database driver install examples can lead to permission errors in some circumstances &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/06/keycloak-2405-released</guid>
        <pubDate>Tue, 4 Jun 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 24.0.4 released</title>
        <link>https://www.keycloak.org/2024/05/keycloak-2404-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_partial_update_to_user_attributes_when_updating_users_through_the_admin_user_api_is_no_longer_supported&quot;&gt;Partial update to user attributes when updating users through the Admin User API is no longer supported&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When updating user attributes through the Admin User API, you cannot execute partial updates when updating the
user attributes, including the root attributes like &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;email&lt;/code&gt;, &lt;code&gt;firstName&lt;/code&gt;, and &lt;code&gt;lastName&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.4/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27508&quot;&gt;#27508&lt;/a&gt; Use new remote-store options in HA guides &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28429&quot;&gt;#28429&lt;/a&gt; Add details to error messages, especially around refresh tokens &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28729&quot;&gt;#28729&lt;/a&gt; Emphasize the need for setting container limit &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28880&quot;&gt;#28880&lt;/a&gt; Upgrade to Quarkus 3.8.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29183&quot;&gt;#29183&lt;/a&gt; Minor corrections to High Availability Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16345&quot;&gt;#16345&lt;/a&gt; Unable to delete realm names with invalid URL characters &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22617&quot;&gt;#22617&lt;/a&gt; kc export fails when using User Federation (LDAP) with file-based Vault enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24568&quot;&gt;#24568&lt;/a&gt; iframe for frontend logout gets blocked if a custom CSP header is used &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24878&quot;&gt;#24878&lt;/a&gt; NoClassDefFoundError for Apache XML and EAP8 &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27021&quot;&gt;#27021&lt;/a&gt; Workflow failure: Fuse adapter tests &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27080&quot;&gt;#27080&lt;/a&gt; Workflow failure: Operator CI - KeycloakTruststoresTests#testTrustroreExists &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27514&quot;&gt;#27514&lt;/a&gt; Uncaught server error: java.lang.IllegalArgumentException: Path parameter not provided &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28079&quot;&gt;#28079&lt;/a&gt; Group search does not work in user view &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28187&quot;&gt;#28187&lt;/a&gt; Admin UI drag &amp; drop in flow config seems to delete actions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28220&quot;&gt;#28220&lt;/a&gt; Admin API: User PUT operation clears firstname, lastname email fields &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28303&quot;&gt;#28303&lt;/a&gt; WARN - Event object wasn&#39;t available in remote cache after event was received &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28377&quot;&gt;#28377&lt;/a&gt; Broken lists in import/export server guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28431&quot;&gt;#28431&lt;/a&gt; Dedicated client scopes always show up when searching &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28514&quot;&gt;#28514&lt;/a&gt; Message for searchClientRegistration is missing &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28666&quot;&gt;#28666&lt;/a&gt; Accessing a transient (lightweight) user through client session fails in admin-api/-ui &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28684&quot;&gt;#28684&lt;/a&gt; &quot;Extend to children&quot; button in authorization group policies is wrongly disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28911&quot;&gt;#28911&lt;/a&gt; clients_saml_test.spec.ts fails in main &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29072&quot;&gt;#29072&lt;/a&gt; Startup probe should check for existence of an Admin user before returning 200 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29094&quot;&gt;#29094&lt;/a&gt; Fix the client name help grammatical error &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29133&quot;&gt;#29133&lt;/a&gt; DuplicateEmailValidator causes two DB queries on every login if a user has an email address &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29147&quot;&gt;#29147&lt;/a&gt; local user login not possible after LDAP connection problem &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29154&quot;&gt;#29154&lt;/a&gt; Update docs to distinguish between product names and CR names &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29233&quot;&gt;#29233&lt;/a&gt; Broken link in documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/05/keycloak-2404-released</guid>
        <pubDate>Wed, 8 May 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>High availability in Keycloak 24</title>
        <link>https://www.keycloak.org/2024/05/keycloak-at-devoxx-france-2024-recap</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A single sign on solution for your customers and employees shouldn&amp;#8217;t be a single-point-of-failure in your architecture.
At Devoxx France 2024, Ryan Emerson and Alexander Schwartz presented, from an architects and developer perspective, how Keycloak approached the problem.
They describe which architecture the Keycloak team chose, the challenges they faced and which tools helped along the way.
The slides and the recorded video are linked below.
Scroll down for additional links and details of the tasks we&amp;#8217;re currently working on to further enhance the architecture.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/y1yE7Rd3lGE?si=rllY8vPtmAw1CvaP&amp;amp;start=8&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen style=&quot;width: 100%; max-width: 600px; height: auto; aspect-ratio: 560 / 315;&quot; &gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;iframe class=&quot;speakerdeck-iframe&quot; frameborder=&quot;0&quot; src=&quot;https://speakerdeck.com/player/9514fa8879e24fea9b706e7331fed95d&quot; title=&quot;Highly available Identity and Access Management with multi-site Keycloak deployments in the cloud&quot; allowfullscreen=&quot;true&quot; style=&quot;border: 0px; background: padding-box padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 100%; max-width: 600px; height: auto; aspect-ratio: 560 / 315;&quot; data-ratio=&quot;1.7777777777777777&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;a href=&quot;https://www.keycloak.org/resources/images/blog/devoxx_france_2024.jpg&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/devoxx_france_2024.jpg&quot; alt=&quot;Two speakers on a stage at Devoxx France with slides from Keycloak&quot; style=&quot;width: 100%; max-width: 600px; height: auto; aspect-ratio: 560 / 315;&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A clustered Keycloak deployment in a single site or datacenter provides sufficient availability for many.
However, an increasing number of organizations need to utilize multiple sites for improved resiliency or to meet legal requirements.
In 2023, Keycloak overhauled its multi-site capabilities for public and private cloud infrastructures, tested them thoroughly and provided deployment blueprints to the community.
As part of the release of Keycloak 24, an active/passive setup is now fully supported.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more about it in the new &lt;a href=&quot;https://www.keycloak.org/high-availability/introduction&quot;&gt;high availability guide&lt;/a&gt; published as part of &lt;a href=&quot;https://www.keycloak.org/documentation&quot;&gt;Keycloak’s documentation&lt;/a&gt;, and get more tools and background information in the &lt;a href=&quot;https://github.com/keycloak/keycloak-benchmark&quot;&gt;Keycloak Benchmark Project&lt;/a&gt;.
Since the &lt;a href=&quot;https://www.keycloak.org/2023/12/recover-site-failures.html&quot;&gt;previous blog post&lt;/a&gt; which covered Keycloak 23, we have made the configuration of such a setup simpler, with fewer options required by Keycloak and the Keycloak Operator.
Thank you to everyone who provided feedback along the way, and those who participated in our survey in early 2023 which guided us in the implementation of this setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Still, the journey doesn&amp;#8217;t stop here: The team is now working on &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/28271&quot;&gt;durable sessions across restarts and upgrades&lt;/a&gt;, and a
&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28745&quot;&gt;simpler Infinispan architecture which aims to eventually support active/active&lt;/a&gt;.
Follow these issues and discussions to stay up-to-date with the latest developments, and provide feedback on Keycloak’s nightly builds.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/05/keycloak-at-devoxx-france-2024-recap</guid>
        <pubDate>Tue, 7 May 2024 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz, Ryan Emerson</author>
      </item>
      <item>
        <title>Keycloak 24.0.3 released</title>
        <link>https://www.keycloak.org/2024/04/keycloak-2403-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26695&quot;&gt;#26695&lt;/a&gt; Keycloak and MSAD: enabling account in MSAD does not propagate to Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24201&quot;&gt;#24201&lt;/a&gt; Cannot disable LDAP-backed user if importEnabled=false &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28100&quot;&gt;#28100&lt;/a&gt; Failed authentication: java.lang.NullPointerException: Cannot invoke &quot;org.keycloak.models.UserModel.getFederationLink()&quot; because &quot;this.delegate&quot; is null &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28248&quot;&gt;#28248&lt;/a&gt; Update user makes User ID changes when federationLink and LDAP_ID is not set properly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28335&quot;&gt;#28335&lt;/a&gt; The false option of the pkceMethod init parameter for the JavaScript adapter is ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28638&quot;&gt;#28638&lt;/a&gt; Missing permission to read configmaps in `keycloak-operator-role` &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/04/keycloak-2403-released</guid>
        <pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Recap from KubeCon + CloudNativeCon Europe 2024</title>
        <link>https://www.keycloak.org/2024/04/keycloak-at-kubecon-eu-2024-recap</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After a packed week of fantastic talks at &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-europe&quot;&gt;KubeCon + CloudNativeCon Europe 2024 in Paris&lt;/a&gt;, we&amp;#8217;re delighted to share our impressions with the rest of the Keycloak community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_and_oauth2_token_exchange_for_microservice_api_security&quot;&gt;Keycloak and OAuth2 Token Exchange for Microservice API Security&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The presence of Keycloak in many presentations highlighted its importance in the cloud-native ecosystem. Notably, the talk &lt;a href=&quot;https://kccnceu2024.sched.com/event/1YeLf&quot;&gt;&amp;#8220;OAuth2 Token
Exchange for Microservice API Security&amp;#8221; by Ahmet Soormally &amp;amp; Letz Yaara&lt;/a&gt; on &lt;a href=&quot;https://oauth.net/2/token-exchange&quot;&gt;OAuth2 Token Exchange (RFC 8693)&lt;/a&gt; underscored its application in
microservice security and pinpointed areas for Keycloak&amp;#8217;s enhancement. Efforts to advance the support for Token Exchange are underway, and community feedback is
invaluable. Please join the &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/26502&quot;&gt;discussion on the current usage of Token Exchange&lt;/a&gt; to help us out.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_and_the_secrets_of_the_universe_at_cern&quot;&gt;Keycloak and the Secrets of the Universe at CERN&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A standout moment was learning about Keycloak&amp;#8217;s role at CERN in the talk &lt;a href=&quot;https://kccnceu2024.sched.com/event/1YeOF&quot;&gt;&amp;#8220;The Hard Life of Securing a Particle Accelerator&amp;#8221;, as shared by
Antonio Nappi and Sebastian Lopienski&lt;/a&gt;, emphasizing its contribution to securing the particle accelerator&amp;#8217;s IAM infrastructure.
Keycloak supports research on the nature of the universe. How cool is that :)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_openfga_and_kubernetes_authorizer&quot;&gt;Keycloak, OpenFGA, and Kubernetes Authorizer&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://kccnceu2024.sched.com/event/1YeQD&quot;&gt;Jonathan Whitaker&amp;#8217;s talk &amp;#8220;Federated IAM for Kubernetes with OpenFGA&amp;#8221;&lt;/a&gt; on federated IAM with OpenFGA showcased innovative
approaches for managing access to Kubernetes resources through the combination of Keycloak, &lt;a href=&quot;https://openfga.dev/&quot;&gt;OpenFGA&lt;/a&gt; and a &lt;a href=&quot;https://kubernetes.io/docs/reference/access-authn-authz/authorization/&quot;&gt;custom Kubernetes Authorizer Web Hook&lt;/a&gt;. In particular, the demonstration of temporarily elevated access to Kubernetes resources was very well received.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_the_leading_edge_of_authn_and_authz&quot;&gt;Keycloak: The Leading Edge of AuthN and AuthZ&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Last but not least, our session, &lt;a href=&quot;https://kccnceu2024.sched.com/event/1YhiQ&quot;&gt;&amp;#8220;The Leading Edge of AuthN and AuthZ by Keycloak&amp;#8221;, presented by Takashi Norimatsu
 and Thomas Darimont&lt;/a&gt;, introduced the latest Keycloak advancements, including support for &lt;a href=&quot;https://passkeys.dev&quot;&gt;Passkeys&lt;/a&gt;, &lt;a href=&quot;https://oauth.net/2.1&quot;&gt;OAuth 2.1&lt;/a&gt;, and OpenID for Verifiable Credentials (&lt;a href=&quot;https://oauth.net/openid-for-verifiable-credentials&quot;&gt;OpenID4VC&lt;/a&gt;). As part of our talk, we showed the current &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#passkeys_server_administration_guide&quot;&gt;support for Passkeys&lt;/a&gt; and &lt;a href=&quot;https://github.com/thomasdarimont/keycloak-opa-authz-demo&quot;&gt;some integration options&lt;/a&gt; with &lt;a href=&quot;https://www.openpolicyagent.org&quot;&gt;Open Policy Agent&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_summary&quot;&gt;Summary&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is an essential pillar of many cloud-native systems and significantly impacted the conference, attracting thousands of Kubernetes and cloud-native professionals.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The engagement and collaborative spirit of the cloud-native community were genuinely inspiring, underscoring the collective drive to enhance and innovate within this vibrant ecosystem.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re very proud and happy to be part of this fantastic community!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2024/04/keycloak-at-kubecon-eu-2024-recap</guid>
        <pubDate>Mon, 15 Apr 2024 00:00:00 GMT</pubDate>
        
        <author>Thomas Darimont</author>
      </item>
      <item>
        <title>Keycloak 24.0.2 released</title>
        <link>https://www.keycloak.org/2024/03/keycloak-2402-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25057&quot;&gt;#25057&lt;/a&gt; Inconsistent behaviour on getting user permissions using authorization &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27433&quot;&gt;#27433&lt;/a&gt; Clarify format of keys in `additionalOptions` field in the Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27481&quot;&gt;#27481&lt;/a&gt; Edit High Availability guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27484&quot;&gt;#27484&lt;/a&gt; Edit 23.0 changes part of Upgrading Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27632&quot;&gt;#27632&lt;/a&gt; Integrate downstream Upgrading Guide changes into upstream &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27696&quot;&gt;#27696&lt;/a&gt; Upgrade to Quarkus 3.8.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27867&quot;&gt;#27867&lt;/a&gt; Corrections to Securing Apps Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27871&quot;&gt;#27871&lt;/a&gt; Upgrade to Infinispan 14.0.26 &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27953&quot;&gt;#27953&lt;/a&gt; Address feedback to Keycloak Server guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27955&quot;&gt;#27955&lt;/a&gt; Address term Keycloak in Server Administration Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28009&quot;&gt;#28009&lt;/a&gt; Address edits to the Operator Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28033&quot;&gt;#28033&lt;/a&gt; Upgrade Infinispan to 14.0.27.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28084&quot;&gt;#28084&lt;/a&gt; Upgrade to Quarkus 3.8.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14501&quot;&gt;#14501&lt;/a&gt; Getting failed to initialize js message if consent is rejected by user &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15403&quot;&gt;#15403&lt;/a&gt; No email send on TOTP/Authenticator app removal &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20637&quot;&gt;#20637&lt;/a&gt; Reset password flow fails with &quot;Page has expired&quot; error when Kerberos authentication is enabled in the browser flow &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22644&quot;&gt;#22644&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.BrowserFlowTest#testAlternativeNonInteractiveExecutorInSubflow &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23701&quot;&gt;#23701&lt;/a&gt; Attribute search does not work with federated users with ldap. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23980&quot;&gt;#23980&lt;/a&gt; Keycloak Operator fails to install realm authentication flow because &quot;flow is null&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25490&quot;&gt;#25490&lt;/a&gt; Partial export/import is not mentioned in Keycloak&#39;s Server Administration Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25687&quot;&gt;#25687&lt;/a&gt; A java.lang.NullPointerException occurs when sending a Multipart/form-data request to any file upload interface. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26396&quot;&gt;#26396&lt;/a&gt; How do you update a custom user storage provider jar that includes a version number? &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27117&quot;&gt;#27117&lt;/a&gt; user sessions not accessible in all cluster nodes &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27180&quot;&gt;#27180&lt;/a&gt; Grant type &quot;urn:ietf:params:oauth:grant-type:uma-ticket&quot; openid-connect/token service endpoint is returning refresh token with invalid Expiration &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27228&quot;&gt;#27228&lt;/a&gt; Lowercased &quot;terms_and_conditions&quot; is not migrated in fed_user_required_action table &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27245&quot;&gt;#27245&lt;/a&gt; Account console does not correctly treat link / unlink account &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27269&quot;&gt;#27269&lt;/a&gt; mvnw clean install -Pdistribution on Windows deletes necessary files during clean of org.keycloak:keycloak-admin-ui  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27275&quot;&gt;#27275&lt;/a&gt; Invalidating offline token is not working from client sessions tab   &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27366&quot;&gt;#27366&lt;/a&gt; Social login - test failures with unexpected status code &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27483&quot;&gt;#27483&lt;/a&gt; Authz-client AuthorizationResource.getPermissions() ClassCastException &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27504&quot;&gt;#27504&lt;/a&gt; Cpu and memory sizing typo  &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27529&quot;&gt;#27529&lt;/a&gt; LegacyUserCredentialManager class not found &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27540&quot;&gt;#27540&lt;/a&gt; URL change for liquibase docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27548&quot;&gt;#27548&lt;/a&gt; Custom Browser Flow not working anymore &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27573&quot;&gt;#27573&lt;/a&gt; Release notes from 24.0.0 miss that multi-site active-passive deployments are supported &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27597&quot;&gt;#27597&lt;/a&gt; dropping KC_PROXY=edge causes startup error  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27611&quot;&gt;#27611&lt;/a&gt; Cannot modify realm email settings since keycloak 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27653&quot;&gt;#27653&lt;/a&gt; Admin tests: Flaky realm_settings_user_profile_enabled test &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27701&quot;&gt;#27701&lt;/a&gt; MTLS Cache options should be runtime options, not build time options &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27719&quot;&gt;#27719&lt;/a&gt; Wrong Welcome page image in the documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27745&quot;&gt;#27745&lt;/a&gt; Registration template in login2 is broken &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27761&quot;&gt;#27761&lt;/a&gt; Snyk workflow failure &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27779&quot;&gt;#27779&lt;/a&gt; Broken Migration &quot;MigrateTo24_0_0&quot;  &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27780&quot;&gt;#27780&lt;/a&gt; Fixing downstream documentation build &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27797&quot;&gt;#27797&lt;/a&gt; User profile fields cannot be set empty once they have a non-empty value (in Login Theme) &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27820&quot;&gt;#27820&lt;/a&gt; Account console confusing with WebAuthn &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27841&quot;&gt;#27841&lt;/a&gt; ES translation causes FreeMarker rendering issues &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27852&quot;&gt;#27852&lt;/a&gt; VerifyUserProfile invalidates user cache on every login &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27878&quot;&gt;#27878&lt;/a&gt; Error when executing refresh grant, with scope param, without offline_access scope specified &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27882&quot;&gt;#27882&lt;/a&gt; Incorrect version of bctls-fips in the docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27892&quot;&gt;#27892&lt;/a&gt; Truststore handling for the Operator is not documented &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27894&quot;&gt;#27894&lt;/a&gt; Multi datasource configuration does not work in Keycloak 24.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27900&quot;&gt;#27900&lt;/a&gt; Performance impact in changed hashing measured wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27925&quot;&gt;#27925&lt;/a&gt; Keycloak docs state that there are http metrics, but they are disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27954&quot;&gt;#27954&lt;/a&gt; Hibernate Dialect detection does not work anymore for Oracle DBs &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27966&quot;&gt;#27966&lt;/a&gt; 🍺 instead of dot: Attributes in account UI are not loaded &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27967&quot;&gt;#27967&lt;/a&gt; ORA-01450 when updating keycloak 23 -&gt; 24 &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27981&quot;&gt;#27981&lt;/a&gt; User Profile: Inconsistent ordering of attributes between account and login themes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28001&quot;&gt;#28001&lt;/a&gt; MySQL connector artifact should be ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28012&quot;&gt;#28012&lt;/a&gt; Keycloak CR Truststore should not have a name &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28113&quot;&gt;#28113&lt;/a&gt; WebAuthN registration broken after upgrading to 24.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/03/keycloak-2402-released</guid>
        <pubDate>Mon, 25 Mar 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 24.0.1 released</title>
        <link>https://www.keycloak.org/2024/03/keycloak-2401-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_operator_deploys_nightly_build_instead_of_24_0_0&quot;&gt;Operator deploys nightly build instead of 24.0.0&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Due to an issue in the release process when deploying Keycloak using the Operator it installed the &lt;code&gt;nightly&lt;/code&gt; container
instead of &lt;code&gt;24.0.0&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a quick fix to the issue, the &lt;code&gt;24.0.0&lt;/code&gt; container was tagged with &lt;code&gt;nightly&lt;/code&gt;, and the &lt;code&gt;nightly&lt;/code&gt; releases was temporarily
disabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you installed or upgraded to &lt;code&gt;24.0.0&lt;/code&gt; using the Operator before 5pm CET yesterday the database may have been updated
with the wrong versions. To check if you are affected connect to your database and run the following SQL command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;SELECT * from migration_model WHERE version = &#39;999.0.0&#39;;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If the above returns a matching row you will need to take some actions, otherwise database migrations will not run for
future releases. To resolve this run the following SQL command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;UPDATE migration_model SET version = &#39;24.0.0&#39; WHERE version = &#39;999.0.0&#39;;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

</description>
        <guid>https://www.keycloak.org/2024/03/keycloak-2401-released</guid>
        <pubDate>Tue, 5 Mar 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 24.0.0 released</title>
        <link>https://www.keycloak.org/2024/03/keycloak-2400-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_supported_user_profile_and_progressive_profiling&quot;&gt;Supported user profile and progressive profiling&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The user profile preview feature is promoted to be fully supported and user profile is enabled by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the past months, the Keycloak team spent a huge amount of effort in polishing the user
profile feature to make it fully supported. In this release, we continued the effort. Lots of improvements, fixes and
polishing were done based on the thorough testing and feedback from our awesome community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following are a few highlights of this feature;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fine-grained control over the attributes that users and administrators can manage so that you can prevent unexpected attributes and values from being set.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ability to specify what user attributes are managed and should be displayed on the forms to regular users or administrators.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dynamic forms - Previously, the forms where users created or updated their profiles, contain four basic attributes like username, email, first name and last name. The addition of any
attributes (or removing some default attributes) required you to create a custom theme. Now custom themes may not be needed because users see exactly the requested attributes based on the requirement of the particular deployment.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validations - Ability to specify validators for the user attributes including built-in validators that you can use to specify a maximum or minimum length, a specific regex, or limiting a
particular attribute to be a URL or number.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Annotations - Ability to specify that particular attribute should be rendered for instance as a text area, an HTML select with specified options, or calendar or many other options. You can also bind JavaScript code to a specific field to change how an attribute is rendered and customize its behavior.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Progressive profiling - Ability to specify that some fields are required or available on the forms just for particular values of &lt;code&gt;scope&lt;/code&gt; parameter. This effectively allow progressive
profiling. You no longer need to ask the user for twenty attributes during registration; you can instead ask the user to fill in attributes incrementally according to the requirements of the individual client
applications that are used by the user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Migration from previous versions - The user profile is now always enabled, but it operates as before for those who did not use this feature. You can
benefit from the user profile capabilities, but you are not required to use them. For migration instructions, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The first release of the user profile as a supported feature is just the starting point and the baseline for delivering many more capabilities around identity management.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would like to give huge thanks to the awesome Keycloak community as lots of ideas, requirements and contributions came from the community! Special thanks to:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/velias&quot;&gt;Vlastimil Eliáš&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/alechenninger&quot;&gt;Alec Henninger&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bs-matil&quot;&gt;Markus Till&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/sschu&quot;&gt;Sebastian Schuster&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/antikalk&quot;&gt;Oliver&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/patrickjennings&quot;&gt;Patrick Jennings&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/adrhine&quot;&gt;Andrew&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details about user profile capabilities, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/server_admin/#user-profile&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_breaking_changes_to_the_user_profile_spi&quot;&gt;Breaking changes to the User Profile SPI&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, changes to the User Profile SPI might impact existing implementations based on this SPI. For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_changes_to_freemarker_templates_to_render_pages_based_on_the_user_profile_and_realm&quot;&gt;Changes to Freemarker templates to render pages based on the user profile and realm&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, the following templates were updated to make it possible to dynamically render attributes based
on the user profile configuration set to a realm:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;login-update-profile.ftl&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;register.ftl&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;update-email.ftl&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_freemarker_template_for_the_update_profile_page_at_first_login_through_a_broker&quot;&gt;New Freemarker template for the update profile page at first login through a broker&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, the server renders the update profile page when the user is authenticating through a broker for the
first time using the &lt;code&gt;idp-review-user-profile.ftl&lt;/code&gt; template.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_java_adapter_deprecation_and_removal&quot;&gt;Java adapter deprecation and removal&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Back in 2022 we announced the &lt;a href=&quot;https://www.keycloak.org/2022/02/adapter-deprecation.html&quot;&gt;deprecation of Keycloak adapters in Keycloak 19&lt;/a&gt;.
To give the community more time to adopt this &lt;a href=&quot;https://www.keycloak.org/2023/03/adapter-deprecation-update.html&quot;&gt;was delayed&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With that in mind, this will be the last major release of Keycloak to include OpenID Connect and SAML adapters.
As Jetty 9.x has not been supported since 2022 the Jetty adapter has been removed already in this release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The generic Authorization Client library will continue to be supported, and aims to be used in combination with any
other OAuth 2.0 or OpenID Connect libraries.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The only adapter we will continue to deliver is the SAML adapter for latest releases of WildFly and EAP 8.x. Reasoning
for continuing to support this is down to the fact that the majority of the SAML codebase in Keycloak was a contribution
from WildFly. As part of this contribution we agreed to maintain SAML adapters for WildFly and EAP in the long run.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_jetty_adapter_removed&quot;&gt;Jetty adapter removed&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Jetty 9.4 has not been supported in the community for a long time, and reached end-of-life in 2022. At the same time the
adapter has not been updated or tested with more recent versions of Jetty. For these reasons the Jetty adapter has been
removed from this release.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_welcome_page&quot;&gt;New Welcome Page&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &#39;welcome&#39; page that appears at the first use of Keycloak is redesigned. It provides a better setup experience and conforms to the latest version of &lt;a href=&quot;https://www.patternfly.org/&quot;&gt;PatternFly&lt;/a&gt;. The simplified page layout includes only a form to register the first administrative user. After completing the registration, the user is sent directly to the Admin Console.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you use a custom theme, you may need to update it to support the new welcome page. For details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_new_account_console_now_the_default&quot;&gt;New Account Console now the default&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We introduced version 3 of the Account Console in Keycloak 22 as a preview feature. In this release, we are making it the default version, and deprecating version 2 in the process, which will be removed in a subsequent release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This new version has built-in support for the user profile feature, which allows administrators to configure which attributes are available to users in the Account Console, and lands a user directly on their personal account page after logging in.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using or extending the customization features of this theme,  you may need to perform additional migrations. For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_js&quot;&gt;Keycloak JS&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_using_exports_field_in_package_json&quot;&gt;Using &lt;code&gt;exports&lt;/code&gt; field in &lt;code&gt;package.json&lt;/code&gt;&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak JS adapter now uses the &lt;a href=&quot;https://webpack.js.org/guides/package-exports/&quot;&gt;&lt;code&gt;exports&lt;/code&gt; field&lt;/a&gt; in its &lt;code&gt;package.json&lt;/code&gt;. This change improves support for more modern bundlers like Webpack 5 and Vite, but comes with some unavoidable breaking changes. See the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_pkce_enabled_by_default&quot;&gt;PKCE enabled by default&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak JS adapter now sets the &lt;code&gt;pkceMethod&lt;/code&gt; option to &lt;code&gt;S256&lt;/code&gt; by default. This change enables Proof Key Code Exchange (&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7636&quot;&gt;PKCE&lt;/a&gt;) for all applications using the adapter. If you use the adapter on a system that does not support PKCE, you can set the &lt;code&gt;pkceMethod&lt;/code&gt; option to &lt;code&gt;false&lt;/code&gt; to disable it.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_changes_to_password_hashing&quot;&gt;Changes to Password Hashing&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we adapted the password hashing defaults to match the &lt;a href=&quot;https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2&quot;&gt;OWASP recommendations for Password Storage&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of this change, the default password hashing provider has changed from &lt;code&gt;pbkdf2-sha256&lt;/code&gt; to &lt;code&gt;pbkdf2-sha512&lt;/code&gt;.
Also, the number of default hash iterations for &lt;code&gt;pbkdf2&lt;/code&gt; based password hashing algorithms changed. This change means better security aligned with latest recommendations, but
it has impact on performance. It is possible to stick to the old behaviour by adding password policies &lt;code&gt;hashAlgorithm&lt;/code&gt; and &lt;code&gt;hashIterations&lt;/code&gt; to your realm. For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_oauthoidc_related_improvements&quot;&gt;OAuth/OIDC related improvements&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_lightweight_access_tokens_support&quot;&gt;Lightweight access tokens support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release contains support for Lightweight access tokens. As a result, you can have smaller access tokens for specified clients. These tokens have only a few
claims, which is why they are smaller. Note that lightweight access token is still JWT signed by the realm key by default and still contains some very basic claims.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release introduces an &lt;strong&gt;Add to lightweight access token&lt;/strong&gt; flag that is available on some OIDC protocol mappers. Use this flag to specify if a particular claim should be added to a lightweight
access token. It is &lt;strong&gt;OFF&lt;/strong&gt; by default, which means that most claims are not added.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also, a client policy executor exists. Use it to specify if a particular client request
should use lightweight access tokens or regular access tokens. An alternative to the executor is to use an &lt;strong&gt;Always use lightweight access token&lt;/strong&gt; flag on client advanced
settings, which causes that client to always use lightweight access tokens. An executor can be an alternative if you need
more flexibility. For instance, you may choose to use lightweight access tokens by default but use regular tokens only for the specified &lt;strong&gt;scope&lt;/strong&gt; parameter.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A previous release added an &lt;strong&gt;Add to token introspection&lt;/strong&gt; switch. You use it to add
claims that are not present in the access token into the introspection endpoint response.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https://github.com/skabano&quot;&gt;Shigeyuki Kabano&lt;/a&gt; for the contribution and Thanks to
&lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for a help and review of this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_oauth_2_1_support&quot;&gt;OAuth 2.1 support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release contains optional OAuth 2.1 support. New client policy profiles were introduced in this release, which administrators can use to make sure that clients and particular client requests comply with the OAuth 2.1 specification. A dedicated client profile exists for confidential clients and a dedicated profile for public clients.
Thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/skabano&quot;&gt;Shigeyuki Kabano&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_scope_parameter_supported_in_the_refresh_token_flow&quot;&gt;Scope parameter supported in the refresh token flow&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with this release, the &lt;strong&gt;scope&lt;/strong&gt; parameter in the OAuth2/OIDC endpoint for token refresh is supported. Use this parameter to request access tokens with a smaller amount
of scopes than originally granted, which means you cannot increase access token scope. This scope limitation does not affect the scope of the refreshed refresh token. This function works as
described in the OAuth2 specification.
Thanks to &lt;a href=&quot;https://github.com/cgeorgilakis&quot;&gt;Konstantinos Georgilakis&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_client_policy_executor_for_secure_redirect_uris&quot;&gt;Client policy executor for secure redirect URIs&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new client policy executor &lt;code&gt;secure-redirect-uris-enforcer&lt;/code&gt; is introduced. Use it to restrict which redirect URIs can be used by the clients. For instance,
you can specify that client redirect URIs cannot have wildcards, should be just from specific domain, must be OAuth 2.1 compliant, and so on.
Thanks to &lt;a href=&quot;https://github.com/lexcao&quot;&gt;Lex Cao&lt;/a&gt; and &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_client_policy_executor_for_enforcing_dpop&quot;&gt;Client policy executor for enforcing DPoP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new client policy executor &lt;code&gt;dpop-bind-enforcer&lt;/code&gt; is introduced. You can use it to enforce DPoP for a particular client if &lt;code&gt;dpop&lt;/code&gt; preview
 is enabled.
Thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_supporting_eddsa&quot;&gt;Supporting EdDSA&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can create EdDSA realm keys and use them as signature algorithms for various clients. For instance, you can use these keys to sign tokens or for client authentication with signed JWT.
This feature includes identity brokering where Keycloak itself signs client assertions that are used for &lt;code&gt;private_key_jwt&lt;/code&gt; authentication to third party identity providers.
Thanks to
&lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/MuhammadZakwan&quot;&gt;Muhammad Zakwan Bin Mohd Zahid&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_ec_keys_supported_by_javakeystore_provider&quot;&gt;EC Keys supported by JavaKeystore provider&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The provider &lt;code&gt;JavaKeystoreProvider&lt;/code&gt; for providing realm keys now supports EC keys in addition to previously supported RSA keys.
Thanks to &lt;a href=&quot;https://github.com/wistefan&quot;&gt;Stefan Wiedemann&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_option_to_add_x509_thumbprint_to_jwt_when_using_private_key_jwt_authentication_for_identity_providers&quot;&gt;Option to add X509 thumbprint to JWT when using private_key_jwt authentication for identity providers&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OIDC identity providers now have the &lt;strong&gt;Add X.509 Headers to the JWT&lt;/strong&gt; option for the situation when client authentication with JWT signed by private key is used. This option can be useful
for interoperability with some identity providers such as Azure AD, which require the thumbprint to be present on the JWT.
Thanks to &lt;a href=&quot;https://github.com/MikeTangoEcho&quot;&gt;MT&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_oauth_grant_type_spi&quot;&gt;OAuth Grant Type SPI&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak codebase includes an internal update  to introduce the OAuth Grant Type SPI. This update allows additional flexibility when introducing custom grant types
supported by the Keycloak OAuth 2 token endpoint.
Thanks to &lt;a href=&quot;https://github.com/dteleguin&quot;&gt;Dmitry Telegin&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_cors_improvements&quot;&gt;CORS improvements&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The CORS related Keycloak functionality was extracted into the SPI, which can allow additional flexibility. Note that &lt;code&gt;CorsSPI&lt;/code&gt; is internal and may change at a future release.
Thanks to &lt;a href=&quot;https://github.com/dteleguin&quot;&gt;Dmitry Telegin&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_truststore_improvements&quot;&gt;Truststore improvements&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak introduces improved truststores configuration options. The Keycloak truststore is now used across the server, including outgoing connections, mTLS, and database drivers. You no longer need to configure separate truststores for individual areas. To configure the truststore, you can put your truststores files or certificates in the default &lt;code&gt;conf/truststores&lt;/code&gt;, or use the new &lt;code&gt;truststore-paths&lt;/code&gt; config option. For details refer to the relevant &lt;a href=&quot;https://www.keycloak.org/server/keycloak-truststore&quot;&gt;guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_versioned_features&quot;&gt;Versioned Features&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Features now support versioning. To preserve backward compatibility, all existing features (including &lt;code&gt;account2&lt;/code&gt; and &lt;code&gt;account3&lt;/code&gt;) are marked as version 1. Newly introduced features will use versioning, which means that users can select between different implementations of desired features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For details refer to the &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;features guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_keycloak_cr_truststores&quot;&gt;Keycloak CR Truststores&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You may also take advantage of the new server-side handling of truststores by using the Keycloak CR, for example:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;spec:
  truststores:
    mystore:
      secret:
        name: mystore-secret
    myotherstore:
      secret:
        name: myotherstore-secret&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Currently only Secrets are supported.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_trust_kubernetes_ca&quot;&gt;Trust Kubernetes CA&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The cert for the Kubernetes CA is added automatically to your Keycloak Pods managed by the Operator.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_automatic_certificate_management_for_saml_identity_providers&quot;&gt;Automatic certificate management for SAML identity providers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The SAML identity providers can now be configured to automatically download the signing certificates from the IDP entity metadata descriptor endpoint. In order to use the new feature, configure the &lt;code&gt;Metadata descriptor URL&lt;/code&gt; option in the provider (the URL where the IDP metadata information with the certificates is published) and set &lt;code&gt;Use metadata descriptor URL&lt;/code&gt; to &lt;code&gt;ON&lt;/code&gt;. The certificates are automatically downloaded and cached in the &lt;code&gt;public-key-storage&lt;/code&gt; SPI from that URL. The certificates can also be reloaded or imported from the Admin Console, using the action combo in the provider page.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#saml-v2-0-identity-providers&quot;&gt;documentation&lt;/a&gt; for more details about the new options.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_non_blocking_health_check_for_load_balancers&quot;&gt;Non-blocking health check for load balancers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new health check endpoint available at &lt;code&gt;/lb-check&lt;/code&gt; was added.
The execution is running in the event loop, which means this check is responsive also in overloaded situations when Keycloak needs to handle many requests waiting in request queue.
This behavior is useful, for example, in multi-site deployment to avoid failing over to another site that is under heavy load.
The endpoint is currently checking availability of the embedded and external Infinispan caches. Other checks may be added later.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This endpoint is not available by default.
To enable it, run Keyloak with the &lt;code&gt;multi-site&lt;/code&gt; feature.
For more details, see &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;Enabling and disabling features&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_cr_optimized_field&quot;&gt;Keycloak CR Optimized Field&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak CR now includes an &lt;code&gt;startOptimized&lt;/code&gt; field, which may be used to override the default assumption about whether to use the &lt;code&gt;--optimized&lt;/code&gt; flag for the start command.
As a result, you can use the CR to configure build time options also when a custom Keycloak image is used.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_enhanced_reverse_proxy_settings&quot;&gt;Enhanced reverse proxy settings&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to separately enable parsing of either &lt;code&gt;Forwarded&lt;/code&gt; or &lt;code&gt;X-Forwarded-*&lt;/code&gt; headers by using the new &lt;code&gt;--proxy-headers&lt;/code&gt; option.
For details, see the &lt;a href=&quot;https://www.keycloak.org/server/reverseproxy&quot;&gt;Reverse Proxy Guide&lt;/a&gt;.
The original &lt;code&gt;--proxy&lt;/code&gt; option is now deprecated and will be removed in a future release. For migration instructions, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_changes_to_the_user_representation_in_both_admin_api_and_account_contexts&quot;&gt;Changes to the user representation in both Admin API and Account contexts&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we are encapsulating the root user attributes (such as &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;email&lt;/code&gt;, &lt;code&gt;firstName&lt;/code&gt;, &lt;code&gt;lastName&lt;/code&gt;, and &lt;code&gt;locale&lt;/code&gt;) by moving them to a base/abstract class in order to align how these attributes
are marshalled and unmarshalled when using both Admin and Account REST APIs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This strategy provides consistency in how attributes are managed by clients and makes sure they conform to the user profile
configuration set to a realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_sequential_loading_of_offline_sessions_and_remote_sessions&quot;&gt;Sequential loading of offline sessions and remote sessions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with this release, the first member of a Keycloak cluster will load remote sessions sequentially instead of in parallel.
If offline session preloading is enabled, those will be loaded sequentially as well.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the &lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_performing_actions_on_behalf_of_another_already_authenticated_user_is_not_longer_possible&quot;&gt;Performing actions on behalf of another already authenticated user is not longer possible&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, you can no longer perform actions such as email verification if the user is already authenticated
and the action is bound to another user. For instance, a user can not complete the verification email flow if the email link
is bound to a different account.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_changes_to_the_email_verification_flow&quot;&gt;Changes to the email verification flow&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, if a user tries to follow the link to verify the email and the email was previously verified, a proper message
will be shown.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition to that, a new error (&lt;code&gt;EMAIL_ALREADY_VERIFIED&lt;/code&gt;) event will be fired to indicate an attempt to verify an already verified email. You can
use this event to track possible attempts to hijack user accounts in case the link has leaked or to alert users if they do not recognize the action.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_deprecated_offline_session_preloading&quot;&gt;Deprecated offline session preloading&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default behavior of Keycloak is to load offline sessions on demand.
The old behavior to preload them at startup is now deprecated, as pre-loading them at startup does not scale well with a growing number of sessions, and increases Keycloak memory usage. The old behavior will be removed in a future release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuration_option_for_offline_session_lifespan_override_in_memory&quot;&gt;Configuration option for offline session lifespan override in memory&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To reduce memory requirements, we introduced a configuration option to shorten lifespan for offline sessions imported into the Infinispan caches. Currently, the offline session lifespan override is disabled by default.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/server_admin/#_offline-access&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_infinispan_metrics_use_labels_for_cache_manager_and_cache_names&quot;&gt;Infinispan metrics use labels for cache manager and cache names&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When enabling metrics for Keycloak&amp;#8217;s embedded caches, the metrics now use labels for the cache manager and the cache names.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_user_attribute_value_length_extension&quot;&gt;User attribute value length extension&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As of this release, Keycloak supports storing and searching by user attribute values longer than 255 characters, which was previously a limitation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_brute_force_protection_changes&quot;&gt;Brute Force Protection changes&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There have been a couple of enhancements to the Brute Protection:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;When an attempt to authenticate with an OTP or Recovery Code fails due to Brute Force Protection the active Authentication Session is invalidated. Any further attempts to authenticate with that session will fail.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In previous versions of Keycloak, the administrator had to choose between disabling users temporarily or permanently due to a Brute Force attack on their accounts. The administrator can now permanently disable a user after a given number of temporary lockouts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The property &lt;code&gt;failedLoginNotBefore&lt;/code&gt; has been added to the &lt;code&gt;brute-force/users/{userId}&lt;/code&gt; endpoint&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authorization_policy&quot;&gt;Authorization Policy&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous versions of Keycloak, when the last member of a User, Group or Client policy was deleted then that policy would also be deleted. Unfortunately this could lead to an escalation of privileges if the policy was used in an aggregate policy. To avoid privilege escalation the effect policies are no longer deleted and an administrator will need to update those policies.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_cr_cache_config_file_option&quot;&gt;Keycloak CR cache-config-file option&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak CR now allows for specifying the &lt;code&gt;cache-config-file&lt;/code&gt; option by using the &lt;code&gt;cache&lt;/code&gt; spec &lt;code&gt;configMapFile&lt;/code&gt; field, for example:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  ...
  cache:
    configMapFile:
      name: my-configmap
      key: config.xml&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_keycloak_cr_resources_options&quot;&gt;Keycloak CR resources options&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak CR now allows for specifying the &lt;code&gt;resources&lt;/code&gt; options for managing compute resources for the Keycloak container.
It provides the ability to request and limit resources independently for the main Keycloak deployment via the Keycloak CR, and for the realm import Job via the Realm Import CR.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When no values are specified, the default &lt;code&gt;requests&lt;/code&gt; memory is set to &lt;code&gt;1700MiB&lt;/code&gt;, and the &lt;code&gt;limits&lt;/code&gt; memory is set to &lt;code&gt;2GiB&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can specify your custom values based on your requirements as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  ...
  resources:
    requests:
      cpu: 1200m
      memory: 896Mi
    limits:
      cpu: 6
      memory: 3Gi&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/operator/advanced-configuration&quot;&gt;Operator Advanced configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_temporary_lockout_log_replaced_with_event&quot;&gt;Temporary lockout log replaced with event&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is now a new event &lt;code&gt;USER_DISABLED_BY_TEMPORARY_LOCKOUT&lt;/code&gt; when a user is temporarily locked out by the brute force protector.
The log with ID &lt;code&gt;KC-SERVICES0053&lt;/code&gt; has been removed as the new event offers the information in a structured form.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/24.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_updates_to_cookies&quot;&gt;Updates to cookies&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Cookie handling code has been refactored and improved, including a new Cookie Provider. This provides better consistency
for cookies handled by Keycloak, and the ability to introduce configuration options around cookies if needed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_saml_user_attribute_mapper_for_nameid_now_suggests_only_valid_nameid_formats&quot;&gt;SAML User Attribute Mapper For NameID now suggests only valid NameID formats&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;User Attribute Mapper For NameID allowed setting &lt;code&gt;Name ID Format&lt;/code&gt; option to the following values:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:2.0:nameid-format:entity&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, Keycloak does not support receiving &lt;code&gt;AuthnRequest&lt;/code&gt; document with one of these &lt;code&gt;NameIDPolicy&lt;/code&gt;, therefore these
mappers would never be used. The supported options were updated to only include the following Name ID Formats:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:2.0:nameid-format:persistent&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:oasis:names:tc:SAML:2.0:nameid-format:transient&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_different_jvm_memory_settings_when_running_in_container&quot;&gt;Different JVM memory settings when running in container&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Instead of specifying hardcoded values for the initial and maximum heap size, Keycloak uses relative values to the total memory of a container.
The JVM options &lt;code&gt;-Xms&lt;/code&gt;, and &lt;code&gt;-Xmx&lt;/code&gt; were replaced by &lt;code&gt;-XX:InitialRAMPercentage&lt;/code&gt;, and &lt;code&gt;-XX:MaxRAMPercentage&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details, see the
&lt;a href=&quot;https://www.keycloak.org/server/containers&quot;&gt;Running Keycloak in a container&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_gelf_log_handler_has_been_deprecated&quot;&gt;GELF log handler has been deprecated&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With sunsetting of the &lt;a href=&quot;https://github.com/mp911de/logstash-gelf&quot;&gt;underlying library&lt;/a&gt; providing integration
with GELF, Keycloak will no longer support the GELF log handler out-of-the-box. This feature will be removed in a future
release. If you require an external log management, consider using file log parsing.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_support_for_multi_site_active_passive_deployments&quot;&gt;Support for multi-site active-passive deployments&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Deploying Keycloak to multiple independent sites is essential for some environments to provide high availability and a speedy recovery from failures.
This release supports active-passive deployments for Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To get started, use the &lt;a href=&quot;https://www.keycloak.org/guides#high-availability&quot;&gt;High Availability Guide&lt;/a&gt; which also includes a comprehensive blueprint to deploy a highly available Keycloak to a cloud environment.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15190&quot;&gt;#15190&lt;/a&gt; RestAPI endpoint &quot;send-verify-email&quot; sending execute actions email template. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19586&quot;&gt;#19586&lt;/a&gt; @keycloak/keycloak-admin-client doesn&#39;t provide an ability to use optional client scope for access token &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23539&quot;&gt;#23539&lt;/a&gt; User profile attributes should only accept a single value unless configured otherwise &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25167&quot;&gt;#25167&lt;/a&gt; Implement POST logout in Keycloak JS &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25446&quot;&gt;#25446&lt;/a&gt; CORS SPI &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25676&quot;&gt;#25676&lt;/a&gt; Introduce new CLI config options for Infinispan remote store &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25702&quot;&gt;#25702&lt;/a&gt; Encrypt network communication in JGroups &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25733&quot;&gt;#25733&lt;/a&gt; Update Route53 HA guide to be compatible with ROSA and Openshift 4.14.x &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25903&quot;&gt;#25903&lt;/a&gt; Create new landing page for admin console &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25941&quot;&gt;#25941&lt;/a&gt; Issue Verifiable Credentials in the JWT-VC format &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26028&quot;&gt;#26028&lt;/a&gt; Remove conditional statements about Windows / Linux from the docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26250&quot;&gt;#26250&lt;/a&gt; OAuth 2.0 Grant Type SPI &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26455&quot;&gt;#26455&lt;/a&gt; Supported option to specify maximum threads used to handle HTTP requests &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26456&quot;&gt;#26456&lt;/a&gt; Supported option to specify resource management for pods in Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26458&quot;&gt;#26458&lt;/a&gt; Support custom Infinispan configuration file in Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26460&quot;&gt;#26460&lt;/a&gt; Supported option to specify site name for multi-site deployments &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26500&quot;&gt;#26500&lt;/a&gt; Cookie Provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26936&quot;&gt;#26936&lt;/a&gt; Support EC Key-Imports for the JavaKeystoreKeyProvider  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27186&quot;&gt;#27186&lt;/a&gt; Meta description of admin-ui and account-ui cannot be changed in theme.properties &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9508&quot;&gt;#9508&lt;/a&gt; Rename &quot;Resident key&quot; to &quot;Discoverable Credential&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9758&quot;&gt;#9758&lt;/a&gt; User attributes with a text more than 255 characters &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9784&quot;&gt;#9784&lt;/a&gt; Add truststore options to Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10794&quot;&gt;#10794&lt;/a&gt; Support importing Kubernetes CA &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12009&quot;&gt;#12009&lt;/a&gt; Support for scope parameter in the refresh flow &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12352&quot;&gt;#12352&lt;/a&gt; Align Operator config naming with Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12946&quot;&gt;#12946&lt;/a&gt; Add X509 thumbprint to JWT when using private_key_jwt  &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13250&quot;&gt;#13250&lt;/a&gt; --verbose option doesn&#39;t work in Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15000&quot;&gt;#15000&lt;/a&gt; Add EdDSA/Ed25519 to WebAuthn Signature algorithms &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15714&quot;&gt;#15714&lt;/a&gt; Supporting EdDSA &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16629&quot;&gt;#16629&lt;/a&gt; Increase the default iterations for Pbdkdf2-256/512 to match the updated OWASP recommendations &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17574&quot;&gt;#17574&lt;/a&gt; Add failedLoginNotBefore field to existing brute force detection status API &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17735&quot;&gt;#17735&lt;/a&gt; Admin-UI: Show realm display name in realm drop down instead of realm id if available &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19190&quot;&gt;#19190&lt;/a&gt; Add &quot;amr&quot; to already implemented &quot;acr&quot; support &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19285&quot;&gt;#19285&lt;/a&gt; Disable Groovy Closures when bootstrapping Picocli &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20125&quot;&gt;#20125&lt;/a&gt; Role mapping tab no longer visible when using fine grained permissions after upgrade from 20.0.3 to 21.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21074&quot;&gt;#21074&lt;/a&gt; Identity providers: pagination in admin console &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21343&quot;&gt;#21343&lt;/a&gt; Upgrade welcome theme to PatternFly 5 &lt;span class=&quot;badge bg-secondary&quot;&gt;welcome/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21559&quot;&gt;#21559&lt;/a&gt; Provide raw OpenAPI specification alongside Keycloak Admin REST API html documentation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21578&quot;&gt;#21578&lt;/a&gt; Scope parameter in Oauth 2.0 token exchange &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21771&quot;&gt;#21771&lt;/a&gt; List reload button for admin panel &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22436&quot;&gt;#22436&lt;/a&gt; Query users by &#39;LDAP_ID&#39; is not working &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22922&quot;&gt;#22922&lt;/a&gt; Use Infinispan BOM instead of direct Infinispan dependencies &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23057&quot;&gt;#23057&lt;/a&gt; Localization tabs &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23431&quot;&gt;#23431&lt;/a&gt; Allow user to select between `Forwarded` or `X-Forwarded-*` header &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23470&quot;&gt;#23470&lt;/a&gt; Docs: authorization_services/topics/service-authorization-obtaining-permission.adoc &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23854&quot;&gt;#23854&lt;/a&gt; Use upstream Quarkus functionality for non-blocking probes &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23878&quot;&gt;#23878&lt;/a&gt; User profile configuration scoped to user-federation provider &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23896&quot;&gt;#23896&lt;/a&gt; Changes in declarative user profile should result in admin events &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24094&quot;&gt;#24094&lt;/a&gt; Map Store Removal: Delete map profiles from testsuite &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24097&quot;&gt;#24097&lt;/a&gt; Map Store Removal: Delete container providers that were added to the base testsuite &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24102&quot;&gt;#24102&lt;/a&gt; Map Store Removal: Delete Profile.Feature.MAP_STORAGE and all its usages &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24103&quot;&gt;#24103&lt;/a&gt; Map Store Removal: Delete GlobalLockProvider &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24105&quot;&gt;#24105&lt;/a&gt; Map Store Removal: Rename Legacy* classes &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24107&quot;&gt;#24107&lt;/a&gt; Map Store Removal: Revert deprecated modules in model/legacy and rename &quot;legacy&quot; to &quot;storage&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24148&quot;&gt;#24148&lt;/a&gt; Add config property to specify a list of truststores &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24202&quot;&gt;#24202&lt;/a&gt; Cache stampede after client invalidation &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24245&quot;&gt;#24245&lt;/a&gt; Parse default UserProfile configuration in the build time &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24250&quot;&gt;#24250&lt;/a&gt; Allow selecting attributes from user profile when managing token mappers &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24344&quot;&gt;#24344&lt;/a&gt; Enhance error logs and error events during UserInfo endpoint and Token Introspection failure &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24412&quot;&gt;#24412&lt;/a&gt; Accessibility of 2FA method selection &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24422&quot;&gt;#24422&lt;/a&gt; UMA 2 not evaluating as expected when using permission tickets &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24424&quot;&gt;#24424&lt;/a&gt; Query on update the ADFS FederationMetadata.xml on the keycloak instead of delete and recreating the IDP config #24310 &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24567&quot;&gt;#24567&lt;/a&gt; Map Store Removal: Revert changes related to map store in test classes in base testsuite &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24668&quot;&gt;#24668&lt;/a&gt; Features versioning &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24793&quot;&gt;#24793&lt;/a&gt; Map Store Removal: Remove `LockObjectsForModification` &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24798&quot;&gt;#24798&lt;/a&gt; Add truststores to keycloak cr &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24860&quot;&gt;#24860&lt;/a&gt; Initialize Infinispan earlier in the build chain &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24926&quot;&gt;#24926&lt;/a&gt; Add polish translations &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24995&quot;&gt;#24995&lt;/a&gt; Avoid deprecated API usage in testsuite/integration-arquillian/tests/base &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25058&quot;&gt;#25058&lt;/a&gt; Add Polish Translations to Account UI &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25074&quot;&gt;#25074&lt;/a&gt; Update Kerberos provider for user-profile &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25075&quot;&gt;#25075&lt;/a&gt; Update SSSD provider for user-profile &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25103&quot;&gt;#25103&lt;/a&gt; Remove product from server info &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25113&quot;&gt;#25113&lt;/a&gt; Add a test for the LoadBalancerCheck &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25146&quot;&gt;#25146&lt;/a&gt; Decouple &quot;factory&quot; methods from the &quot;provider&quot; methods on UserProfileProvider implementation &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25149&quot;&gt;#25149&lt;/a&gt; Replace the existing themes with the dynamic templates from user profile &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25236&quot;&gt;#25236&lt;/a&gt; Documentation about Australia Consumer Data Right security profile &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25238&quot;&gt;#25238&lt;/a&gt; Add missing Arabic messages &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25287&quot;&gt;#25287&lt;/a&gt; Upgrade Infinispan to 14.0.21.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25288&quot;&gt;#25288&lt;/a&gt; Map Store Removal: Remove protostream dependency &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25300&quot;&gt;#25300&lt;/a&gt; Deprecate offline session preloading &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25308&quot;&gt;#25308&lt;/a&gt; Map Store Removal: Revert changes made to backchannelLogout &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25309&quot;&gt;#25309&lt;/a&gt; Map Store Removal: Remove ResponseSessionTask &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25314&quot;&gt;#25314&lt;/a&gt; Supporting OAuth 2.1 for confidential clients &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25315&quot;&gt;#25315&lt;/a&gt; Client policies : executor for enforcing DPoP &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25316&quot;&gt;#25316&lt;/a&gt; Supporting OAuth 2.1 for public clients &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25328&quot;&gt;#25328&lt;/a&gt; Tests for client scopes/evaluate tab are missing &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25375&quot;&gt;#25375&lt;/a&gt; Extra tests for realm roles &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25388&quot;&gt;#25388&lt;/a&gt; Enable concurrent remote operations for Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25403&quot;&gt;#25403&lt;/a&gt; Implements attributes field in KeycloakProfile interface &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25404&quot;&gt;#25404&lt;/a&gt; Adapt incremental build for latest changes in themes module &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25415&quot;&gt;#25415&lt;/a&gt; Describe how to use Infinispan Batch CRs for automation with the external Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25416&quot;&gt;#25416&lt;/a&gt; Update UserProfileProvider.setConfiguration to accept UPConfig instead of String &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25487&quot;&gt;#25487&lt;/a&gt; Add extra tests for realm-settings in admin-ui &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25637&quot;&gt;#25637&lt;/a&gt; Client policies: executor for validate and match a redirect URI &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25638&quot;&gt;#25638&lt;/a&gt; Keycloak native implementation of SD-JWT &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25666&quot;&gt;#25666&lt;/a&gt; [Admin UI] Allow to customize built-in components administration UI via ConfiguredProvider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25691&quot;&gt;#25691&lt;/a&gt; More info on UserProfileContext &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25738&quot;&gt;#25738&lt;/a&gt; Tooltips improvements when configuring user profile attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25770&quot;&gt;#25770&lt;/a&gt; X509 client certificate login label extends out of form &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25823&quot;&gt;#25823&lt;/a&gt; Ability to declare a default &quot;First broker login flow&quot; per Realm &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25872&quot;&gt;#25872&lt;/a&gt; Make the `user` attribute available to the `idp-review-user-profile.ftl` template &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25882&quot;&gt;#25882&lt;/a&gt; RealmResourceProvider is not working as expected since version 23.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25897&quot;&gt;#25897&lt;/a&gt; Admin UI: Show realm display name on welcome page &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25908&quot;&gt;#25908&lt;/a&gt; Could not format default value for log formats &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25915&quot;&gt;#25915&lt;/a&gt; Make more clear in the documentation that the wait time is only increased on multiples of the max number of failures &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25935&quot;&gt;#25935&lt;/a&gt; Create Infinispan metrics with labels instead of long metric names &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25962&quot;&gt;#25962&lt;/a&gt; Missing localization of cs+sk messages &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25979&quot;&gt;#25979&lt;/a&gt; User profile attribute names with strange characters &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25985&quot;&gt;#25985&lt;/a&gt; Enable verify-profile required action by default &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26068&quot;&gt;#26068&lt;/a&gt; Reduce internal unsupported options in the Keycloak HA documentation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26083&quot;&gt;#26083&lt;/a&gt; Change RHDG references to Infinispan &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26092&quot;&gt;#26092&lt;/a&gt; Do not use raw parameterized PropertyMapper &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26146&quot;&gt;#26146&lt;/a&gt; Migration docs for https://github.com/keycloak/keycloak/issues/15190 &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26172&quot;&gt;#26172&lt;/a&gt; Permanently lock users out after X temporary lockouts during a brute force attack &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26198&quot;&gt;#26198&lt;/a&gt; Comprehensive log for the LoggingDistTest and Quarkus IT &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26220&quot;&gt;#26220&lt;/a&gt; Don&#39;t differentiate Windows for getting started &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26223&quot;&gt;#26223&lt;/a&gt; Use `--http-max-queued-requests` option in Keycloak HA documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26241&quot;&gt;#26241&lt;/a&gt; Do not use general debug log level for tests  &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26315&quot;&gt;#26315&lt;/a&gt; Fully remove reasteasy-core &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26320&quot;&gt;#26320&lt;/a&gt; Allow formating numbers when rendering attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26325&quot;&gt;#26325&lt;/a&gt; Remove unused HttpResponse.setWriteCookiesOnTransactionComplete &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26402&quot;&gt;#26402&lt;/a&gt; Improve wording in Concepts for configuring thread pools section in documentation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26416&quot;&gt;#26416&lt;/a&gt; Remove support for old cookie path &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26430&quot;&gt;#26430&lt;/a&gt; Implement stricter controls at token endpoint for PKCE verification &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26457&quot;&gt;#26457&lt;/a&gt; Remove support for multiple AUTH_SESSION_ID cookies &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26469&quot;&gt;#26469&lt;/a&gt; Documentation for verify-profile required action enabled by default &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26485&quot;&gt;#26485&lt;/a&gt; Add missing Arabic translations &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26489&quot;&gt;#26489&lt;/a&gt; Ability to have alternative default user-profile configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26530&quot;&gt;#26530&lt;/a&gt; Map Store Removal: Remove `RealmModel` from authorization services interfaces &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26552&quot;&gt;#26552&lt;/a&gt; Do we need to hide &quot;required&quot; settings for email? &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26570&quot;&gt;#26570&lt;/a&gt; Upgrade liquibase to 4.25.1 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26585&quot;&gt;#26585&lt;/a&gt; Improve UX of read-only attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26587&quot;&gt;#26587&lt;/a&gt; Documentation for SuppressRefreshTokenRotationExecutor &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26589&quot;&gt;#26589&lt;/a&gt; Allow Case-Insensitive Search on Provider Info Page in Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26598&quot;&gt;#26598&lt;/a&gt; Map Store Removal: deprecate model legacy module &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26626&quot;&gt;#26626&lt;/a&gt; Brute force detection should issue event for temporary lockout &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26634&quot;&gt;#26634&lt;/a&gt; Documentation for default validation changes due user-profile enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26683&quot;&gt;#26683&lt;/a&gt; Remove explicitly set `lit-element` version &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26689&quot;&gt;#26689&lt;/a&gt; Update Maven dependency versions for docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26701&quot;&gt;#26701&lt;/a&gt; Upgrade to Quarkus 3.7.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26730&quot;&gt;#26730&lt;/a&gt; Add Multi-AZ Aurora DB to CI store-integration-tests &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26776&quot;&gt;#26776&lt;/a&gt; Update documentation to use new Infinispan configuration options &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26781&quot;&gt;#26781&lt;/a&gt; Update HA guide about non-blocking probes &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26810&quot;&gt;#26810&lt;/a&gt; Shorter lifespan for offline session cache entries in memory &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26812&quot;&gt;#26812&lt;/a&gt; Upgrade to embedded Infinispan 14.0.24 &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26819&quot;&gt;#26819&lt;/a&gt; Use version specific tag for Keycloak images in the docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26859&quot;&gt;#26859&lt;/a&gt; Upgrade to Quarkus 3.8 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26898&quot;&gt;#26898&lt;/a&gt; User profile: Add regression test for select inputs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26910&quot;&gt;#26910&lt;/a&gt; Keycloak Operator should add service-ca.crt to the truststore &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26916&quot;&gt;#26916&lt;/a&gt; Upgrade to Quarkus 3.7.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26919&quot;&gt;#26919&lt;/a&gt; doc: add a clear mention in the documentation about the storage of the refresh and access token &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26921&quot;&gt;#26921&lt;/a&gt; Use latest OLM version for Operator CI &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26929&quot;&gt;#26929&lt;/a&gt; Ignore unrecognized truststore formats if `--truststore-paths` is a directory &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26967&quot;&gt;#26967&lt;/a&gt; Aurora Postgres IT: Upload flaky and surefire test reports &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27036&quot;&gt;#27036&lt;/a&gt; Upgrade to Quarkus 3.7.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27048&quot;&gt;#27048&lt;/a&gt; Add Amazon Aurora PostgreSQL to the list of tested databases &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27078&quot;&gt;#27078&lt;/a&gt; Update Keycloak HA Guide new resource limit settings &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27084&quot;&gt;#27084&lt;/a&gt; Remove the preview note from Keycloak&#39;s HA guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27093&quot;&gt;#27093&lt;/a&gt; &quot;Open ID Connect&quot; in docs / UIs should be &quot;OpenID Connect&quot; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27105&quot;&gt;#27105&lt;/a&gt; Add New User Registration Option on WebAuthn Authentication UI &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27121&quot;&gt;#27121&lt;/a&gt; Remove references to Quarkus docs and absolute URLs from HA Guide docs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27123&quot;&gt;#27123&lt;/a&gt; Use AWS JDBC Wrapper in CI tests &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27125&quot;&gt;#27125&lt;/a&gt; Add warning about too long attribute values &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27143&quot;&gt;#27143&lt;/a&gt; Distinguish user registration action label from the security key registration action&#39;s one &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27147&quot;&gt;#27147&lt;/a&gt; Replace &quot;Security Key&quot; with &quot;Passkey&quot; in WebAuthn UIs and their documents &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27148&quot;&gt;#27148&lt;/a&gt; Allow overriding the default validators added to attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27169&quot;&gt;#27169&lt;/a&gt; Tweak the default memory request and limit in the Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27190&quot;&gt;#27190&lt;/a&gt; a11y improvements on login page &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27226&quot;&gt;#27226&lt;/a&gt; Upgrade to Quarkus 3.7.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27238&quot;&gt;#27238&lt;/a&gt; Add option to clients to use lightweight access token &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27280&quot;&gt;#27280&lt;/a&gt; Upgrade to Infinispan 14.0.25 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27281&quot;&gt;#27281&lt;/a&gt; Allow option of using client_id instead of id_token_hint with RP-initiated logout in brokered IDP config/call. &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27315&quot;&gt;#27315&lt;/a&gt; Change docker image to container image &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27324&quot;&gt;#27324&lt;/a&gt; Remove RHSSO product documentation from upgrading guide &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27326&quot;&gt;#27326&lt;/a&gt; Edit Keycloak 24.0 release notes &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27327&quot;&gt;#27327&lt;/a&gt; Harmonize behaviour of different CertificateUtilsProvider implementations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27440&quot;&gt;#27440&lt;/a&gt; Edit Keycloak 23.x Release Notes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27452&quot;&gt;#27452&lt;/a&gt; Edit Keycloak 24 Upgrade guide &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9871&quot;&gt;#9871&lt;/a&gt; Remove Infinispan workarounds introduced to prevent deadlocks &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11178&quot;&gt;#11178&lt;/a&gt; Event for MISSING_REQUIRED_DESTINATION with idp brokering incorrectly says error is related to logout even for a login response &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13080&quot;&gt;#13080&lt;/a&gt; Encoded token stored as KC_RESTART cookie uses weak algorithm- HS256 &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13368&quot;&gt;#13368&lt;/a&gt; Issue when using DenyAuthenticator in direct-grant flow &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14448&quot;&gt;#14448&lt;/a&gt; Multiple failures in OfflineServletsAdapterTest (testServlet, testServletWithConsent, testServletWithRevoke) &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14581&quot;&gt;#14581&lt;/a&gt; HTTP Redirect 303 to wrong URL (in case port is not 80) when trailing slash is not added &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14776&quot;&gt;#14776&lt;/a&gt; Mail verification isn&#39;t working for multiple accounts in one session (only on auto login by clicking the verification mail, not by logging in with the credentials) &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16260&quot;&gt;#16260&lt;/a&gt; Incorrect handling of OptionParserException in kcadm &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17155&quot;&gt;#17155&lt;/a&gt; UPDATED_PASSWORD user action shouldn&#39;t be triggered when login with linked IdP &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17449&quot;&gt;#17449&lt;/a&gt; Removing the Realm ID and saving causes the realm to be vanished from the list of the realms &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19183&quot;&gt;#19183&lt;/a&gt; token-exchange does apply clientScopes of the origin client &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19294&quot;&gt;#19294&lt;/a&gt; Error on starting keycloak when foldername contains &quot;)&quot; using kc.bat.  &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19886&quot;&gt;#19886&lt;/a&gt; Allow configuration cookies with `SameSite=Strict` for better compliance with strict regulations and standards &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20304&quot;&gt;#20304&lt;/a&gt; When choosing resources in scope-based permission, multiple resource can be selected but only one will be visable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20867&quot;&gt;#20867&lt;/a&gt; Control redirect after password reset &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21127&quot;&gt;#21127&lt;/a&gt; During password reset, the baseURL is not shown on the info page after browser restart &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21151&quot;&gt;#21151&lt;/a&gt; Realm import stack overflow &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21409&quot;&gt;#21409&lt;/a&gt; Brute Force Detection is disabled when updating frontenUrl via admin client &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21542&quot;&gt;#21542&lt;/a&gt; Context path missing in URL on OTP page to switch between QR code and manual code &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21730&quot;&gt;#21730&lt;/a&gt; v 22.0.0 - when creating a new realm the registration flow does not have terms and conditions step &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21951&quot;&gt;#21951&lt;/a&gt; Unable to use `&lt;` as part of a password &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22082&quot;&gt;#22082&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.OfflineSessionPersistenceTest#testPersistenceClientSessionsMultipleNodes &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22401&quot;&gt;#22401&lt;/a&gt; Common resources in Welcome page didn&#39;t resolve correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;welcome/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22431&quot;&gt;#22431&lt;/a&gt; Localization: Admin UI doesn&#39;t pick up message bundles from realms other than master  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22507&quot;&gt;#22507&lt;/a&gt; User profile attributes not localized in account console V3 &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22540&quot;&gt;#22540&lt;/a&gt; Description of &quot;Configuring sources for Keycloak&quot; inconsistent / misleading &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22555&quot;&gt;#22555&lt;/a&gt; Docs: server_development/topics/identity-brokering.adoc &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22660&quot;&gt;#22660&lt;/a&gt; Implementing custom ClientAuthenticator loses access to Client Secret Input Field in the Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22691&quot;&gt;#22691&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.RecoveryAuthnCodesAuthenticatorTest#test03AuthenticateRecoveryAuthnCodes &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22836&quot;&gt;#22836&lt;/a&gt; Invalid redirect uri when identity provider alias has spaces &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22904&quot;&gt;#22904&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.OfflineSessionPersistenceTest#testPersistenceMultipleNodesClientSessionAtSameNode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22958&quot;&gt;#22958&lt;/a&gt; KeycloakErrorHandler  NullPointerException String.toLowe rCase() because message is null &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23023&quot;&gt;#23023&lt;/a&gt; Undocumented change in priority of X-Forwarded-* headers as of Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23056&quot;&gt;#23056&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.concurrency.ConcurrencyTest#testAllConcurrently &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23217&quot;&gt;#23217&lt;/a&gt; NoSuchFileException with ${kc.home.dir} on Windows &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23229&quot;&gt;#23229&lt;/a&gt; Realm client update via PUT returns invalid registration_client_uri with duplicated client ID in address &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23268&quot;&gt;#23268&lt;/a&gt; New Install with MySQL failing with REALM_SOCIAL_CONFIG ADD issue  &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23399&quot;&gt;#23399&lt;/a&gt; Audience is lost after refreshing a RPT &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23683&quot;&gt;#23683&lt;/a&gt; Default-Value in UI for krbPrincipalAttribute is error prone &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23699&quot;&gt;#23699&lt;/a&gt; Account v3 theme - Localization not working on account console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23786&quot;&gt;#23786&lt;/a&gt; Failure: FipsDistTest &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23966&quot;&gt;#23966&lt;/a&gt; Group members are displayed incorrectly when using LDAP in READ_ONLY mode &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24082&quot;&gt;#24082&lt;/a&gt; Selected locale is not taking into accoun in  `keycloak.v3 account` theme &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24141&quot;&gt;#24141&lt;/a&gt; LDAP user mapper for username: user appears twice in the GUI &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24144&quot;&gt;#24144&lt;/a&gt; Unable to locate entity descriptor: org.keycloak.examples.domainextension.jpa.Company &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24200&quot;&gt;#24200&lt;/a&gt; NPE in User Session Note mapper on Token Exchange &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24219&quot;&gt;#24219&lt;/a&gt; admin-fine-grained-authz + client authorization settings requires view-client role &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24323&quot;&gt;#24323&lt;/a&gt; Refresh request ignores scope parameter from refresh request &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24353&quot;&gt;#24353&lt;/a&gt; Keycloak operator tries to manipulate Secret which is not managed by Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24361&quot;&gt;#24361&lt;/a&gt; Adding scopes via registration_client_uri does not work when using Dynamic Client Registration &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24369&quot;&gt;#24369&lt;/a&gt; UpdateUserLocaleAction does not trigger EventType.UPDATE_PROFILE event &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24459&quot;&gt;#24459&lt;/a&gt; Keycloak fails to start when uninstalling custom provider &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24464&quot;&gt;#24464&lt;/a&gt; Tabbing is not working in forms inside dropdown &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24485&quot;&gt;#24485&lt;/a&gt; NullPointerException when key is not available in the database &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24506&quot;&gt;#24506&lt;/a&gt; Reopening 2 - CVE-2023-21971 - Update Connector/J to 8.0.33 &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24508&quot;&gt;#24508&lt;/a&gt; Deadlock when pre-loading remote sessions from external Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24595&quot;&gt;#24595&lt;/a&gt; Leaving Single Sign Out page open for too long and then confirming logout leads to error page &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24626&quot;&gt;#24626&lt;/a&gt; Upgrade testsuite to use SpringBoot 2.7 &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24651&quot;&gt;#24651&lt;/a&gt; Deleting a User or User Group might cause that all users suddenly get the permissions of the deleted user. &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24652&quot;&gt;#24652&lt;/a&gt; SAML decryption fails if keycloak.saml.deprecated.encryption flag is set &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24718&quot;&gt;#24718&lt;/a&gt; Mapper Option &quot;Add to access token&quot; Toggled Off Despite Claim Added to Token &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24767&quot;&gt;#24767&lt;/a&gt; Improve LDAP Condition implementations &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24783&quot;&gt;#24783&lt;/a&gt; Keycloak Admin UI - Help text not localized in Realm Events Setting UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24923&quot;&gt;#24923&lt;/a&gt; Importing Keycloak breaks typescript in esModule  &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24960&quot;&gt;#24960&lt;/a&gt; OpenAPI spec doesn&#39;t match the admin API &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24961&quot;&gt;#24961&lt;/a&gt; Keycloak not able to handle multiple validating X509 certificates when public key are the same &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24980&quot;&gt;#24980&lt;/a&gt; The `DefaultActionToken` serializes a JSON Object with duplicate keys &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24986&quot;&gt;#24986&lt;/a&gt; `getMultiPartFormParameters()` always returns `EmptyMultivaluedMap` after upgrade to Resteasy Reactive &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25001&quot;&gt;#25001&lt;/a&gt; Client redirect_uri check must be compared using exact string matching &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25016&quot;&gt;#25016&lt;/a&gt; Make password visibility css classes configurable for themes &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25033&quot;&gt;#25033&lt;/a&gt; Typo in the balloon help of SAML Username Template Importer &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25041&quot;&gt;#25041&lt;/a&gt; Incomplete Spanish translations for Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25051&quot;&gt;#25051&lt;/a&gt; Unexpected Application Error when clicking &quot;Cancel&quot; on user creation page &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25054&quot;&gt;#25054&lt;/a&gt; Read Only Access of the realm users&#39; &quot;Role mapping&quot; tab is broken for Admin Console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25060&quot;&gt;#25060&lt;/a&gt; fix debug log string &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25078&quot;&gt;#25078&lt;/a&gt; Log Injection during WebAuthn authentication/registration &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25096&quot;&gt;#25096&lt;/a&gt; Meaning of briefRepresentation query parameter is inverted in GroupResource.getSubGroups &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25110&quot;&gt;#25110&lt;/a&gt; User Profile attribute with &quot;Options&quot; shows options of another attribute if none set on it &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25111&quot;&gt;#25111&lt;/a&gt; RealmAdminResource.getGroupByPathGroup does not work with space in path parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25173&quot;&gt;#25173&lt;/a&gt; Make sure username is lowercase when normalizing attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25183&quot;&gt;#25183&lt;/a&gt; NullPointerException thrown for UPConfig.getGroups() &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25208&quot;&gt;#25208&lt;/a&gt; GH Actions -&gt; Keycloak CI -&gt; MSSQL docker images fails during startup &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25231&quot;&gt;#25231&lt;/a&gt; CIBA and PAR are broken since 23.0.0 (NPE) when using http protocol &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25235&quot;&gt;#25235&lt;/a&gt; Unable to start after updating Docker container &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25290&quot;&gt;#25290&lt;/a&gt; Social Login Tests unable to retrieve Federated Access Token from user session &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25294&quot;&gt;#25294&lt;/a&gt; Kerberos principal attribute not found on LDAP user - even if kerberos authentication is off &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25322&quot;&gt;#25322&lt;/a&gt; Warning &quot;Event object wasn&#39;t available in remote cache&quot; when using remote store &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25392&quot;&gt;#25392&lt;/a&gt; Admin Console: Realm Dropdown should only show the realms the user has access to &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25417&quot;&gt;#25417&lt;/a&gt; Avoid keycloak-admin-client in UI to call admin console UI extension &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25423&quot;&gt;#25423&lt;/a&gt; Confusing error message by pr-backport.sh when not authenticated to gh &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25433&quot;&gt;#25433&lt;/a&gt; Key provider UI issue while saving - RSA &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25449&quot;&gt;#25449&lt;/a&gt; Clean up translations for DE/EN/NL for a first test-run of Weblate &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25451&quot;&gt;#25451&lt;/a&gt; Admin cli failing when adding roles to a 3rd group in a list &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25463&quot;&gt;#25463&lt;/a&gt; Unnecessary user profile metdata sent on user update &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25475&quot;&gt;#25475&lt;/a&gt; User Profile: If required roles (&quot;user&quot;) and reqired scopes are set, the required scopes have no effect &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25502&quot;&gt;#25502&lt;/a&gt; Account v3 theme - theme.properties Custom theme scripts not loading &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25515&quot;&gt;#25515&lt;/a&gt; Deleting an atribute from the UI  is reseting the unmanaged attribute policy &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25544&quot;&gt;#25544&lt;/a&gt; Post Logout Redirect URIs &quot;+&quot; behavior is inconsistent with other usages (i.e. Web Origins) &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25565&quot;&gt;#25565&lt;/a&gt; OpenAPI: POST for /admin/realms response is 201 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25566&quot;&gt;#25566&lt;/a&gt; Failure in SSSDUserProfileTest.test05MixedInternalDBUserProfile &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25584&quot;&gt;#25584&lt;/a&gt; iss not returned as query param in redirect to app when using &quot;prompt=none&quot; and user is not authenticated &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25601&quot;&gt;#25601&lt;/a&gt; OpenAPI: POST /admin/realms/{realm}/clients response is 201 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25604&quot;&gt;#25604&lt;/a&gt; OpenAPI: Client authz endpoints without responses &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25628&quot;&gt;#25628&lt;/a&gt; Translations missing in user details role mapping &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25633&quot;&gt;#25633&lt;/a&gt; Parsing of labels issue IDs doesn&#39;t work with colons and the &quot;fixes&quot; keyword &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25636&quot;&gt;#25636&lt;/a&gt; &quot;Disable realm?&quot; displayed when disabling client &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25642&quot;&gt;#25642&lt;/a&gt; Failure in KeycloakDistConfiguratorTest&#39;s &#39;missingHostname&#39; check &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25649&quot;&gt;#25649&lt;/a&gt; OpenAPI: In ClientRepresentation the property oauth2DeviceAuthorizationGrantEnabled was not known by the API. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25656&quot;&gt;#25656&lt;/a&gt; OpenAPI: POST /admin/realms/{realm}/clients-initial-access response is 201 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25660&quot;&gt;#25660&lt;/a&gt; Incorrect version of the fix in release notes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25677&quot;&gt;#25677&lt;/a&gt; Removing all group attributes no longer works with keycloak-admin-client (java) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25679&quot;&gt;#25679&lt;/a&gt; `/admin/realms/{realm-name}/ui-ext/realms` endpoint leaks realms the user doesn&#39;t have access to see &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25699&quot;&gt;#25699&lt;/a&gt; Flaky test Job URL missing on some runs &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25704&quot;&gt;#25704&lt;/a&gt; Custom Validator is never executed when UserProfileContext is UPDATE_EMAIL &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25714&quot;&gt;#25714&lt;/a&gt; Flaky test: org.keycloak.testsuite.adapter.servlet.OfflineServletsAdapterTest#testServlet &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25731&quot;&gt;#25731&lt;/a&gt; /admin/realms/{realm}/groups Endpoint is slow &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25746&quot;&gt;#25746&lt;/a&gt; Using kcadm.sh create components result to 400 Bad Request &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25752&quot;&gt;#25752&lt;/a&gt; [CI] Store Model Tests failures - UserSessionProviderOfflineModelTest, OfflineSessionPersistenceTest, UserSessionInitializerTest &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25753&quot;&gt;#25753&lt;/a&gt; Backchannel logout token is missing the &quot;exp&quot; claim &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25783&quot;&gt;#25783&lt;/a&gt; Since 23, start-dev command line arguments parsing is buggy &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25789&quot;&gt;#25789&lt;/a&gt; User events: labels overlap content &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25827&quot;&gt;#25827&lt;/a&gt; admin ui uses hyphen instead of dot as realm attribute separator &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25853&quot;&gt;#25853&lt;/a&gt; Timeouts after upgrade of download action v4 &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25878&quot;&gt;#25878&lt;/a&gt; HTML emails in Catalan don&#39;t contain links &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25883&quot;&gt;#25883&lt;/a&gt; ldap-group-mapper fails when empty member: attribute is present &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25891&quot;&gt;#25891&lt;/a&gt; Optimize handling of terms and conditions during registration &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25892&quot;&gt;#25892&lt;/a&gt; Test suite depends on artifacts built only when distribution profile is active &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25909&quot;&gt;#25909&lt;/a&gt; Keycloak HA Guide uses token for cross-site setup that expires &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25912&quot;&gt;#25912&lt;/a&gt; LDAP federation reports &quot;Creating new LDAP Store...&quot; on every login &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25927&quot;&gt;#25927&lt;/a&gt; UI crash after using breadcrumb group navigation during an active group search &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25934&quot;&gt;#25934&lt;/a&gt; On invalid submission, IdpUsernamePasswordForm sends back the user to the standard UsernamePasswordForm template &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25939&quot;&gt;#25939&lt;/a&gt; Declartive user profile. When multiple attributes with options validator are defined and 1 is selected on UI shown that 2 of them have values. &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25951&quot;&gt;#25951&lt;/a&gt; Masthead tests fail often &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25961&quot;&gt;#25961&lt;/a&gt; Native SQL Schema names broken on MySQL &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25977&quot;&gt;#25977&lt;/a&gt; No error message displayed when trying to add read-only attribute to some user in `Attributes` tab &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25980&quot;&gt;#25980&lt;/a&gt; Force reauthentication is ignored during identity brokering when mapping between OIDC and SAML protocols &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25981&quot;&gt;#25981&lt;/a&gt; GitHub Status check is green if the build fails &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26021&quot;&gt;#26021&lt;/a&gt; `mvn clean` does not work in js directory &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26032&quot;&gt;#26032&lt;/a&gt; Duplicate tooltip/label for refresh button on device activity page &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26036&quot;&gt;#26036&lt;/a&gt; subgroups clickopen not working &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26040&quot;&gt;#26040&lt;/a&gt; Subgroups-check is incorrect, and therefore subgroups are not clickable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26051&quot;&gt;#26051&lt;/a&gt; Name ID Format field is confusing for User Attribute Mapper For NameID &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26052&quot;&gt;#26052&lt;/a&gt; Configure OTP Form regenerates Secret on reload &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26059&quot;&gt;#26059&lt;/a&gt; Attempting to update settings for realm with &quot;dots&quot; in the name fails due to client side validation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26060&quot;&gt;#26060&lt;/a&gt; Various Localization tab issues &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26075&quot;&gt;#26075&lt;/a&gt; Next time you start message references the wrong command &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26088&quot;&gt;#26088&lt;/a&gt; Rest custom JAX-RS resource in kc 23: Method not allowed &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26131&quot;&gt;#26131&lt;/a&gt; Localization: Realm overrides subtab  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26132&quot;&gt;#26132&lt;/a&gt; Localization: Effective message bundles subtab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26148&quot;&gt;#26148&lt;/a&gt; Keycloak JavaScript CI: client_scopes_test.spec.ts &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26156&quot;&gt;#26156&lt;/a&gt; A11y critical violation in ProviderId form field &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26168&quot;&gt;#26168&lt;/a&gt; KC_DB_DRIVER is not propagated properly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26177&quot;&gt;#26177&lt;/a&gt; Invalidate authentication session on repeated OTP failures &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26180&quot;&gt;#26180&lt;/a&gt; Invalidate authentication session on repeated Recovery Code failures &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26228&quot;&gt;#26228&lt;/a&gt; With fine grained permissions enabled, the grouptree rights check is not working correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26231&quot;&gt;#26231&lt;/a&gt; keycloak-admin-client missing recent changes to group query parameters &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26236&quot;&gt;#26236&lt;/a&gt; Ensure community-maintained translations are not part of product build &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26266&quot;&gt;#26266&lt;/a&gt; Importing Realm with declarative user profile attributes fails &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26281&quot;&gt;#26281&lt;/a&gt; Incorrect example in the Keycloak operator configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26291&quot;&gt;#26291&lt;/a&gt; Workflow failure: FIPS IT - KcSamlEncryptedIdTest#testEncryptedElementIsReadableInDeprecatedMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26295&quot;&gt;#26295&lt;/a&gt; Incomplete Chinese Translation for Login Page &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26308&quot;&gt;#26308&lt;/a&gt; Error when migrating from a realm where the user profile component does not hold any entry in the configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26323&quot;&gt;#26323&lt;/a&gt; Reset credentials action fails when triggered from first broker login flow &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26330&quot;&gt;#26330&lt;/a&gt; HTTP status code 413 Request Entity Too Large for large SAMLResponse since Keycloak 23 &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26334&quot;&gt;#26334&lt;/a&gt; Resource and permission titles missing for a new client &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26335&quot;&gt;#26335&lt;/a&gt; Bind flow modal broken &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26337&quot;&gt;#26337&lt;/a&gt; Write tests to cover binding a flow &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26350&quot;&gt;#26350&lt;/a&gt; Fix more A11y violations &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26358&quot;&gt;#26358&lt;/a&gt; Apparently incorrect tooltip on &quot;type&quot; field for a &quot;resource&quot; in a client &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26363&quot;&gt;#26363&lt;/a&gt; Search dialog for authorization policy is wrong? &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26374&quot;&gt;#26374&lt;/a&gt; Workflow failure: Quarkus IT - FipsDistTest#testUnsupportedHttpsPkcs12KeyStoreInStrictMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26375&quot;&gt;#26375&lt;/a&gt; The role Unassign button enabled in admin console even if no roles are selected &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26383&quot;&gt;#26383&lt;/a&gt; Labels for WebAuthN missing in Account Console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26390&quot;&gt;#26390&lt;/a&gt; More A11y Violations Detected &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26400&quot;&gt;#26400&lt;/a&gt; Workflow failure: Admin UI E2E - realm_test.spec.ts  &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26407&quot;&gt;#26407&lt;/a&gt; Typo in disable dialog &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26409&quot;&gt;#26409&lt;/a&gt; Duplicate `key` for credentials on sign in page &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26418&quot;&gt;#26418&lt;/a&gt; Failed to link identity broker to user with a verified email by IdP email verification flow &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26420&quot;&gt;#26420&lt;/a&gt; Labels for WebAuthN Passwordless missing in Account Console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26427&quot;&gt;#26427&lt;/a&gt; Operator CSV uses wrong format for `createdAt` field &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26452&quot;&gt;#26452&lt;/a&gt; Row remains selected when &quot;cancel&quot; clicked on deleting translation in the Localization/Realm Overrides tab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26464&quot;&gt;#26464&lt;/a&gt; &quot;Test connection&quot; on LDAPS URI does not test TLS handshake &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26468&quot;&gt;#26468&lt;/a&gt; SPI-truststore-file-type option appears to be invalid &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26490&quot;&gt;#26490&lt;/a&gt; Update Keycloak sizing guide after change of default hashing configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26507&quot;&gt;#26507&lt;/a&gt; Failed to link the user with an existing read-token role from the federation provider when AddReadTokenRoleOnCreate was enabled for the IdP. &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26529&quot;&gt;#26529&lt;/a&gt; Workflow failure: Quarkus IT - FipsDistTest#testUnsupportedHttpsPkcs12KeyStoreInStrictMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26549&quot;&gt;#26549&lt;/a&gt; Mysterious settings changes due to Keycloak cluster changes &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26564&quot;&gt;#26564&lt;/a&gt; Issues related to IDNHomographValidator &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26584&quot;&gt;#26584&lt;/a&gt; User details locale select broken in realm specific admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26588&quot;&gt;#26588&lt;/a&gt; Infinite loop during X509 authentication &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26597&quot;&gt;#26597&lt;/a&gt; Keycloak UI meets &quot;Internal Sever Error&quot; after save &quot;Refresh Token Max Reuse&quot; number &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26604&quot;&gt;#26604&lt;/a&gt; Arc container is null &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26609&quot;&gt;#26609&lt;/a&gt; allow sending realm in request without changing the kc admin object &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26612&quot;&gt;#26612&lt;/a&gt; Wrong delete messages in Realm overrides &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26618&quot;&gt;#26618&lt;/a&gt; CLIENT_ATTRIBUTES index idx_client_att_by_name_value no longer exists since KC 20 (postgres) &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26631&quot;&gt;#26631&lt;/a&gt; Keycloak HA guide with blank and callout &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26635&quot;&gt;#26635&lt;/a&gt; Account UI ships too much Beer in user attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26636&quot;&gt;#26636&lt;/a&gt; Immediately reflect flow binding status on flow definition page in Admin UI when binding an auth flow &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26643&quot;&gt;#26643&lt;/a&gt; Replace &quot;message bundle&quot; text to &quot;translation&quot; in realm overrides &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26649&quot;&gt;#26649&lt;/a&gt; PhantomJS does not send secure cookies over http://localhost &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26651&quot;&gt;#26651&lt;/a&gt; [keycloak.js] useNonce parameter is all-or-nothing &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26653&quot;&gt;#26653&lt;/a&gt; Disallow removing required filters when searching for effective message bundle. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26665&quot;&gt;#26665&lt;/a&gt; Unable to modify access token lifespan at realm level. Keycloak stops working. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26668&quot;&gt;#26668&lt;/a&gt; Wrong help for &quot;Create initial access token&quot; expiration field &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26686&quot;&gt;#26686&lt;/a&gt; Not possible to build documentation after quarkus upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26697&quot;&gt;#26697&lt;/a&gt; When creating a user federation mapper changing the type doesn&#39;t change User Roles Retrieve Strategy &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26716&quot;&gt;#26716&lt;/a&gt; User Profile Applies Validation To Service Account Users &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26727&quot;&gt;#26727&lt;/a&gt; Auto layout of authenticator flow graph only applies the second time &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26747&quot;&gt;#26747&lt;/a&gt; Tooltip for attribute name in user-profile configuration is incorrect &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26750&quot;&gt;#26750&lt;/a&gt; Empty error message when validation issue due the PersonNameProhibitedValidator validation &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26782&quot;&gt;#26782&lt;/a&gt; Accessing userinfo fails with CORS when token is expired or session is deleted &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26790&quot;&gt;#26790&lt;/a&gt; Workflow failure: Operator IT on OpenShift &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26792&quot;&gt;#26792&lt;/a&gt; User profile &#39;uri&#39; validator not working &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26816&quot;&gt;#26816&lt;/a&gt; Keycloak server admin docs needs change with the new hashing iteration changes &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26818&quot;&gt;#26818&lt;/a&gt; bug in operator example yaml &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26826&quot;&gt;#26826&lt;/a&gt; Freemarker erroneously escapes/sanitizes URL in template.ftl (&amp;amp;) &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26830&quot;&gt;#26830&lt;/a&gt; Duplicate &quot;Refresh&quot; buttons present in admin-ui &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26834&quot;&gt;#26834&lt;/a&gt; Disabling &quot;Reset OTP&quot; in &quot;Reset credentials&quot; flow throws error on &quot;forgot password&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26853&quot;&gt;#26853&lt;/a&gt; Fixing anchors in security apps guide in prod profile &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26856&quot;&gt;#26856&lt;/a&gt; Remove custom user attributes section in server developer guide &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26937&quot;&gt;#26937&lt;/a&gt; Once all default client scopes are deleted from the realm we can&#39;t create a new custom role. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26941&quot;&gt;#26941&lt;/a&gt; When loading entries from a remote store at startup, no lifespan or expiry is set &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26951&quot;&gt;#26951&lt;/a&gt; Roles admin REST API for creating roles: Composite roles are expanded &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26983&quot;&gt;#26983&lt;/a&gt; Group not found in list after creation &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27002&quot;&gt;#27002&lt;/a&gt; Refresh doesn&#39;t work in Localization/Effective message bundles &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27005&quot;&gt;#27005&lt;/a&gt; Unable to approve/deny permission requests &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27031&quot;&gt;#27031&lt;/a&gt; Having read-only attributes stored at a user leads to validation warning on every login  &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27095&quot;&gt;#27095&lt;/a&gt; Cache Keys for Group pagination and other entries cannot be invalidated and updated &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27120&quot;&gt;#27120&lt;/a&gt; Microsoft social login failure &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27133&quot;&gt;#27133&lt;/a&gt; Workflow failure: Keycloak CI - Store IT (aurora-postgres) &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27137&quot;&gt;#27137&lt;/a&gt; Users with fine-grained permissions can not create a user &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27140&quot;&gt;#27140&lt;/a&gt; Locale selector is unnecessarily visible without rights to locales &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27162&quot;&gt;#27162&lt;/a&gt; Default locale is set to null when not explicitly choosing a locale &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27173&quot;&gt;#27173&lt;/a&gt; Newly created authentication subflow is always disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27234&quot;&gt;#27234&lt;/a&gt; Cannot update email in account console with `update-email` feature enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27243&quot;&gt;#27243&lt;/a&gt; Account console not working when lightweight-access-tokens used &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27271&quot;&gt;#27271&lt;/a&gt; AuthorityKeyIdentifierExtension should be calculated from caCert (if it present) in generateV3Certificate, not from subjPubKeyInfo &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27284&quot;&gt;#27284&lt;/a&gt; FolderTheme does not support Locales with extensions &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27290&quot;&gt;#27290&lt;/a&gt; AWS JDBC driver throws ConcurrentModificationException &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27297&quot;&gt;#27297&lt;/a&gt; Check for duplicated usernames and emails when Login with email option is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27316&quot;&gt;#27316&lt;/a&gt; Server admin guide not building downstream due to missing IDs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27337&quot;&gt;#27337&lt;/a&gt; Workflow failure: Admin UI E2E - realm_settings_user_profile_enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27344&quot;&gt;#27344&lt;/a&gt; Secure Redirect URI executor issues &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27345&quot;&gt;#27345&lt;/a&gt; Workflow failure: Keycloak CI - OAuth 2.0 Grant Type SPI &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27406&quot;&gt;#27406&lt;/a&gt; JavaDocs generation broken after removal of resteasy-core &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27409&quot;&gt;#27409&lt;/a&gt; Apply remote store workaround also for configuration via CLI options &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27412&quot;&gt;#27412&lt;/a&gt; OAuth 2.1 default profile lacks oauth-2-1-compliant setting for SecureRedirectUrisEnforcerExecutor &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/03/keycloak-2400-released</guid>
        <pubDate>Mon, 4 Mar 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.7 released</title>
        <link>https://www.keycloak.org/2024/02/keycloak-2307-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26810&quot;&gt;#26810&lt;/a&gt; Shorter lifespan for offline session cache entries in memory &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22431&quot;&gt;#22431&lt;/a&gt; Localization: Admin UI doesn&#39;t pick up message bundles from realms other than master  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23786&quot;&gt;#23786&lt;/a&gt; Failure: FipsDistTest &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25294&quot;&gt;#25294&lt;/a&gt; Kerberos principal attribute not found on LDAP user - even if kerberos authentication is off &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25883&quot;&gt;#25883&lt;/a&gt; ldap-group-mapper fails when empty member: attribute is present &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25912&quot;&gt;#25912&lt;/a&gt; LDAP federation reports &quot;Creating new LDAP Store...&quot; on every login &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25961&quot;&gt;#25961&lt;/a&gt; Native SQL Schema names broken on MySQL &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26374&quot;&gt;#26374&lt;/a&gt; Workflow failure: Quarkus IT - FipsDistTest#testUnsupportedHttpsPkcs12KeyStoreInStrictMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26529&quot;&gt;#26529&lt;/a&gt; Workflow failure: Quarkus IT - FipsDistTest#testUnsupportedHttpsPkcs12KeyStoreInStrictMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26826&quot;&gt;#26826&lt;/a&gt; Freemarker erroneously escapes/sanitizes URL in template.ftl (&amp;amp;) &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27120&quot;&gt;#27120&lt;/a&gt; Microsoft social login failure &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/02/keycloak-2307-released</guid>
        <pubDate>Thu, 22 Feb 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.6 released</title>
        <link>https://www.keycloak.org/2024/02/keycloak-2306-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26427&quot;&gt;#26427&lt;/a&gt; Operator CSV uses wrong format for `createdAt` field &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26597&quot;&gt;#26597&lt;/a&gt; Keycloak UI meets &quot;Internal Sever Error&quot; after save &quot;Refresh Token Max Reuse&quot; number &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26665&quot;&gt;#26665&lt;/a&gt; Unable to modify access token lifespan at realm level. Keycloak stops working. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/02/keycloak-2306-released</guid>
        <pubDate>Fri, 2 Feb 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.5 released</title>
        <link>https://www.keycloak.org/2024/01/keycloak-2305-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25733&quot;&gt;#25733&lt;/a&gt; Update Route53 HA guide to be compatible with ROSA and Openshift 4.14.x &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26028&quot;&gt;#26028&lt;/a&gt; Remove conditional statements about Windows / Linux from the docs &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20125&quot;&gt;#20125&lt;/a&gt; Role mapping tab no longer visible when using fine grained permissions after upgrade from 20.0.3 to 21.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26006&quot;&gt;#26006&lt;/a&gt; Clarification needed of use of containers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26083&quot;&gt;#26083&lt;/a&gt; Change RHDG references to Infinispan &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26220&quot;&gt;#26220&lt;/a&gt; Don&#39;t differentiate Windows for getting started &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26417&quot;&gt;#26417&lt;/a&gt; Update to Quarkus 3.2.10 &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14448&quot;&gt;#14448&lt;/a&gt; Multiple failures in OfflineServletsAdapterTest (testServlet, testServletWithConsent, testServletWithRevoke) &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24219&quot;&gt;#24219&lt;/a&gt; admin-fine-grained-authz + client authorization settings requires view-client role &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24586&quot;&gt;#24586&lt;/a&gt; Read Only Access of a realm clients&#39; Authz is broken for Admin Console  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24918&quot;&gt;#24918&lt;/a&gt; User details tab does not display or update attibutes with dot &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25054&quot;&gt;#25054&lt;/a&gt; Read Only Access of the realm users&#39; &quot;Role mapping&quot; tab is broken for Admin Console &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25078&quot;&gt;#25078&lt;/a&gt; Log Injection during WebAuthn authentication/registration &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25392&quot;&gt;#25392&lt;/a&gt; Admin Console: Realm Dropdown should only show the realms the user has access to &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25502&quot;&gt;#25502&lt;/a&gt; Account v3 theme - theme.properties Custom theme scripts not loading &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25677&quot;&gt;#25677&lt;/a&gt; Removing all group attributes no longer works with keycloak-admin-client (java) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25679&quot;&gt;#25679&lt;/a&gt; `/admin/realms/{realm-name}/ui-ext/realms` endpoint leaks realms the user doesn&#39;t have access to see &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25714&quot;&gt;#25714&lt;/a&gt; Flaky test: org.keycloak.testsuite.adapter.servlet.OfflineServletsAdapterTest#testServlet &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25783&quot;&gt;#25783&lt;/a&gt; Since 23, start-dev command line arguments parsing is buggy &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25827&quot;&gt;#25827&lt;/a&gt; admin ui uses hyphen instead of dot as realm attribute separator &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25909&quot;&gt;#25909&lt;/a&gt; Keycloak HA Guide uses token for cross-site setup that expires &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25981&quot;&gt;#25981&lt;/a&gt; GitHub Status check is green if the build fails &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26291&quot;&gt;#26291&lt;/a&gt; Workflow failure: FIPS IT - KcSamlEncryptedIdTest#testEncryptedElementIsReadableInDeprecatedMode &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/01/keycloak-2305-released</guid>
        <pubDate>Mon, 29 Jan 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.4 released</title>
        <link>https://www.keycloak.org/2024/01/keycloak-2304-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9693&quot;&gt;#9693&lt;/a&gt; PubKeySignRegisterTest failures in WebAuthn tests &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24508&quot;&gt;#24508&lt;/a&gt; Deadlock when pre-loading remote sessions from external Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24763&quot;&gt;#24763&lt;/a&gt; Remove sign out action for offline sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25016&quot;&gt;#25016&lt;/a&gt; Make password visibility css classes configurable for themes &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25096&quot;&gt;#25096&lt;/a&gt; Meaning of briefRepresentation query parameter is inverted in GroupResource.getSubGroups &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25111&quot;&gt;#25111&lt;/a&gt; RealmAdminResource.getGroupByPathGroup does not work with space in path parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25120&quot;&gt;#25120&lt;/a&gt; CORS issue in &#39;openid-connect/certs&#39; endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25475&quot;&gt;#25475&lt;/a&gt; User Profile: If required roles (&quot;user&quot;) and reqired scopes are set, the required scopes have no effect &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25633&quot;&gt;#25633&lt;/a&gt; Parsing of labels issue IDs doesn&#39;t work with colons and the &quot;fixes&quot; keyword &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25753&quot;&gt;#25753&lt;/a&gt; Backchannel logout token is missing the &quot;exp&quot; claim &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25878&quot;&gt;#25878&lt;/a&gt; HTML emails in Catalan don&#39;t contain links &lt;span class=&quot;badge bg-secondary&quot;&gt;translations&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2024/01/keycloak-2304-released</guid>
        <pubDate>Mon, 8 Jan 2024 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Recover from site failures with a Multi-Site Setup</title>
        <link>https://www.keycloak.org/2023/12/recover-site-failures</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For a Customer Identity and Access Management (CIAM) system, high availability is essential as it is a single point for all systems where customers log in.
For Keycloak 23, there is a new and updated High Availability guide describing multi-site setups.
With detailed instructions and blueprints targeting cloud infrastructure, this is documented, tested, and ready to be tried out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on to find out what is new, and take a peek behind the scenes how this setup has been evaluated, tested and improved.
And finally, we are providing an outlook when this will no longer be a preview feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_improved_documentation_and_new_blueprints&quot;&gt;Improved documentation and new blueprints&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The recent updates to Keycloak&amp;#8217;s multi-site setup mark a significant milestone.
Keycloak 23 includes an &lt;a href=&quot;https://www.keycloak.org/high-availability/introduction&quot;&gt;opinionated guide&lt;/a&gt; on setting up Keycloak in a multi-site configuration including blueprints for a cloud setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;a class=&quot;image&quot; href=&quot;https://www.keycloak.org/high-availability/concepts-active-passive-sync&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/guides/high-availability/active-passive-sync.dio.svg&quot; alt=&quot;active passive sync.dio&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The high-level topics of this documentation are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/high-availability/introduction#_concept_and_building_block_overview&quot;&gt;Concept and building block overview&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;These guides include step-by-step instructions to bring up different components of the Keycloak multi-site architecture such as:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;What does an active-passive setup with Keycloak architecture look like?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to use an external database?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to tune the resources for each of these architectural components?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/high-availability/introduction#_blueprints_for_building_blocks&quot;&gt;Blueprints for building blocks&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;A series of guides around how to deploy Keycloak in various configurations on Amazon Web Service.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/high-availability/introduction#_operational_procedures&quot;&gt;Operational procedures&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;These guides include detailed operational procedures, ensuring that users can set up and operate their multi-site Keycloak instances efficiently.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_validation_of_the_multi_site_setup&quot;&gt;Validation of the multi-site setup&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before we published the guides above, we worked on the tooling that allows us both experimenting and getting reproducible results for performance, scalability and chaos testing our solution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With these tools, we tested first a single-site setup, and once that worked sufficiently well, also a multi-site setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All these tools are available as open source, and we invite you to review them to give us feedback, and use them in your environment to run your own performance benchmark and regression tests:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/dataset-guide/latest/&quot;&gt;Dataset Provider&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Install this into a Keycloak server in a test environment, and create as many users, clients, groups, etc. as you need to run your performance benchmark.
Keycloak caches a lot of information in its internal caches, and so does the database, so you will be able to spot some problems only when you have the right amount of data in your database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/benchmark-guide/latest/&quot;&gt;Benchmark&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This contains ready-to-be used scenarios for authentication flows and for Keycloak&amp;#8217;s admin REST endpoints.
If it does not fit your needs yet, use it as a library to create your own Gatling scenarios based on existing and custom steps.
These tests are deployed as a JAR and a shell script wrapper, so you will only need to install Java on your load runners and you are ready to go.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/benchmark-guide/latest/run/running-benchmark-ansible&quot;&gt;Dedicated EC2 load drivers&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Use these Ansible playbooks to spin up a set of EC2 instances to drive load against a Keycloak test installation, and aggregate the results.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/kubernetes-guide/latest/prerequisite/prerequisite-rosa&quot;&gt;Automated OpenShift installation on AWS&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Based on Red Hat OpenShift Service on AWS (ROSA), use the scripts to provision an instance with monitoring, logging and useful Operators preconfigured, ready to deploy Keycloak.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/kubernetes-guide/latest/storage/aurora-regional-postgres&quot;&gt;Automated Aurora installation&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Set up an Aurora in different variants regional or global, and connect it to a ROSA environment.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/kubernetes-guide/latest/openshift/&quot;&gt;Opinionated Keycloak deployment for Minikube or OpenShift&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This deploys Keycloak with additional monitoring and debugging tools so we can look at metrics, logs and traces as needed&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.keycloak.org/keycloak-benchmark/kubernetes-guide/latest/openshift/installation-route53-loadbalancer&quot;&gt;Scripted AWS Route 53 load balancer&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Set up Route 53 for an active-passive setup to distribute the load to two Keycloak deployments in different OpenShift clusters&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-benchmark/blob/main/.github/workflows/rosa-multi-az-cluster-create.yml&quot;&gt;Scripted Multi-AZ deployment&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Every weekday we create a new Multi-AZ setup from scratch using GitHub actions, a performance testsuite, and record the results.
This way we catch functional and performance regressions as they occur.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to everyone in the community who has already tried out these tools, found bugs and submitted ideas for improvements!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_got_better_for_everyone&quot;&gt;Keycloak got better for everyone&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When using the tools listed above, we were able to reproduce several situations where Keycloak needed to improve.
Here are of the improvements which are available in Keycloak 23 for both single-site and multi-site setups:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Non-Blocking liveness probe&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;When running Keycloak under a high load, requests might queue up in a Keycloak instance.
The more requests queue up, the longer it takes to reply to the requests.
In previous versions also the requests to the liveness probe (&lt;code&gt;/health/live&lt;/code&gt;) were queued, and the probe eventually timed out, and then Kubernetes restarted the Pod.
In the latest version of Keycloak, the probe is &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22109&quot;&gt;re-implemented to be non-blocking&lt;/a&gt;, so it will not queue, and therefore will not time out and the Pod is not restarted under a high load.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Load Shedding&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;When requests are queued as described above, the caller will not get a response in time, and the Pod might eventually run out of resources like memory or network connections.
The recommended recipe is to drop requests early when an instance will not be able to serve the requests in time, which is called load shedding.
Keycloak 23 now supports the &lt;a href=&quot;https://www.keycloak.org/server/configuration-production&quot;&gt;new option &lt;code&gt;http-max-queued-requests&lt;/code&gt;&lt;/a&gt; that can limit the number of concurrent blocking requests.
When the number is exceeded, Keycloak immediately returns the response &lt;code&gt;503 Server not Available&lt;/code&gt;.
This has two benefits: The caller receives an immediate response and can retry later, and resources are freed on the server side immediately.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Prevented cache stampede for realms and clients&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;When a new Keycloak instance starts or restarts, its caches are empty.
If under high load parallel requests arrive for the same realm or the same client on a node of Keycloak, previous versions of Keycloak loaded the data from the database in each parallel request.
This caused a spike in database connection usage and an initial response delay.
The same happens when a cache or realm entry in the cache is evicted, for example, because it was modified.
The latest version of Keycloak prevents this so that each Keycloak instance will fetch the data from the database once, and all other parallel requests then use this data without querying the database again (see &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21521&quot;&gt;#21521&lt;/a&gt; and &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22988&quot;&gt;#22988&lt;/a&gt;, &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24202&quot;&gt;#24202&lt;/a&gt;).&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Align the number of JGroup threads with the number of Quarkus threads&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The more Keycloak instances run in a cluster, and the more requests are processed in parallel, the higher is the load on the JGroups thread pool.
The JGroups thread pool ensures smooth communication for the embedded Infinispan of Keycloak, and could lead to timeouts on the internal Infinispan communications if its capacity is exceeded.
The high-availability docs now contain documentation on &lt;a href=&quot;https://www.keycloak.org/high-availability/concepts-threads&quot;&gt;how to set the Quarkus thread pool to not exceed the JGroup thread pool&lt;/a&gt;.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Improved Infinispan Metrics&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The embedded Infinispan provides improved metrics that allow you to monitor your cluster.
The metrics exposed by the Keycloak&amp;#8217;s metrics endpoint now contain only Infinispan metrics for the current node, so they will not block if another Pod is currently starting up or shutting down (&lt;a href=&quot;https://issues.redhat.com/browse/ISPN-15042&quot;&gt;ISPN-15042&lt;/a&gt; and &lt;a href=&quot;https://issues.redhat.com/browse/ISPN-15072&quot;&gt;ISPN-15072&lt;/a&gt;).
This way you have better visibility of your cluster during those critical moments.
The metrics can now expose the cache names as labels, so they can be plotted simpler in dashboards by adding a &lt;code&gt;&amp;lt;metrics names-as-tags=&quot;true&quot; /&amp;gt;&lt;/code&gt; to the Infinispan XML configuration.
Additional metrics are available for the latencies between sites.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Reliable Infinispan operations&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;We tested Infinispan and its communication layer JGroups thoroughly, and we were able to fix situations where a state transfer stalled (&lt;a href=&quot;https://issues.redhat.com/browse/ISPN-14982&quot;&gt;ISPN-14982&lt;/a&gt;), or an initial state transfer failed.
The Gossip router used in the multi-site setup now works even in situations where a load balancer has multiple IP addresses (&lt;a href=&quot;https://issues.redhat.com/browse/JGRP-2722&quot;&gt;JGRP-2722&lt;/a&gt;, &lt;a href=&quot;https://issues.redhat.com/browse/JGRP-2721&quot;&gt;JGRP-2721&lt;/a&gt;, &lt;a href=&quot;https://github.com/infinispan/infinispan-operator/issues/1857&quot;&gt;infinispan-operator#1857&lt;/a&gt;, and &lt;a href=&quot;https://github.com/infinispan/infinispan-operator/issues/1856&quot;&gt;infinispan-operator#1856&lt;/a&gt;).&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_can_the_blueprints_or_scripts_be_used_in_production&quot;&gt;Can the blueprints or scripts be used in production?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of the testing we did, we optimized Keycloak and those optimizations are built into Keycloak.
They are available without the need for additional configuration except for the JGroup thread pool configuration.
While the configuration of Keycloak on Kubernetes might match a production environment quite closely, we expect the database, network, load balancer and security hardening to be different in every organization, so you will need to adapt it to your needs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is why we chose to document the blueprints as text, so you can learn about the choices we made and why different aspects are configured in one setup, while others are at their default settings.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The scripts we use for the automated setup in the Keycloak Benchmark project focus on high availability and mix this with configurations that are simple to debug and analyze from an engineering perspective.
A production-ready setup would not have that functionality, so we do not recommend using the scripts as is.
Still, they can serve as a starting point for your own automation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_read_the_guides_and_give_it_a_try&quot;&gt;Read the guides and give it a try!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At the moment, we are running the final tests for an active/passive setup and work toward automating more tests.
We are also looking for feedback from the community in this &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/25269&quot;&gt;GitHub discussion on multi-site setups&lt;/a&gt;: Do you like what you see here?
Is something missing?
Your feedback is essential!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once our tests are complete, and we receive feedback from the community, we plan to make it a fully supported feature.
This is a huge opportunity for the community to engage with this setup, try it in your environment, and share your findings.
Let&amp;#8217;s build a stronger and more resilient Keycloak together!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/12/recover-site-failures</guid>
        <pubDate>Mon, 18 Dec 2023 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz, Kamesh Akella</author>
      </item>
      <item>
        <title>Keycloak 23.0.3 released</title>
        <link>https://www.keycloak.org/2023/12/keycloak-2303-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25388&quot;&gt;#25388&lt;/a&gt; Enable concurrent remote operations for Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24718&quot;&gt;#24718&lt;/a&gt; Mapper Option &quot;Add to access token&quot; Toggled Off Despite Claim Added to Token &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25208&quot;&gt;#25208&lt;/a&gt; GH Actions -&gt; Keycloak CI -&gt; MSSQL docker images fails during startup &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25231&quot;&gt;#25231&lt;/a&gt; CIBA and PAR are broken since 23.0.0 (NPE) when using http protocol &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25322&quot;&gt;#25322&lt;/a&gt; Warning &quot;Event object wasn&#39;t available in remote cache&quot; when using remote store &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25437&quot;&gt;#25437&lt;/a&gt; Failed to find theme resources, using built-in themes when accessing account console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/12/keycloak-2303-released</guid>
        <pubDate>Fri, 15 Dec 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.2 released</title>
        <link>https://www.keycloak.org/2023/12/keycloak-2302-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_non_blocking_health_check_for_load_balancers&quot;&gt;Non-blocking health check for load balancers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new health check endpoint available at &lt;code&gt;/lb-check&lt;/code&gt; was added.
The execution is running in the event loop which means this check is responsive also in overloaded situations when Keycloak needs to handle many requests waiting in request queue.
This behavior is useful, for example, in multi-site deployment where we do not want to fail over to the other site under heavy load.
The endpoint is currently checking availability of the embedded and external Infinispan caches. Other checks may be added later.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This endpoint is not available by default.
To enable it, run Keycloak with feature &lt;code&gt;multi-site&lt;/code&gt;.
Proceed to &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;Enabling and disabling features&lt;/a&gt; guide for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25113&quot;&gt;#25113&lt;/a&gt; Add a test for the LoadBalancerCheck &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25287&quot;&gt;#25287&lt;/a&gt; Upgrade Infinispan to 14.0.21.Final &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24652&quot;&gt;#24652&lt;/a&gt; SAML decryption fails if keycloak.saml.deprecated.encryption flag is set &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24986&quot;&gt;#24986&lt;/a&gt; `getMultiPartFormParameters()` always returns `EmptyMultivaluedMap` after upgrade to Resteasy Reactive &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25001&quot;&gt;#25001&lt;/a&gt; Client redirect_uri check must be compared using exact string matching &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25010&quot;&gt;#25010&lt;/a&gt; Bug: KC_DB_USERNAME environment variable is causing a crash in latest version &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25051&quot;&gt;#25051&lt;/a&gt; Unexpected Application Error when clicking &quot;Cancel&quot; on user creation page &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25108&quot;&gt;#25108&lt;/a&gt; Documentation Inconsistency about Open Banking(Finance) Brasil FAPI security profile &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25124&quot;&gt;#25124&lt;/a&gt; If a client does not have a URL the applications page in the account console links to about:blank &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25173&quot;&gt;#25173&lt;/a&gt; Make sure username is lowercase when normalizing attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25183&quot;&gt;#25183&lt;/a&gt; NullPointerException thrown for UPConfig.getGroups() &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25307&quot;&gt;#25307&lt;/a&gt; Keycloak instance `HasErrors` true after update: `More than 1 secondary resource related to primary` &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/12/keycloak-2302-released</guid>
        <pubDate>Thu, 14 Dec 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Join Keycloak Developer Day: A Celebration of Innovation and Community!</title>
        <link>https://www.keycloak.org/2023/12/keycloak-dev-day-24</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Are you passionate about Keycloak and eager to dive deeper into this incredible Open Source IAM solution?
Then don’t miss &lt;a href=&quot;https://keycloak-day.dev&quot;&gt;Keycloak Developer Day&lt;/a&gt; – a one-day, community-driven conference in Frankfurt/Main Germany in February 2024, dedicated to Keycloak and its vibrant community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_community_event_to_celebrate_keycloak&quot;&gt;Community Event to celebrate Keycloak&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/dasniko&quot;&gt;Niko&lt;/a&gt; and &lt;a href=&quot;https://github.com/srose&quot;&gt;I (Sebastian)&lt;/a&gt; have been active in the Keycloak community for years and have been using Keycloak in many customer projects.
We co-organize the Java User Group Darmstadt, and participate in community events like the JavaLand conference.
Now we want to take the next step: Create a special event to celebrate and explore the vast possibilities of Keycloak.
We&amp;#8217;re thrilled to invite you to be part of this exciting first occasion, the Keycloak Developer Day 2024!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_tailored_for_users_of_keycloak&quot;&gt;Tailored for users of Keycloak&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re calling everyone using Keycloak in their day-to-day work – whether you&amp;#8217;re tackling operational challenges, brainstorming innovative solutions to unique use-cases, or just curious about the future of IAM – to join us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Expect a day filled with insightful talks, hands-on workshops, and plenty of opportunities to network with fellow Keycloak enthusiasts and Keycloak maintainers.
The feature set of Keycloak is as vast as it is impressive, promising a rich array of topics to explore.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_book_your_ticket_online&quot;&gt;Book your ticket online&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Don&amp;#8217;t miss this unique opportunity to connect, share, and grow with the Keycloak community.
Book your ticket today at &lt;a href=&quot;https://keycloak-day.dev&quot;&gt;keycloak-day.dev&lt;/a&gt; and join us in celebrating Keycloak!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/12/keycloak-dev-day-24</guid>
        <pubDate>Mon, 11 Dec 2023 00:00:00 GMT</pubDate>
        
        <author>Sebastian Rose</author>
      </item>
      <item>
        <title>Keycloak 23.0.1 released</title>
        <link>https://www.keycloak.org/2023/11/keycloak-2301-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23841&quot;&gt;#23841&lt;/a&gt; Users page with LDAP User Storage Provider Cannot read properties of undefined  &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23872&quot;&gt;#23872&lt;/a&gt; Attempt to request storage access in Firefox &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24261&quot;&gt;#24261&lt;/a&gt; „Unlink users“-Option greyed out in ldap federation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24958&quot;&gt;#24958&lt;/a&gt; Error handling in admin console when update of user fails due the 400 HTTP error code &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24961&quot;&gt;#24961&lt;/a&gt; Keycloak not able to handle multiple validating X509 certificates when public key are the same &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24984&quot;&gt;#24984&lt;/a&gt; Operator is missing CRDs metadata in CSV &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25008&quot;&gt;#25008&lt;/a&gt; Group search when creating user &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25022&quot;&gt;#25022&lt;/a&gt; NPE in checkAndBindMtlsHoKToken on Token Refresh when using SuppressRefreshTokenRotationExecutor and Certificate Bound Token &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/11/keycloak-2301-released</guid>
        <pubDate>Wed, 29 Nov 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 23.0.0 released</title>
        <link>https://www.keycloak.org/2023/11/keycloak-2300-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_openid_connect_oauth_2_0&quot;&gt;OpenID Connect / OAuth 2.0&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_fapi_2_drafts_support&quot;&gt;FAPI 2 drafts support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has new client profiles &lt;code&gt;fapi-2-security-profile&lt;/code&gt; and &lt;code&gt;fapi-2-message-signing&lt;/code&gt;, which ensure Keycloak enforces compliance with
the latest FAPI 2 draft specifications when communicating with your clients. Thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_dpop_preview_support&quot;&gt;DPoP preview support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has preview for support for OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP). Thanks to
&lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/dteleguin&quot;&gt;Dmitry Telegin&lt;/a&gt; for their contributions.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_more_flexibility_for_introspection_endpoint&quot;&gt;More flexibility for introspection endpoint&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous versions, introspection endpoint  automatically returned most claims, which were available in the access token. Now there is new
switch &lt;code&gt;Add to token introspection&lt;/code&gt; on most of protocol mappers. This addition allows more flexibility as introspection endpoint can return different
claims than access token. This is first step towards &quot;Lightweight access tokens&quot; support as access tokens can omit lots of the claims, which would be still returned
by the introspection endpoint. When migrating from previous versions, the introspection endpoint should return same claims, which are returned from access token,
so the behavior should be effectively the same by default after the migration. Thanks to &lt;a href=&quot;https://github.com/skabano&quot;&gt;Shigeyuki Kabano&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_feature_flag_for_oauth_2_0_device_authorization_grant_flow&quot;&gt;Feature flag for OAuth 2.0 device authorization grant flow&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The OAuth 2.0 device authorization grant flow now includes a feature flag, so you can easily disable this feature. This feature is still enabled by default.
Thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_authentication&quot;&gt;Authentication&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_passkeys_support&quot;&gt;Passkeys support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has preview support for &lt;a href=&quot;https://fidoalliance.org/passkeys/&quot;&gt;Passkeys&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Passkey registration and authentication are realized by the features of WebAuthn.
Therefore, users of Keycloak can do passkey registration and authentication by existing WebAuthn registration and authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Both synced passkeys and device-bound passkeys can be used for both Same-Device and Cross-Device Authentication.
However, passkeys operations success depends on the user&amp;#8217;s environment. Make sure which operations can succeed in &lt;a href=&quot;https://passkeys.dev/device-support/&quot;&gt;the environment&lt;/a&gt;.
Thanks to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for the contribution and thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the help with the
ideas and testing of this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_webauthn_improvements&quot;&gt;WebAuthn improvements&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;WebAuthn policy now includes a new field: &lt;code&gt;Extra Origins&lt;/code&gt;.  It provides better interoperability with non-Web platforms (for example, native mobile applications).
Thanks to &lt;a href=&quot;https://github.com/akunzai&quot;&gt;Charley Wu&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_you_are_already_logged_in&quot;&gt;You are already logged-in&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There was an infamous issue that when user had login page opened in multiple browser tabs and authenticated in one of them,
the attempt to authenticate in subsequent browser tabs opened the page &lt;code&gt;You are already logged-in&lt;/code&gt;. This is improved now as
other browser tabs just automatically authenticate as well after authentication of first browser tab. There are still
corner cases when the behaviour is not 100% correct, like the scenario with expired authentication session, which is then
restarted just in one browser tab and hence other browser tabs won&amp;#8217;t follow automatically with the login.
So we still plan improvements in this area.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_password_policy_for_specify_maximum_authentication_time&quot;&gt;Password policy for specify Maximum authentication time&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak supports new password policy, which allows to specify the maximum age of an authentication with which a password may be changed by user without re-authentication.
When this password policy is set to 0, the user will be required to re-authenticate to change the  password in the Account Console or by other means.
You can also specify a lower or higher value than the default value of 5 minutes. Thanks to &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_deployments&quot;&gt;Deployments&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_preview_support_for_multi_site_active_passive_deployments&quot;&gt;Preview support for multi-site active-passive deployments&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Deploying Keycloak to multiple independent sites is essential for some environments to provide high availability and a speedy recovery from failures.
This release adds preview-support for active-passive deployments for Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A lot of work has gone into testing and verifying a setup which can sustain load and recover from the failure scenarios.
To get started, use the high-availability guide which also includes a comprehensive blueprint to deploy a highly available Keycloak to a cloud environment.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_adapters&quot;&gt;Adapters&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_openid_connect_wildfly_and_jboss_eap&quot;&gt;OpenID Connect WildFly and JBoss EAP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID Connect adapter for WildFly and JBoss EAP, which was deprecated in previous versions, has been removed in this release.
It is being replaced by the Elytron OIDC adapter,which is included in WildFly, and provides a seamless migration from
Keycloak adapters.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_saml_wildfly_and_jboss_eap&quot;&gt;SAML WildFly and JBoss EAP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The SAML adapter for WildFly and JBoss EAP is no longer distributed as a ZIP download, but rather a Galleon feature pack,
making it easier and more seamless to install.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the &lt;a href=&quot;https://www.keycloak.org/docs/23.0.0/securing_apps/&quot;&gt;Securing Applications and Services Guide&lt;/a&gt; for the details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_server_distribution&quot;&gt;Server distribution&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_load_shedding_support&quot;&gt;Load Shedding support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now features &lt;code&gt;http-max-queued-requests&lt;/code&gt; option to allow proper rejecting of incoming requests under high load.
For details refer to the &lt;a href=&quot;https://www.keycloak.org/server/configuration-production&quot;&gt;production guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_resteasy_reactive&quot;&gt;RESTEasy Reactive&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has switched to RESTEasy Reactive. Applications using &lt;code&gt;quarkus-resteasy-reactive&lt;/code&gt; should still benefit from a better startup time, runtime performance, and memory footprint, even though not using reactive style/semantics. SPI&amp;#8217;s that depend directly on JAX-RS API should be compatible with this change. SPI&amp;#8217;s that depend on RESTEasy Classic including &lt;code&gt;ResteasyClientBuilder&lt;/code&gt; will not be compatible and will require update, this will also be true for other implementation of the JAX-RS API like Jersey.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_user_profile&quot;&gt;User profile&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Declarative user profile is still a preview feature in this release, but we are working hard on promoting it to a supported feature. Feedback is welcome.
If you find any issues or have any improvements in mind,  you are welcome to create &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/new/choose&quot;&gt;Github issue&lt;/a&gt;,
ideally with the label &lt;code&gt;area/user-profile&lt;/code&gt;. It is also recommended to check the &lt;a href=&quot;https://www.keycloak.org/docs/23.0.0/upgrading/&quot;&gt;Upgrading Guide&lt;/a&gt;  with the migration changes for this
release for some additional informations related to the migration.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_group_scalability&quot;&gt;Group scalability&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Performance around searching of groups is improved for the use-cases with many groups and subgroups. There are improvements, which allow
paginated lookup of subgroups. Thanks to &lt;a href=&quot;https://github.com/alice-wondered&quot;&gt;Alice&lt;/a&gt; for the contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_themes&quot;&gt;Themes&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_localization_files_for_themes_default_to_utf_8_encoding&quot;&gt;Localization files for themes default to UTF-8 encoding&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Message properties files for themes are now read in UTF-8 encoding, with an automatic fallback to ISO-8859-1 encoding.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the migration guide for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_storage&quot;&gt;Storage&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_removal_of_the_map_store&quot;&gt;Removal of the Map Store&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Map Store has been an experimental feature in previous releases.
Starting with this release, it is removed and users should continue to use the current JPA store.
See the migration guide for details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23155&quot;&gt;#23155&lt;/a&gt; [WebAuthn] origin validation not support for non-Web platforms &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-web/issues/431&quot;&gt;#431&lt;/a&gt; Remove Wildfly/EAP OIDC and SAML adapter downloads &lt;span class=&quot;badge bg-secondary&quot;&gt;web&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/505&quot;&gt;#505&lt;/a&gt; Quickstarts - Wildfly upgrade and README cleanup &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/510&quot;&gt;#510&lt;/a&gt; SAML quickstart - provisioning of SAML adapter via Galleon &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9318&quot;&gt;#9318&lt;/a&gt; User profile configuration API is incorrectly typed &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10128&quot;&gt;#10128&lt;/a&gt; Improve failed test behaviour &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10620&quot;&gt;#10620&lt;/a&gt; Internationalized Domain Names in email address &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10713&quot;&gt;#10713&lt;/a&gt; Update the server to use RESTEasy Reactive &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10803&quot;&gt;#10803&lt;/a&gt; Persist session in JDBC store without using external infinispan cluster &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11668&quot;&gt;#11668&lt;/a&gt; Declarative User Profile: weird behaviour in Account Management Console &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12406&quot;&gt;#12406&lt;/a&gt; Remove &quot;You are already logged-in&quot; during authentication &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14009&quot;&gt;#14009&lt;/a&gt; CreatedTimestamp on REST import not used &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14165&quot;&gt;#14165&lt;/a&gt; Cannot refresh RPT tokens &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14400&quot;&gt;#14400&lt;/a&gt; Add proxy options to Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15018&quot;&gt;#15018&lt;/a&gt; Enhancements around proxy and hostname configuration &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15072&quot;&gt;#15072&lt;/a&gt; Allow setting a help text to an attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15109&quot;&gt;#15109&lt;/a&gt; Refactor patch-sources.sh used by the Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17258&quot;&gt;#17258&lt;/a&gt; Data too long for column &#39;DETAILS_JSON&#39; &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20343&quot;&gt;#20343&lt;/a&gt;  message bundles are not  included in the realm export &lt;span class=&quot;badge bg-secondary&quot;&gt;import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20584&quot;&gt;#20584&lt;/a&gt; FAPI 2.0 security profile - supporting RFC 9207 OAuth 2.0 Authorization Server Issuer Identification &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20695&quot;&gt;#20695&lt;/a&gt; Add support for single-tenant in Microsoft Identity Provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20794&quot;&gt;#20794&lt;/a&gt; Can we simplify TokenManager.getRefreshExpiration() and TokenManager.getOfflineExpiration()? &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20884&quot;&gt;#20884&lt;/a&gt; [Admin Console v2] Policy creation at Permissions screen missing &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21073&quot;&gt;#21073&lt;/a&gt; Identity providers: pagination in admin REST API &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21154&quot;&gt;#21154&lt;/a&gt; Allow existing mappers for Custom Identity Providers  &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21181&quot;&gt;#21181&lt;/a&gt; Add FAPI 2.0 security profile as default profile of client policies &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21182&quot;&gt;#21182&lt;/a&gt; Enhancing Pluggable Features of Token Manager &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21183&quot;&gt;#21183&lt;/a&gt; More flexibility for Introspection endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21200&quot;&gt;#21200&lt;/a&gt; DPoP support 1st phase &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21444&quot;&gt;#21444&lt;/a&gt; Set `client_id` when using `private_key_jwt` with OIDC IdP &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21945&quot;&gt;#21945&lt;/a&gt; Release notes for FAPI 2 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22034&quot;&gt;#22034&lt;/a&gt; Keycloak, javascript lib to not use the escape() function &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22215&quot;&gt;#22215&lt;/a&gt; DPoP verification in UserInfo endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22318&quot;&gt;#22318&lt;/a&gt; Allow overriding Account Console resources for full control and backwards compatibility &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22372&quot;&gt;#22372&lt;/a&gt; Expand Group providers to allow for paginated lookup of subgroups &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22725&quot;&gt;#22725&lt;/a&gt; Do not initialize barrier build items for deployment &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22868&quot;&gt;#22868&lt;/a&gt; Clarification on the tooltip of option &quot;Validate Password Policy&quot; of LDAP provider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23194&quot;&gt;#23194&lt;/a&gt; Add regex support in &#39;Condition - User attribute&#39; execution &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23340&quot;&gt;#23340&lt;/a&gt; Implement load shedding for RESTEasy reactive &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23527&quot;&gt;#23527&lt;/a&gt; Better usability when disabling user profile and loosing the previous cofiguration &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23891&quot;&gt;#23891&lt;/a&gt; Add feature flag for OAuth 2.0 device authorization grant flow &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24024&quot;&gt;#24024&lt;/a&gt; User profile tweaks in registration forms &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24072&quot;&gt;#24072&lt;/a&gt; Lots of parameters related to identity brokering uses `providerId` when they expect `providerAlias`  &lt;span class=&quot;badge bg-secondary&quot;&gt;identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24273&quot;&gt;#24273&lt;/a&gt; Add a property to the User Profile Email Validator for max length of the local part &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24278&quot;&gt;#24278&lt;/a&gt; Transient users: documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24387&quot;&gt;#24387&lt;/a&gt; Move some UserProfile and Validation classes into keycloak-server-spi &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24494&quot;&gt;#24494&lt;/a&gt; Transient users: Consents &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24535&quot;&gt;#24535&lt;/a&gt; Moving UPConfig and related classes from keycloak-services &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24844&quot;&gt;#24844&lt;/a&gt; Add High Availability Guide to Keycloak&#39;s main repository &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24912&quot;&gt;#24912&lt;/a&gt; Add Galleon layer metadata to the SAML Galleon feature-pack &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/468&quot;&gt;#468&lt;/a&gt; Cant build it  &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/503&quot;&gt;#503&lt;/a&gt; Automate Keycloak version replacement &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/508&quot;&gt;#508&lt;/a&gt; set-version script does not update package(-lock).json files in js and nodejs quickstarts &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/515&quot;&gt;#515&lt;/a&gt; [Keycloak Quickstarts CI failure] loginToAdminConsole method fails in ArquillianSysoutEventListenerProviderTest.testEventListenerOutput due to Unable to locate element: {&quot;method&quot;:&quot;css selector&quot;,&quot;selector&quot;:&quot;#username&quot;} exception &lt;span class=&quot;badge bg-secondary&quot;&gt;quickstarts&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8939&quot;&gt;#8939&lt;/a&gt; PAR fails to authenticate for public client &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9004&quot;&gt;#9004&lt;/a&gt; Access Token claims not imported using OpenID Connect v1.0 Identity Provider Attribute Importer Mappers &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10710&quot;&gt;#10710&lt;/a&gt; Rollup.js complains about the use of eval in one of keycloak.js&#39;s dependencies &lt;span class=&quot;badge bg-secondary&quot;&gt;adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11699&quot;&gt;#11699&lt;/a&gt; Under heavy load, DefaultBruteForceProtector blocks the whole system &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12062&quot;&gt;#12062&lt;/a&gt; Declarative User Profile export &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12171&quot;&gt;#12171&lt;/a&gt; Inconsistent authorization behavior when exporting data from a realm &lt;span class=&quot;badge bg-secondary&quot;&gt;authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14134&quot;&gt;#14134&lt;/a&gt; [keycloak 18] cannot import users with correct ID in partial import &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16379&quot;&gt;#16379&lt;/a&gt; Inconsistent handling of parenthesis in auth flow name &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16526&quot;&gt;#16526&lt;/a&gt; Token introspection response does not follow RFC6479 &quot;scope&quot; parameter format &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19093&quot;&gt;#19093&lt;/a&gt; The create new user page requires the admin user to be given the &quot;Manage-Realm&quot; role in order to see the user profile attributes in the create new user page &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19125&quot;&gt;#19125&lt;/a&gt; kcadm do not update defaultGroups &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19154&quot;&gt;#19154&lt;/a&gt; Non working API docs link &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19555&quot;&gt;#19555&lt;/a&gt; When update-email feature is enabled, changing emails two times in a row causes unintuitive behaviour &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20135&quot;&gt;#20135&lt;/a&gt; Searching for multiple types in the Events section gives an error &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20218&quot;&gt;#20218&lt;/a&gt; Role mappers must return a single value when they are not multivalued &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20316&quot;&gt;#20316&lt;/a&gt; Email pattern is not compliant &lt;span class=&quot;badge bg-secondary&quot;&gt;account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20453&quot;&gt;#20453&lt;/a&gt; Admin UI incredibly slow with 300 realms &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20537&quot;&gt;#20537&lt;/a&gt; [Declarative User Profile] OIDCAttributeMapperHelper throws NumberFormatException for optional user attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20763&quot;&gt;#20763&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.authentication.FlowTest#testAddRemoveFlow &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20830&quot;&gt;#20830&lt;/a&gt; Token-exchange is not working for OpenID Connect v1.0 provider in KC 21.1.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20852&quot;&gt;#20852&lt;/a&gt; [Declarative User Profile] Attributes are created as required by default but switch is set to &quot;not required&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20885&quot;&gt;#20885&lt;/a&gt; Key length is limited to 4000 characters &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21010&quot;&gt;#21010&lt;/a&gt; Cannot display &#39;Authentication Flows&#39; screen when a realm contains more than ~4000 clients &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21123&quot;&gt;#21123&lt;/a&gt; NPE in getDefaultRequiredActionCaseInsensitively &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21236&quot;&gt;#21236&lt;/a&gt; Keycloak Event clientId is null when ever a logout event is fired. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21555&quot;&gt;#21555&lt;/a&gt; Listing realms due to realm drop-down &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21660&quot;&gt;#21660&lt;/a&gt; Wrong convert timestamp to date &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21779&quot;&gt;#21779&lt;/a&gt; Flaky test: org.keycloak.testsuite.script.DeployedScriptAuthenticatorTest#loginShouldWorkWithScriptAuthenticator &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21780&quot;&gt;#21780&lt;/a&gt; Flaky test: org.keycloak.testsuite.script.DeployedScriptAuthenticatorTest#loginShouldFailWithScriptAuthenticator &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21797&quot;&gt;#21797&lt;/a&gt; DN with RDN that contains trailing backslash is imported incorrectly into Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21805&quot;&gt;#21805&lt;/a&gt; Missing labels account console &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21818&quot;&gt;#21818&lt;/a&gt; DN with RDN that contains trailing space is imported incorrectly into Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21830&quot;&gt;#21830&lt;/a&gt; Operator doesn&#39;t pass on system property &#39;jgroups.dns.query&#39; to Keycloak but an env variable, leading to a warning in the log &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22143&quot;&gt;#22143&lt;/a&gt; WatchedSecretsTest.testSecretChangesArePropagated error in OCP &lt;span class=&quot;badge bg-secondary&quot;&gt;ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22177&quot;&gt;#22177&lt;/a&gt; Missing client_id validation match when authenticating client with JWT  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22191&quot;&gt;#22191&lt;/a&gt; Verification of iss at refresh token request &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22332&quot;&gt;#22332&lt;/a&gt; Selecting resource on resource based permission gives error &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22337&quot;&gt;#22337&lt;/a&gt; kc.sh errors if using characters like semicolon inside the arguments &lt;span class=&quot;badge bg-secondary&quot;&gt;docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22375&quot;&gt;#22375&lt;/a&gt; Possible NullPointerException &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22395&quot;&gt;#22395&lt;/a&gt; Email sending fails when SPI truststore is configured and hostnameVerification set to &#39;ANY&#39; &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22432&quot;&gt;#22432&lt;/a&gt; inputOptionLabels is not used by Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22583&quot;&gt;#22583&lt;/a&gt; Fine grained permissions not rendering &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22638&quot;&gt;#22638&lt;/a&gt; SAML AdvancedAttributeToRoleMapper does not allow predicate evaluation on same Array Attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22814&quot;&gt;#22814&lt;/a&gt; user search with &quot;q&quot; parameter ignores keys of length 1 and returns all users &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22818&quot;&gt;#22818&lt;/a&gt; inputOptionLabels is not used by Account UI v3 &lt;span class=&quot;badge bg-secondary&quot;&gt;account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22890&quot;&gt;#22890&lt;/a&gt; Keycloak 22.0.1: NPE in Edit Identity Provider Mapper on second Save &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22937&quot;&gt;#22937&lt;/a&gt; ProviderConfigProperty.MULTIVALUED_LIST_TYPE not working in FormAction &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22988&quot;&gt;#22988&lt;/a&gt; Cache stampede after realm cache invalidation &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23044&quot;&gt;#23044&lt;/a&gt; Docs: server_admin/topics/sessions/transient.adoc &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23128&quot;&gt;#23128&lt;/a&gt; Regex defect in federation script federation-sssd-setup.sh &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23173&quot;&gt;#23173&lt;/a&gt; crypto/elytron package has several bugs &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23180&quot;&gt;#23180&lt;/a&gt; TypeError in user profile admin-ui &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23253&quot;&gt;#23253&lt;/a&gt; CLI args not recognized when running Quarkus dev mode &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23255&quot;&gt;#23255&lt;/a&gt; Several help text messages missing in saml identity provider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23404&quot;&gt;#23404&lt;/a&gt; Cannot assign client roles to a user when a realm contains more than ~4000 clients &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23444&quot;&gt;#23444&lt;/a&gt; After the recent switch to resteasy-reactive we are unable to use resteasy-classic or jersey jax-rs clients. &lt;span class=&quot;badge bg-secondary&quot;&gt;dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23582&quot;&gt;#23582&lt;/a&gt; Join group screen does not show child groups without filters &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23616&quot;&gt;#23616&lt;/a&gt; invalid tag in .ftl file &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23692&quot;&gt;#23692&lt;/a&gt; Genetated access token exception then $ sign in client name &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23733&quot;&gt;#23733&lt;/a&gt; OpenAPI spec doesn&#39;t match the admin API &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23753&quot;&gt;#23753&lt;/a&gt; Insufficient guard against path traversal GzipResourceEncodingProvider &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23789&quot;&gt;#23789&lt;/a&gt; Can not create attribute group before setting/removing an annotation &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23795&quot;&gt;#23795&lt;/a&gt; Spelling errors in TokenManager.java &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23970&quot;&gt;#23970&lt;/a&gt; Keycloak does not export/import userprofile data when exporting the realm &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24032&quot;&gt;#24032&lt;/a&gt; Group attributes are not saved if there are two attributes with the same key &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24035&quot;&gt;#24035&lt;/a&gt; Admin UI: Group details page is not updated by group list dropdown actions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24067&quot;&gt;#24067&lt;/a&gt; Duplicate attribute groups show in list in UserProfile in admin ui &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24077&quot;&gt;#24077&lt;/a&gt; Internal server error when no firstName and lastName added on the user with User Profile Disabled and Verify Profile Enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24096&quot;&gt;#24096&lt;/a&gt; Document or avoid breaking change in UserSessionModel &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24160&quot;&gt;#24160&lt;/a&gt; HTTP/2 - Last parameter of POST form data contains 0x00 byte in some configurations. &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24183&quot;&gt;#24183&lt;/a&gt; Username now shown when creating a user and edit username is not allowed &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24187&quot;&gt;#24187&lt;/a&gt; Admin UI group view shows attributes of previously viewed group &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24293&quot;&gt;#24293&lt;/a&gt; b.map is not a function error when LDAP server is offline &lt;span class=&quot;badge bg-secondary&quot;&gt;core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24420&quot;&gt;#24420&lt;/a&gt; User profile behaves different in keycloak 22.0.5 &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24453&quot;&gt;#24453&lt;/a&gt; Email-verified checkbox not visible anymore when user profile is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24455&quot;&gt;#24455&lt;/a&gt; NPE when logging in with TransientUser &lt;span class=&quot;badge bg-secondary&quot;&gt;storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24458&quot;&gt;#24458&lt;/a&gt; Unfriendly error message when user-storage provider not available &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24487&quot;&gt;#24487&lt;/a&gt; show/hide password in clear text button visible for hiden field in &quot;forgot password&quot; flow &lt;span class=&quot;badge bg-secondary&quot;&gt;login/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24547&quot;&gt;#24547&lt;/a&gt; DPoP advertised on OIDC Well Known Endpoint even though DPoP feature is not enabled (preview feature) &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24551&quot;&gt;#24551&lt;/a&gt; the `./kc.sh tools completion` command cannot be recognized correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24672&quot;&gt;#24672&lt;/a&gt; Basic auth is not RFC 2617 compliant &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24697&quot;&gt;#24697&lt;/a&gt; User cannot update profile when some invalid attribute invisible to him is present on his profile &lt;span class=&quot;badge bg-secondary&quot;&gt;user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24766&quot;&gt;#24766&lt;/a&gt; non-functioning session persistence when using JDBC over Infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24792&quot;&gt;#24792&lt;/a&gt; Invalid redirect_uri if it contains uppercase letters &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24970&quot;&gt;#24970&lt;/a&gt; `jwt-decode` is being bundled into Keycloak JS &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/11/keycloak-2300-released</guid>
        <pubDate>Thu, 23 Nov 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Developer Certificate of Origin</title>
        <link>https://www.keycloak.org/2023/10/dco</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For any Open Source project, it is important that any contributions contain code that can legally be contributed to the
project, and that the project has the right to distribute it under its license. There are many ways to achieve this,
where two popular approaches are Developer Certificate of Origin (DCO) and Contributor License Agreement (CLA).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://developercertificate.org/&quot;&gt;Developer Certificate of Origin (DCO)&lt;/a&gt; is the most lightweight approach, which
requires contributors to sign-off on individual commits that are part of a contribution. This is easily done by using
the &lt;code&gt;--signoff&lt;/code&gt; (&lt;code&gt;-s&lt;/code&gt;) option when creating a commit. For example:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;git commit -s -m &quot;Description of the commit&quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This adds a &lt;code&gt;Signed-off-by&lt;/code&gt; statement at the end of the commit, where the contributor certifies they are following the
agreement laid out in the &lt;a href=&quot;https://developercertificate.org/&quot;&gt;Developer Certificate of Origin (DCO)&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Contributor License Agreement (CLA), on the other hand, is a more complicated approach. As part of CLA, any contributors
are required to sign an upfront agreement with the project before making any contributions. This provides a higher
barrier for contributors, and also a higher cost for the Open Source Project as it has to maintain a list of approved
contributors with a corresponding maintained archive of agreements.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For Keycloak we decided to go with DCO as we believe it is much simpler both for contributors as well as maintainers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are interested in learning more about CLA vs DCO,
&lt;a href=&quot;https://opensource.com/article/18/3/cla-vs-dco-whats-difference&quot;&gt;opensource.com has an excellent article on the subject&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/10/dco</guid>
        <pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 22.0.5 released</title>
        <link>https://www.keycloak.org/2023/10/keycloak-2205-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14820&quot;&gt;#14820&lt;/a&gt; Calling getTopLevelGroups is slow inside GroupLDAPStorageMapper#getLDAPGroupMappingsConverted &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19348&quot;&gt;#19348&lt;/a&gt; Sort subgroups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22109&quot;&gt;#22109&lt;/a&gt; Add non-blocking liveness and readiness checks to Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22200&quot;&gt;#22200&lt;/a&gt; External Link check for documentation logs warning and exception: WARN FilenoUtil: Native subprocess control requires open access &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23581&quot;&gt;#23581&lt;/a&gt; Code certain topics as upstream only &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23711&quot;&gt;#23711&lt;/a&gt; Remove recommendation to file a GitHub issue &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23800&quot;&gt;#23800&lt;/a&gt; Add a disclaimer about refererences to Kubernetes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23856&quot;&gt;#23856&lt;/a&gt; Allow documentation to be build referencing only Linux, not Windows &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23910&quot;&gt;#23910&lt;/a&gt; Removing the default cache metadata &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23946&quot;&gt;#23946&lt;/a&gt; Limit Keycloak 22 Windows support to the Admin CLI to upstream &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23951&quot;&gt;#23951&lt;/a&gt; Update Keycloak 22 Getting Started &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22170&quot;&gt;#22170&lt;/a&gt; Operator secrets sequencing &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22600&quot;&gt;#22600&lt;/a&gt; Keycloak admin v2 theme js mapper adding issue &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22960&quot;&gt;#22960&lt;/a&gt; Do not store empty attributes when updating user profile &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22982&quot;&gt;#22982&lt;/a&gt; User attributes can&#39;t be saved when user profile is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23220&quot;&gt;#23220&lt;/a&gt; Update to Keycloak 22.0.3 fails: Migration failed for change set META-INF/jpa-changelog-13.0.0.xml::default-roles::keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23294&quot;&gt;#23294&lt;/a&gt; admin-fine-grained-authz + client authorization settings requires more realm-management roles &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23345&quot;&gt;#23345&lt;/a&gt; Broken link https://stackapps.com/apps/oauth/register  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23397&quot;&gt;#23397&lt;/a&gt; The &quot;invalid_grant&quot; error occurs again when loading the offline client session with an early creation time. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23434&quot;&gt;#23434&lt;/a&gt; Can not view or update user profile attribute in user details &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23507&quot;&gt;#23507&lt;/a&gt; User cannot be created via Admin UI if custom user attribute is required &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23584&quot;&gt;#23584&lt;/a&gt; Return attribute group metadata from Admin and Account APIs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23654&quot;&gt;#23654&lt;/a&gt; Attributes tab fields are not changing when a different group is selected  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23713&quot;&gt;#23713&lt;/a&gt; Weak hashing algorithm usage in SSSD User federation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23740&quot;&gt;#23740&lt;/a&gt; Admin Console doesn&#39;t show user when user attribute has annotation inputType &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23743&quot;&gt;#23743&lt;/a&gt; Keycloak  22.0.4 crashes on file step1.html on old safari versions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23774&quot;&gt;#23774&lt;/a&gt; User can&#39;t be updated in admin console when user profile is used &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23783&quot;&gt;#23783&lt;/a&gt; &#39;Show version information&#39; is not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23790&quot;&gt;#23790&lt;/a&gt; The `Enabled When` setting should be set to `Always` by default &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23911&quot;&gt;#23911&lt;/a&gt; User profile attribute default render should be ordinary input &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23930&quot;&gt;#23930&lt;/a&gt; Admin console does not allow several special characters for realm name anymore &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23954&quot;&gt;#23954&lt;/a&gt; FederatedUserLink errors when user does not have view-realm role &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24017&quot;&gt;#24017&lt;/a&gt; Operator operand env var does not conform to OSBS naming requirements &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24031&quot;&gt;#24031&lt;/a&gt; Missing migration step for Keycloak 22 during import &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24081&quot;&gt;#24081&lt;/a&gt; Scopes still persisted when required attribute is set to `Always` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/24143&quot;&gt;#24143&lt;/a&gt; Operator docs link is broken &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/10/keycloak-2205-released</guid>
        <pubDate>Tue, 24 Oct 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Announcement: Discontinuation of Keycloak's Map Store</title>
        <link>https://www.keycloak.org/2023/10/map-store-removal</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Dear Keycloak community,&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the past two years, the Keycloak store team has been working on a &lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/main/design/keycloak.x/storage.md&quot;&gt;replacement for the storage layer&lt;/a&gt;, which became known as the Map Store. Despite the successful development of many features, such as a new JPA storage layer with some no downtime capabilities, a new Hot Rod storage layer, flexible configuration, among others, the amount of work remaining for the store to be fully operational and supported is still quite significant. There is still a lot of uncertainty and risk involved in getting to the point where the store is production ready and able to provide enough value for users to migrate to it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To give more context, the new Map Store still lacks support for databases other than PostgreSQL and CockroachDB, a caching layer, implementation of the tree store that ties all the stores together, a migration strategy to Map Store, thorough testing, among other things. Each of these items is complex, require a significant amount of development and testing time, and carry risks of their own.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This situation, combined with the need to address existing issues and demands in the storage area now rather than in a somewhat distant future, led us to the tough decision to stop any development in the Map Store. Instead the team will focus on improving the capabilities of the current store and deliver these improvements in smaller chunks and quicker iterations. One of these improvements is to fully support a high availability setup for Keycloak spanning multiple data centers and regions, also known as cross-DC support. While this has been a preview feature in the past, this should now become fully supported in a future release and include guides on how to configure different parts in a cloud environment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The experience we gained from the Map Store development won’t be wasted though, as the ideas and experiments that worked well in the Map Store are all natural candidates for enhancements in the storage area. Still the Map Store will be entirely removed from the main codebase. Having two different storage implementations is greatly complicating the maintenance process and also making it more difficult for users and other teams to work with the store as they need to understand how to operate on two very different implementations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_next&quot;&gt;What&amp;#8217;s next?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the time being, the Map Store will be available in a separate branch, yet to be created. It will exist mainly to provide us with a way to fetch bits and pieces that can be valuable to the current store. Then, you can expect the gradual removal of the Map Storage bits from the codebase starting with Keycloak 23. This encompasses, among other things, closing the Map Storage issues on Github, removal of Map Store CLI options, and removal of the Map Store modules.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the near to mid-term future, the store team will continue to focus on cross-DC and some selected smaller improvements/refactorings for the current store. We will prioritize working on highly voted issues and pull requests provided by the community. In parallel, the plan is to develop a roadmap for features and capabilities that we want to bring to the Keycloak store after wrapping up the cross-DC work, and then share this roadmap so it can be discussed and prioritized according to the community&amp;#8217;s feedback.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would also like to thank the Keycloak community for the engagement and feedback during the development of the Map Store. We know that discarding a significant amount of work is not ideal, but we are confident that this decision is the most beneficial for Keycloak and its users in the long run as it will allow us to deliver meaningful value quicker. The team remains focused on improving the store layer and is looking forward to meeting all the challenges ahead.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak Store Team&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/10/map-store-removal</guid>
        <pubDate>Tue, 17 Oct 2023 00:00:00 GMT</pubDate>
        
        <author>Stefan Guilhen</author>
      </item>
      <item>
        <title>Reactivating Discourse</title>
        <link>https://www.keycloak.org/2023/10/reactivating-discourse</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Back in June, we decided to sunset Discourse as one of our communication
channels, as outlined in our
&lt;a href=&quot;https://www.keycloak.org/2023/06/sunsetting-discourse.html&quot;&gt;previous announcement&lt;/a&gt;.
However, after careful consideration and understanding the impact this decision
had on our community, we have chosen to revert it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Firstly, we want to acknowledge that our first goal has always been to seek the
best for our community. While we strive to make the right decisions, we recognize
that we are not perfect. We apologize for any inconvenience our initial decision
may have caused, and appreciate the feedback received from many of you.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are happy to announce that
&lt;a href=&quot;https://keycloak.discourse.group/u/dasniko&quot;&gt;Niko&lt;/a&gt; and
&lt;a href=&quot;https://keycloak.discourse.group/u/xgp&quot;&gt;Garth&lt;/a&gt; have kindly volunteered to moderate
Discourse. Their commitment makes it possible for us to reactivate the forum.
Without their support, especially given the multiple communication channels we
manage, this would not have been possible.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the future, we will ensure to be transparent about decisions that impact our
users on Discourse. Thank you for your understanding, patience, and continued
support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Team&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/10/reactivating-discourse</guid>
        <pubDate>Mon, 16 Oct 2023 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>Meet Keycloak at KubeCon Chicago in Nov 2023</title>
        <link>https://www.keycloak.org/2023/10/keycloak-kubeconf-chicago</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are thrilled to announce that Keycloak will be at KubeCon Chicago 2023. There are several Keycloak specific sessions lined up during this Conference, and we will be hosting a Kiosk at the Project Pavilion at KubeCon 2023 Chicago.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_kubecon&quot;&gt;What is KubeCon?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As some of you might already know, KubeCon is a fast-growing Cloud Native tech conference that is expected to have 8,000 developers, architects, and technical leaders onsite as well as thousands of participants virtually.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KubeCon Chicago will be held from Nov. 6th, 2023 through Nov. 9th, 2023, with many of the co-located events happening on Monday Nov 6th, 2023.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;Keycloak community Meet &amp;amp; Greet at the Project Pavilion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ahus1&quot;&gt;Alexander Schwartz&lt;/a&gt;, &lt;a href=&quot;https://github.com/mhajas&quot;&gt;Michal Hajas&lt;/a&gt;, &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/kami619&quot;&gt;Kamesh Akella&lt;/a&gt; will be at the Keycloak kiosk at the Project Pavilion. This is a great chance to meet people who use Keycloak, contribute to Keycloak, take our survey about new Keycloak features, and get some cool swag!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak Kiosk opening hours:&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Tuesday, November 7: 10:30 - 3:30 PM CST&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, November 8: 10:30 - 2:00 PM CST&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thursday, November 9: 10:30 - 12:30 PM CST&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_openshift_commons_gathering&quot;&gt;OpenShift Commons Gathering&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The OpenShift Commons Gathering happens on Monday (Nov. 6th, 2023) and builds connections and collaboration across OpenShift communities, projects and stakeholders. Some maintainers from the Keycloak development team will be here during the afternoon. This gives a chance for more community Keycloak maintainers, contributors, and users to meet and share their ideas or just hang out. Access to the OpenShift Commons event is free and does not require a paid KubeCon ticket, &lt;a href=&quot;https://commons.openshift.org/gatherings/kubecon-23-nov-6/&quot;&gt;still you’ll need to register on their website in advance&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_specific_events_at_kubecon&quot;&gt;Keycloak specific events at KubeCon&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Below are some Keycloak specific events that the attendees both in-person and virtually can plan to attend.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Tuesday, November 7, 11:00am - 11:35am CST(UTC-6)&lt;br&gt;
&lt;a href=&quot;https://kccncna2023.sched.com/event/1R2mH/10-years-of-keycloak-whats-next-for-cloud-native-authentication-and-oidc-alexander-schwartz-red-hat-takashi-norimatsu-hitachi-ltd?iframe=no&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;10 Years of Keycloak - What&amp;#8217;s Next for Cloud-Native Authentication and OIDC?&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Alexander Schwartz, Red Hat &amp;amp; Takashi Norimatsu, Hitachi, Ltd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tuesday, November 7, 11:55am - 12:30pm CST(UTC-6)&lt;br&gt;
&lt;a href=&quot;https://kccncna2023.sched.com/event/1R2ma/challenge-to-implementing-scalable-authorization-with-keycloak-yoshiyuki-tabata-hitachi-ltd?iframe=no&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;Challenge to Implementing &amp;#8220;Scalable&amp;#8221; Authorization with Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Yoshiyuki Tabata, Hitachi, Ltd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tuesday, November 7, 2:30pm - 4:00pm CST(UTC-6)&lt;br&gt;
&lt;a href=&quot;https://kccncna2023.sched.com/event/1R2nt/contribfest-keycloak-accelerate-new-features-squash-bugs-and-learn-to-contribute-alexander-schwartz-michal-hajas-red-hat?iframe=no&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;Contribfest: Keycloak - Accelerate New Features, Squash Bugs and Learn to Contribute&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Alexander Schwartz &amp;amp; Michal Hajas, Red Hat&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, November 8, 11:55am - 12:30pm CST(UTC-6)&lt;br&gt;
&lt;a href=&quot;https://kccncna2023.sched.com/event/1R2qR/beyond-passwords-keycloaks-contributions-to-iamidentity-and-access-management-security-soojin-lee-hoon-jo-megazone?iframe=no&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;Beyond Passwords: Keycloak&amp;#8217;s Contributions to IAM (Identity and Access Management) + Security&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Soojin Lee &amp;amp; Hoon Jo, Megazone&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re preparing for KubeCon Chicago 2023 and can&amp;#8217;t wait to connect with our community. Mark your calendars and join us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in Chicago!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/10/keycloak-kubeconf-chicago</guid>
        <pubDate>Tue, 10 Oct 2023 00:00:00 GMT</pubDate>
        
        <author>Kamesh Akella</author>
      </item>
      <item>
        <title>Keycloak 22.0.4 released</title>
        <link>https://www.keycloak.org/2023/10/keycloak-2204-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17733&quot;&gt;#17733&lt;/a&gt; Improve feature (detection) code in the Admin Console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23066&quot;&gt;#23066&lt;/a&gt; Remove bearer-only content from the Server Administration Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23124&quot;&gt;#23124&lt;/a&gt; Move email validation change docs to migration guide of 22.0.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23177&quot;&gt;#23177&lt;/a&gt; Move email validation change docs to migration guide of 22.0.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23246&quot;&gt;#23246&lt;/a&gt; Improve documentation about manual database migration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23312&quot;&gt;#23312&lt;/a&gt; Deploy JavaScript adapter to Maven repository &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11931&quot;&gt;#11931&lt;/a&gt; user first name not refreshed in Keycloak V2 theme  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21935&quot;&gt;#21935&lt;/a&gt; Using truststore with LDAP and StartTLS is not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22185&quot;&gt;#22185&lt;/a&gt; Can&#39;t boot Keycloak server with Java KeyStore p12 file running on Windows 10/2019  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22478&quot;&gt;#22478&lt;/a&gt; Custom User Provider SPI: MULTIVALUED_STRING_TYPE value isn&#39;t correctly displayed on ui (but correctly saved and retrieved) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22778&quot;&gt;#22778&lt;/a&gt; Deep link format for redirect uri parameter is not parsed correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22825&quot;&gt;#22825&lt;/a&gt; Keycloak 22.0.1 unable to create user with long email address &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22839&quot;&gt;#22839&lt;/a&gt; Linux Firefox + Keycloak 22.0.1 issue(continuation of issue 21307) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22892&quot;&gt;#22892&lt;/a&gt; Not-working link during adding a SAML Identity provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22923&quot;&gt;#22923&lt;/a&gt; Events filter by IP Address not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22974&quot;&gt;#22974&lt;/a&gt; NullpointerException when using encrypted SAML assertions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23053&quot;&gt;#23053&lt;/a&gt; KC22: Issue with FIPS140 in non approved mode. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23065&quot;&gt;#23065&lt;/a&gt; Admin console throwing 403 error when logged in for sub realm using local admin user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23185&quot;&gt;#23185&lt;/a&gt; Registration page not showing username when edit username is not enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23251&quot;&gt;#23251&lt;/a&gt; SAML Encryption Key Export Downloads Signing Key &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23258&quot;&gt;#23258&lt;/a&gt; Race condition inside Keycloak build chain execution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23306&quot;&gt;#23306&lt;/a&gt; NPE in AuthenticationManager backchannelLogout &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23325&quot;&gt;#23325&lt;/a&gt; PolicyEnforcer should set WWW-Authenticate header before calling sendError() method &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23327&quot;&gt;#23327&lt;/a&gt; User cannot be created via Admin UI if custom user attribute is required &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23341&quot;&gt;#23341&lt;/a&gt; Keycloak 22.0.3: Create user: select groups to join filter does nothing &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23342&quot;&gt;#23342&lt;/a&gt; Test failures with Wildfly/EAP adapters using TLS &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23366&quot;&gt;#23366&lt;/a&gt; Reopening of  CVE-2023-21971 - Update Connector/J to 8.0.33 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23402&quot;&gt;#23402&lt;/a&gt; Outdated kcadm.sh help examples can be misleading to our users &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23438&quot;&gt;#23438&lt;/a&gt; Cannot update email address when &quot;Email as username&quot; is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23447&quot;&gt;#23447&lt;/a&gt; Allow &#39;prompt&#39; Value &#39;consent&#39; in Keycloak JavaScript Adapter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23481&quot;&gt;#23481&lt;/a&gt; Text field for last name field in user form has an incorrect ID &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23637&quot;&gt;#23637&lt;/a&gt; Some container implementations don&#39;t work with the documented additional RPM install procedure &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23661&quot;&gt;#23661&lt;/a&gt; Upload JVM Heapdumps action fail on Windows &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23773&quot;&gt;#23773&lt;/a&gt; 22.0.4 Operator installed via OLM deploys Keycloak nightly version &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/10/keycloak-2204-released</guid>
        <pubDate>Wed, 4 Oct 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 22.0.3 released</title>
        <link>https://www.keycloak.org/2023/09/keycloak-2203-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Release notes&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_security_vulnerability_when_registering_or_updating_user_through_templates&quot;&gt;Security vulnerability when registering or updating user through templates&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A security vulnerability was introduced in Keycloak 22.0.2. We highly recommend not upgrading to 22.0.2, and for anyone that has deployed 22.0.2 in production to upgrade to 22.0.3 immediately.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For users that has self-registered after Keycloak was upgraded to 22.0.2 their password is not stored securely, and can be exposed to administrators of Keycloak. This only affects users that has registered after the upgrade was rolled-out, and does not affect any previously registered users.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Any realm using the preview declarative user profile is not affected by this issue, and only realms using the default user profile provider is affected.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To identify if there are any affected users in your deployment you can query these by accessing the database, and running the following SQL statement:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;SELECT DISTINCT U.ID, U.USERNAME, U.EMAIL, U.REALM_ID FROM USER_ENTITY U
    INNER JOIN USER_ATTRIBUTE UA ON U.ID = UA.USER_ID
    WHERE UA.NAME IN (&#39;password&#39;,&#39;password-confirm&#39;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We recommend contacting any affected users as well as adding the update password required action for them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If there are any affected users we also recommend removing these attributes from the database by running the following SQL statement:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;DELETE FROM USER_ATTRIBUTE UA WHERE UA.NAME IN (&#39;password&#39;,&#39;password-confirm&#39;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If any backups have been done of the database after the 22.0.2 release and there are affected users, we recommend deleting these.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_custom_user_storage_providers&quot;&gt;Custom user storage providers&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Any deployments with custom user storage federation providers may also be affected, please verify your custom user storage to identify if this is an issue.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To identify if there are any federated user affected in your deployment in case the user storage provider is delegating management of attributes to Keycloak, you can query these by accessing the database, and running the following SQL statement:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;SELECT DISTINCT USER_ID,REALM_ID,STORAGE_PROVIDER_ID FROM FED_USER_ATTRIBUTE
    WHERE NAME IN (&#39;password&#39;,&#39;password-confirm&#39;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If there are any affected federated users, we also recommend removing these attributes from the database by running the following SQL statement:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;DELETE FROM FED_USER_ATTRIBUTE UA WHERE UA.NAME IN (&#39;password&#39;,&#39;password-confirm&#39;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If your custom user storage provider is managing attributes itself, you should look at your custom storage to remove the &lt;code&gt;password&lt;/code&gt; and &lt;code&gt;password-confirm&lt;/code&gt; attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

</description>
        <guid>https://www.keycloak.org/2023/09/keycloak-2203-released</guid>
        <pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>2nd edition of the Keycloak book is out</title>
        <link>https://www.keycloak.org/2023/09/book-2nd-edition</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re pleased to announce that the 2nd edition of the Keycloak book is out, and available for
&lt;a href=&quot;https://a.co/d/58BbJ96&quot;&gt;available for purchase on Amazon&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This new edition has been updated to the latest release of Keycloak, making the book compatible with the newer Quarkus
distribution of Keycloak, as well as the new administration console.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are new to Keycloak this book brings an excellent guide to getting started with Keycloak, including how to secure
a range of different application types with Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/book-2nd-edition.png&quot; alt=&quot;Keycloak - Identity and Access Management for Modern Applications: Harness the power of Keycloak, OpenID Connect, and OAuth 2.0 to secure applications 2nd Edition&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/09/book-2nd-edition</guid>
        <pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 22.0.2 released</title>
        <link>https://www.keycloak.org/2023/09/keycloak-2202-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Release notes&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_improvements_in_ldap_and_kerberos_integration&quot;&gt;Improvements in LDAP and Kerberos integration&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports multiple LDAP providers in a realm, which support Kerberos integration with the same Kerberos realm. When an LDAP provider is not able to find the user which was authenticated through
Kerberos/SPNEGO, Keycloak ties to fallback to the next LDAP provider. Keycloak has also better support for the case when single LDAP provider supports multiple Kerberos realms, which are in trust with each other.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9422&quot;&gt;#9422&lt;/a&gt; Support kerberos realm filter on LDAP provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10232&quot;&gt;#10232&lt;/a&gt; Kill sessions after a password reset or MFA modification &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14665&quot;&gt;#14665&lt;/a&gt; map a kerberos provider to one or more ldap provider stores &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20931&quot;&gt;#20931&lt;/a&gt; Improvements on Documentation/Guides for &quot;Hostname/Proxy/Admin Console&quot; Settings &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21564&quot;&gt;#21564&lt;/a&gt; Upgrade to Infinispan 14.0.13.Final  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22452&quot;&gt;#22452&lt;/a&gt; Ask admins to install the Oracle Database driver separately &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22500&quot;&gt;#22500&lt;/a&gt; Correct Getting Started guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22745&quot;&gt;#22745&lt;/a&gt; Upgrade to Quarkus 3.2.5.Final &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22762&quot;&gt;#22762&lt;/a&gt; Provide support for determining community/product guides &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22793&quot;&gt;#22793&lt;/a&gt; Remove log-level property for `ClassTransformingBuildStep` in Quarkus &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22795&quot;&gt;#22795&lt;/a&gt; Error message when JDBC driver is missing is not helpful &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22800&quot;&gt;#22800&lt;/a&gt; Blank Java adapter section in Securing Apps Guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22871&quot;&gt;#22871&lt;/a&gt; Operator guide screen shot should show fast channel &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23067&quot;&gt;#23067&lt;/a&gt; Add &quot;LinkedIn (deprecated)&quot; provider to the DEPRECATED profile &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10981&quot;&gt;#10981&lt;/a&gt; Keycloak &quot;forgets&quot; ui_locales parameter when using Reset Password functionality &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12137&quot;&gt;#12137&lt;/a&gt; IdP Mappers ignored when performing external -&gt; internal token exchange &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19954&quot;&gt;#19954&lt;/a&gt; Admin UI hangs with many subgroups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20005&quot;&gt;#20005&lt;/a&gt; JavaScript Authenticator Providers not updated automatically on build and SQL error when removing/adding in flow &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20045&quot;&gt;#20045&lt;/a&gt; Use an original domain name of Kerberos Principal in UserModel attribute instead of configured value of Kerberos realm in User federation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20455&quot;&gt;#20455&lt;/a&gt; MigrationTest » IllegalArgument argument type mismatch [JDK Temurin 17] &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20718&quot;&gt;#20718&lt;/a&gt; NullPointerException in GroupTreeResolver with LDAP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20837&quot;&gt;#20837&lt;/a&gt; [Declarative User Profile] Attributes tab doesn&#39;t dipslay attributes, values get lost and multi values get stored as single ones &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20983&quot;&gt;#20983&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.SessionTimeoutsTest#testOnlineUserClientMaxLifespanSmallerThanSessionOverrideInClient &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21092&quot;&gt;#21092&lt;/a&gt; Keycloak fails to start due to infinispan state transfer exception &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21173&quot;&gt;#21173&lt;/a&gt; User administration: It is not possible to assign a user to a subgroup of an assigned parent group in order to obtain more rights &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21256&quot;&gt;#21256&lt;/a&gt; State transfer never completes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21421&quot;&gt;#21421&lt;/a&gt; After switching the Admin UI theme to &quot;Base,&quot; an error occurred when attempting to access the keycloak login &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21514&quot;&gt;#21514&lt;/a&gt; Can create a user without the registration flow finished properly (reopened #17644) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21528&quot;&gt;#21528&lt;/a&gt; Declarative User Profile validators are not saved &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21595&quot;&gt;#21595&lt;/a&gt; LGPL license header in files incompatible with Apache v2.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21693&quot;&gt;#21693&lt;/a&gt; New Admin UI: Group Attribute UI does not refresh, shows stale values &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21719&quot;&gt;#21719&lt;/a&gt; New Admin UI: User attributes UI does not refresh, shows stale values &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21739&quot;&gt;#21739&lt;/a&gt; CRD incompatible with Flux reconcilation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21745&quot;&gt;#21745&lt;/a&gt; Re-instate authenticator alias in authentication flow GUI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21751&quot;&gt;#21751&lt;/a&gt; v 22.0.0 rest-api, cleans user email when updating attributes (with user-profile enabled) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21778&quot;&gt;#21778&lt;/a&gt; Flaky test: org.keycloak.testsuite.script.DeployedScriptAuthenticatorTest#testScriptAuthenticatorNotAvailable &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21791&quot;&gt;#21791&lt;/a&gt; User unable to save user profile attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21801&quot;&gt;#21801&lt;/a&gt; Warnings about quarkus.http.ssl.certificate.file and quarkus.http.ssl.certificate.key-file on startup &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21814&quot;&gt;#21814&lt;/a&gt; Keycloak operator lacks RBAC for Pods &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21851&quot;&gt;#21851&lt;/a&gt; v22.0.1 - Windows: kcadm.bat gives Java Exception &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21927&quot;&gt;#21927&lt;/a&gt; Client Session Max set never expires is not working anymore since 22.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21960&quot;&gt;#21960&lt;/a&gt; Configuration of flow execution is wiped after using admin UI drag and drop &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22002&quot;&gt;#22002&lt;/a&gt; Admin UI v2 : client credentials tab is hidden with view-client fine grained permission &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22032&quot;&gt;#22032&lt;/a&gt; Example postgres deployment used in Operator test is sometimes hitting rate limits &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22039&quot;&gt;#22039&lt;/a&gt; Link to freeipa broken in documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22079&quot;&gt;#22079&lt;/a&gt; In assign role dialog, the filter dropdown is missing when having only manage-user role &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22140&quot;&gt;#22140&lt;/a&gt; KeycloakIngressTest failing in OCP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22142&quot;&gt;#22142&lt;/a&gt; PodTemplateTest.testPodTemplateIncorrectNamespace error in OCP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22172&quot;&gt;#22172&lt;/a&gt; Keycloak SAML Adapter subsystem does not support Wildfly 29  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22175&quot;&gt;#22175&lt;/a&gt; Missing &quot;:providerId&quot; param - Error when viewing users from federated provider with limited admin roles &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22186&quot;&gt;#22186&lt;/a&gt; ExternalLinksTest fails for https://nodejs.org (invalid redirect to /en/) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22198&quot;&gt;#22198&lt;/a&gt; User session expire task shouldn&#39;t run concurrently in a cluster &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22243&quot;&gt;#22243&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.OfflineTokenTest#offlineTokenBrowserFlowIdleTimeExpired &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22352&quot;&gt;#22352&lt;/a&gt; Only first kerberos provider is checked &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22383&quot;&gt;#22383&lt;/a&gt; LinkedIn as Identity provider not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22570&quot;&gt;#22570&lt;/a&gt; Unable to remove user attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22581&quot;&gt;#22581&lt;/a&gt; idp jwt userinfo broken &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22593&quot;&gt;#22593&lt;/a&gt; Update the Keycloak SAML adapter subsystem to no longer use the AttributeDefinition#getAttributeMarshaller method &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22602&quot;&gt;#22602&lt;/a&gt; UserSyncTest does not clean LDAP properly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22707&quot;&gt;#22707&lt;/a&gt; `start-dev` by default starts with cache `local`, but docs state otherwise &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22709&quot;&gt;#22709&lt;/a&gt; Incorrect event types in the events overview (eventTypes.Refresh token error.name &amp; eventTypes.User info refresh error.name) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22760&quot;&gt;#22760&lt;/a&gt; Translations missing for theme select placeholder text  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22823&quot;&gt;#22823&lt;/a&gt; Support EAP8 with SAML Adapter Galleon Feature Pack  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/jee-saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22888&quot;&gt;#22888&lt;/a&gt; Surefire reports not triggered when a test suite fails. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22900&quot;&gt;#22900&lt;/a&gt; User data is incorrectly erased in Keycloak Admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22924&quot;&gt;#22924&lt;/a&gt; Incorrect help Text for the field &#39;Temporary&#39; while setting password for new user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22947&quot;&gt;#22947&lt;/a&gt; Status check succeeds if &quot;conditional&quot; step fails &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22961&quot;&gt;#22961&lt;/a&gt; Attributes without a value set are not rendered in the account console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23001&quot;&gt;#23001&lt;/a&gt; Conditional store tests do not run if tests are updated &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23027&quot;&gt;#23027&lt;/a&gt; Broker user attribute mapper not obtaing user info claims when creating users through token exchange &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23058&quot;&gt;#23058&lt;/a&gt; Quarkus IT that use Oracle DB don&#39;t work with `-Dproduct` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23118&quot;&gt;#23118&lt;/a&gt; Failure in identity_providers_test.spec.ts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/09/keycloak-2202-released</guid>
        <pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Senior Software Engineer Opening on Keycloak's Core Team!</title>
        <link>https://www.keycloak.org/2023/08/keycloak-core-hiring</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Red Hat is looking for a Senior Software Engineer who is eager to contribute to the evolving landscape of Identity and Access Management through Keycloak. In addition to improving existing functionalities, you will have the opportunity to innovate and work on new features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have a solid Java experience, a strong interest in security, thrive in a collaborative environment, and are keen to make a meaningful impact on the IAM landscape, &lt;a href=&quot;https://global-redhat.icims.com/jobs/100108/senior-software-engineer---identity-%26-access-management/job?mode=view&amp;amp;mobile=false&amp;amp;width=708&amp;amp;height=500&amp;amp;bga=true&amp;amp;needsRedirect=false&amp;amp;jan1offset=60&amp;amp;jun1offset=120&quot;&gt;we invite you to apply and become part of our team&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/08/keycloak-core-hiring</guid>
        <pubDate>Tue, 29 Aug 2023 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>Keycloak 22.0.1 released</title>
        <link>https://www.keycloak.org/2023/07/keycloak-2201-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10503&quot;&gt;#10503&lt;/a&gt; Revisit Pod-Template in Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15344&quot;&gt;#15344&lt;/a&gt; Support configurable custom Identity Providers &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21626&quot;&gt;#21626&lt;/a&gt; [REG 21-&gt;22] Error messages on kc build &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17711&quot;&gt;#17711&lt;/a&gt; Accessibility/Clients List: Minor Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21607&quot;&gt;#21607&lt;/a&gt; `keycloakCRName` and `realm` are no longer marked as required in KeycloakRealmImport CRD &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21625&quot;&gt;#21625&lt;/a&gt; Version 22.0.0 not started in dev mode and build mode &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21629&quot;&gt;#21629&lt;/a&gt; Migration for 22.0.0 is missing from the documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21637&quot;&gt;#21637&lt;/a&gt; Broken links to quickstarts in documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21657&quot;&gt;#21657&lt;/a&gt; Account V3 Missing translate Refresh &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21698&quot;&gt;#21698&lt;/a&gt; Keycloak is storing error events even if storing events is disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21733&quot;&gt;#21733&lt;/a&gt; Fixing broken JSON translation files &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/07/keycloak-2201-released</guid>
        <pubDate>Tue, 18 Jul 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 22.0.0 released</title>
        <link>https://www.keycloak.org/2023/07/keycloak-2200-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Release notes&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_server_distribution&quot;&gt;Server Distribution&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_java_11_support_removed&quot;&gt;Java 11 support removed&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Running the Keycloak server with Java 11 is no longer supported. Java 11 was deprecated in Keycloak 21 with the announced plan to be removed in Keycloak 22.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_upgrade_to_quarkus_3_x&quot;&gt;Upgrade to Quarkus 3.x&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak upgraded to version 3.2.0.Final of the Quarkus Java framework.
Quarkus 3.x continues the tradition of propelling Java development by moving fast and providing a cutting-edge user experience with the latest technologies.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_transition_from_java_ee_to_jakarta_ee&quot;&gt;Transition from Java EE to Jakarta EE&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of upgrading to Quarkus 3.x Keycloak migrated its codebase from Java EE (Enterprise Edition) to its successor Jakarta EE, which brings various changes into Keycloak.
We have upgraded all Jakarta EE specifications in order to support Jakarta EE 10.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_context_and_dependency_injection_no_longer_enabled_to_jax_rs_resources&quot;&gt;Context and dependency injection no longer enabled to JAX-RS Resources&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In order to provide a better runtime and leverage as much as possible the underlying stack,
all injection points for contextual data using the &lt;code&gt;javax.ws.rs.core.Context&lt;/code&gt; annotation were removed. The expected improvement
in performance involves no longer creating proxies instances multiple times during the request lifecycle, and drastically reducing the amount of reflection code at runtime.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_upgrade_to_hibernate_orm_6&quot;&gt;Upgrade to Hibernate ORM 6&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now benefits from the upgrade to Hibernate ORM 6.2, which includes improved performance, better SQL, modern JDK support, and support for modern RDBMS features.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_elytron_credential_store_replacement&quot;&gt;Elytron credential store replacement&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The previous and now removed WildFly distribution provided a built-in vault provider that reads secrets from a keystore-backed Elytron credential store. As this is no longer available, we have added a new implementation of the Keycloak Vault SPI called Keycloak KeyStore Vault. As the name suggests, this implementation reads secrets from a Java keystore file. Such secrets can be then used within multiple places of the Administration Console. For further details, see &lt;a href=&quot;https://www.keycloak.org/server/vault&quot;&gt;our guide&lt;/a&gt; and the latest &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_vault-administration&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_keystore_config_source_added&quot;&gt;KeyStore Config Source added&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In relation to the KeyStore Vault news, we also integrated Quarkus&amp;#8217;s recently released feature called KeyStore Config Source. This means that among the already existing configuration sources (CLI parameters, environment variables and files), you can now configure your Keycloak server via configuration properties stored in a Java keystore file. You can learn more about this feature in the &lt;a href=&quot;https://www.keycloak.org/server/configuration&quot;&gt;Configuration guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_hostname_debug_tool&quot;&gt;Hostname debug tool&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a number of users have had problems with configuring the hostname for the server correctly there is now a new helper tool to allow debugging the configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_passthrough_proxy_mode_changes&quot;&gt;Passthrough proxy mode changes&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Installations which use Keycloak&amp;#8217;s &lt;code&gt;--proxy&lt;/code&gt; configuration setting with mode &lt;strong&gt;passthrough&lt;/strong&gt; should review the documentation as the behavior of this mode has changed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_export_and_import_perform_an_automatic_build&quot;&gt;Export and Import perform an automatic build&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous releases, the &lt;code&gt;export&lt;/code&gt; and &lt;code&gt;import&lt;/code&gt; commands required a &lt;code&gt;build&lt;/code&gt; command to be run first.
Starting with this release, the &lt;code&gt;export&lt;/code&gt; and &lt;code&gt;import&lt;/code&gt; commands perform an automatic rebuild of Keycloak if a build time configuration has changed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_admin_console&quot;&gt;Admin Console&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_account_console_v1_removal&quot;&gt;Account Console v1 removal&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The old Account Console (v1) is now completely removed. This version of the Account Console was marked as deprecated
in Keycloak 12.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_account_console_v3_promoted_to_preview&quot;&gt;Account Console v3 promoted to preview&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In version 21.1.0 of Keycloak the new Account Console (version 3) was introduced as an experimental feature. Starting this version it has been promoted to a preview feature.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_account_console_template_variables_removed&quot;&gt;Account Console template variables removed&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Two of the variables exposed to the Account Console V2 and V3 templates (&lt;code&gt;isEventsEnabled&lt;/code&gt; and &lt;code&gt;isTotpConfigured&lt;/code&gt;) were left unused, and have been removed in this release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is possible that if a developer extended the Account Console theme, he or she could make use of these variables. So make sure that these variables are no longer used if you are extending the base theme.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_changes_to_custom_admin_console_messages&quot;&gt;Changes to custom Admin Console messages&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Admin Console (and soon also the new Account Console) works slightly different than the rest of Keycloak in regards to how keys for internationalized messages are parsed. This is due to the fact that it uses the &lt;a href=&quot;https://www.i18next.com/&quot;&gt;i18next&lt;/a&gt; library for internationalization. Therefore when defining custom messages for the Admin Console under &quot;Realm Settings&quot; ➡ &quot;Localization&quot; best practices for i18next must be taken into account. Specifically, when defining a message for the Admin Console it is it important to specify a &lt;a href=&quot;https://www.i18next.com/principles/namespaces&quot;&gt;namespace&lt;/a&gt; in the key of your message.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For example, let&amp;#8217;s assume we want to overwrite the &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/025778fe9c745316f80b53fe3052aeb314e868ef/js/apps/admin-ui/public/locales/en/dashboard.json#L3&quot;&gt;&lt;code&gt;welcome&lt;/code&gt;&lt;/a&gt; message shown to the user when a new realm has been created. This message is located in the &lt;code&gt;dashboard&lt;/code&gt; namespace, same as the name of the original file that holds the messages (&lt;code&gt;dashboard.json&lt;/code&gt;). If we wanted to overwrite this message we&amp;#8217;ll have to use the namespace as a prefix followed by the key of the message separated by a colon, in this case it would become &lt;code&gt;dashboard:welcome&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_javascript_adapter&quot;&gt;JavaScript adapter&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_legacy_promise_api_removed&quot;&gt;Legacy Promise API removed&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this release, we have removed the legacy Promise API methods from the Keycloak JS adapter. This means that calling &lt;code&gt;.success()&lt;/code&gt; and &lt;code&gt;.error()&lt;/code&gt; on promises returned from the adapter is no longer possible.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_required_to_be_instantiated_with_the_new_operator&quot;&gt;Required to be instantiated with the &lt;code&gt;new&lt;/code&gt; operator&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In a previous release we started to actively log deprecation warnings when the Keycloak JS adapter is constructed without the &lt;code&gt;new&lt;/code&gt; operator. Starting this release doing so will throw an exception instead. This is to align with the expected behavior of &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes&quot;&gt;JavaScript classes&lt;/a&gt;, which will allow further refactoring of the adapter in the future.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_admin_api&quot;&gt;Admin API&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_renamed_admin_library_artifacts&quot;&gt;Renamed Admin library artifacts&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After the upgrade to Jakarta EE, artifacts for Keycloak Admin clients were renamed to more descriptive names with consideration for long-term maintainability.
We still provide two separate Keycloak Admin clients, one with Jakarta EE and the other with Java EE support.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_support_for_count_users_based_on_custom_attributes&quot;&gt;Support for count users based on custom attributes&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The User API now supports querying the number of users based on custom attributes. For that, a new &lt;code&gt;q&lt;/code&gt; parameter was added to the &lt;code&gt;/{realm}/users/count&lt;/code&gt; endpoint.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;q&lt;/code&gt; parameter expects the following format &lt;code&gt;q=&amp;lt;name&amp;gt;:&amp;lt;value&amp;gt; &amp;lt;name&amp;gt;:&amp;lt;value&amp;gt;&lt;/code&gt;. Where &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;value&amp;gt;&lt;/code&gt; represent the attribute name and value, respectively.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_operator&quot;&gt;Operator&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_k8s_keycloak_orgv2alpha1_changes&quot;&gt;k8s.keycloak.org/v2alpha1 changes&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The are additional fields available in the keycloak.status to facilitate keycloak being a scalable resource. There are also additional fields that make the status easier to interpret such as observedGeneration and condition observedGeneration and lastTransitionTime fields.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The condition status field was changed from a boolean to a string for conformance with standard Kubernetes conditions. In the CRD it will temporarily be represented as accepting any content, but it will only ever be a string.  Please make sure any of your usage of this field is updated to expect the values &quot;True&quot;, &quot;False&quot;, or &quot;Unknown&quot;, rather than true or false.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_co_management_of_operator_resources&quot;&gt;Co-management of Operator Resources&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In scenarios where advanced management is needed you may now directly update most fields on operator managed resources that have not been set by the operator directly. This can be used as an alternative to the unsupported stanza of the Keycloak spec. Like the unsupported stanza these direct modifications are not considered supported. If your modifications prevent the operator from being able to manage the resource, there Keycloak CR will show this error condition and the operator will log it.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_identity_brokering&quot;&gt;Identity Brokering&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_essential_claim_configuration_in_openid_connect_identity_providers&quot;&gt;Essential claim configuration in OpenID Connect identity providers&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID Connect identity providers support a new configuration to specify that the ID tokens issued by the identity provider must have a specific claim,
otherwise the user can not authenticate through this broker.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The option is disabled by default; when it is enabled, you can specify the name of the JWT token claim to filter and the value to match
(supports regular expression format).&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_support_for_jwe_encrypted_id_tokens_and_userinfo_responses_in_openid_connect_providers&quot;&gt;Support for JWE encrypted ID Tokens and UserInfo responses in OpenID Connect providers&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The OpenID Connect providers now support &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7516&quot;&gt;Json Web Encryption (JWE)&lt;/a&gt; for the ID Token and the UserInfo response. The providers use the realm keys defined for the selected encryption algorithm to perform the decryption.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_hardcoded_group_mapper&quot;&gt;Hardcoded group mapper&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The new hardcorded group mapper allows adding a specific group to users brokered from an Identity Provider.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_user_session_note_mapper&quot;&gt;User session note mapper&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The new user session note mapper allows mapping a claim to the user session notes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_ldap_federation&quot;&gt;LDAP Federation&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_ldaps_only_truststore_option_removed&quot;&gt;LDAPS-only Truststore option removed&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;LDAP option to use truststore SPI &lt;code&gt;Only for ldaps&lt;/code&gt; has been removed. This parameter is used to
select truststore for TLS-secured LDAP connection: either internal Keycloak truststore is
picked (&lt;code&gt;Always&lt;/code&gt;), or the global JVM one (&lt;code&gt;Never&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Deployments where &lt;code&gt;Only for ldaps&lt;/code&gt; was used will automatically behave as if &lt;code&gt;Always&lt;/code&gt; option was
selected for TLS-secured LDAP connections.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_removed_openshift_integration_feature&quot;&gt;Removed Openshift integration feature&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;openshift-integration&lt;/code&gt; preview feature that allowed replacing the internal IdP in OpenShift 3.x with Keycloak was removed from Keycloak codebase into separate extension project.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8750&quot;&gt;#8750&lt;/a&gt; Require user to agree to &#39;terms and conditions&#39; during registration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11089&quot;&gt;#11089&lt;/a&gt; Securing credentials/passwords not possible with Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11632&quot;&gt;#11632&lt;/a&gt; Enable Horizontal Pod Autoscaling for Keycloak deployed with the new Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15101&quot;&gt;#15101&lt;/a&gt; Support OpenJDK 19 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15910&quot;&gt;#15910&lt;/a&gt; Hostname debug tool &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17252&quot;&gt;#17252&lt;/a&gt; Add Keycloak Keystore Vault implementation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17659&quot;&gt;#17659&lt;/a&gt; Claim to User Session Note Idp Mapper &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19650&quot;&gt;#19650&lt;/a&gt; Supporting reference access/refresh tokens &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19968&quot;&gt;#19968&lt;/a&gt; Allow changing admin console logo and favicon from theme.properties &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20016&quot;&gt;#20016&lt;/a&gt; Group attribute query is missing QueryParams in java admin client &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-java&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20262&quot;&gt;#20262&lt;/a&gt; SSSD integration in Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20625&quot;&gt;#20625&lt;/a&gt; Add support to the Operator for setting default labels on Keycloak pods &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21254&quot;&gt;#21254&lt;/a&gt; Support for JWE IDToken and UserInfo tokens in OIDC brokers &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/356&quot;&gt;#356&lt;/a&gt; Update QuickStarts documentation to Quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/357&quot;&gt;#357&lt;/a&gt; Re-enable test that where disabled when updating test for the Quarkus dist &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/407&quot;&gt;#407&lt;/a&gt; Nashorn dependency no longer needed in quickstarts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/412&quot;&gt;#412&lt;/a&gt; Doublecheck &quot;provider&quot; quickstarts with quarkus3 based Keycloak distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/416&quot;&gt;#416&lt;/a&gt; user-storage-* provider quickstarts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/417&quot;&gt;#417&lt;/a&gt; Event listener sysout quickstart &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/421&quot;&gt;#421&lt;/a&gt; Event store mem quickstart &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/428&quot;&gt;#428&lt;/a&gt; Extend-account-console quickstart &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/436&quot;&gt;#436&lt;/a&gt; Remove keycloak-remote profile &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-documentation/issues/1791&quot;&gt;#1791&lt;/a&gt; Clarification on user registration and identity brokering &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-documentation &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8753&quot;&gt;#8753&lt;/a&gt; Reset Credentials Flow does not delete existing OTP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9075&quot;&gt;#9075&lt;/a&gt; Remove any unnecessary dependency from distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9434&quot;&gt;#9434&lt;/a&gt; OTP base32 decode improvements &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10285&quot;&gt;#10285&lt;/a&gt; Expose deployment errors in the status field of Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10562&quot;&gt;#10562&lt;/a&gt; Support multiple KC instances in a single namespace &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10736&quot;&gt;#10736&lt;/a&gt; Use SchemaSwap instead of shell script for Realm CRD generatio &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10911&quot;&gt;#10911&lt;/a&gt; Use Quarkus JOSDK to generate CSV for OLM in the operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11015&quot;&gt;#11015&lt;/a&gt; Use dist Quarkus version in the operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11561&quot;&gt;#11561&lt;/a&gt; Non ASCII characters in TOTP secret not supported in 2FA configurations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11759&quot;&gt;#11759&lt;/a&gt; Add support to indicate desired locale on init func with onLoad: &#39;login-required&#39; options &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12593&quot;&gt;#12593&lt;/a&gt; Add a name to the keycloak port in the service &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13074&quot;&gt;#13074&lt;/a&gt; Operator CRD status incompatible with kstatus &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14747&quot;&gt;#14747&lt;/a&gt; Addition of Custom User Attribute Filter to Users API Count Endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15003&quot;&gt;#15003&lt;/a&gt; Enable IPv6 dualstack support by default &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15044&quot;&gt;#15044&lt;/a&gt; Clean `RealmProvider` from methods from other areas &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15046&quot;&gt;#15046&lt;/a&gt; Remove methods for old default roles approach &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15136&quot;&gt;#15136&lt;/a&gt; Back to Application link should be client specific with the UPDATE_EMAIL feature &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15434&quot;&gt;#15434&lt;/a&gt; Customize log messages for user storage LDAP configuration in KC shown in admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15454&quot;&gt;#15454&lt;/a&gt; Update migration guide with the changes that need to be done for developers using JAX-RS in their extensions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15490&quot;&gt;#15490&lt;/a&gt; Update Datastore provider to contain full data model &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15789&quot;&gt;#15789&lt;/a&gt; &quot;Failed to add user &#39;admin&#39; ...&quot; should not be an ERROR &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15947&quot;&gt;#15947&lt;/a&gt; support parameters like &quot;uri&quot; and &quot;matchingUri&quot; in the UMA grant token endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16535&quot;&gt;#16535&lt;/a&gt; Group Attribute Search Erroneously returns when searching for nested group &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16800&quot;&gt;#16800&lt;/a&gt; Operator Support for missing leading slash and present trailing slash in `http-relative-path` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16849&quot;&gt;#16849&lt;/a&gt; Add &quot;Enable new user after creation&quot; option for Active Directory &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16902&quot;&gt;#16902&lt;/a&gt; Refine the set of RPMs included in the keycloak container image &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16967&quot;&gt;#16967&lt;/a&gt; Minimize the RPM content of the Operator container &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16977&quot;&gt;#16977&lt;/a&gt; CRDB optimization: Optimize selects targeting the primary key or unique keys &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17470&quot;&gt;#17470&lt;/a&gt; security enhancement : representation of admin events &amp; credentials &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17484&quot;&gt;#17484&lt;/a&gt; Migrate realms if configured to use RH-SSO themes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19792&quot;&gt;#19792&lt;/a&gt; Javascript example not printing errors &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19924&quot;&gt;#19924&lt;/a&gt; Allow pre-filled GitHub issue forms via links from docs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19959&quot;&gt;#19959&lt;/a&gt; Add missing Spanish translations for login &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19965&quot;&gt;#19965&lt;/a&gt; Add `lang` attribute to HTML tag of UIs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19990&quot;&gt;#19990&lt;/a&gt; Only add Access properties on groups, if the fine grain feature is on &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20067&quot;&gt;#20067&lt;/a&gt; Upgrading to Infinispan 14.0.8 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20191&quot;&gt;#20191&lt;/a&gt; Conditional login through identity provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20200&quot;&gt;#20200&lt;/a&gt; account console v3 theme.properties customizations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20216&quot;&gt;#20216&lt;/a&gt; Correct formatting in Server Developer guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20250&quot;&gt;#20250&lt;/a&gt; Adhere to HTML standard when using `ul`-element &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20263&quot;&gt;#20263&lt;/a&gt; SSSD documentation updated for quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20265&quot;&gt;#20265&lt;/a&gt; SSSD testing with GH actions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20303&quot;&gt;#20303&lt;/a&gt; UserPropertyMapper generated exceptions on mapping &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20305&quot;&gt;#20305&lt;/a&gt; Upgrade JNA library &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20386&quot;&gt;#20386&lt;/a&gt; Client executor for reject implicit grant when enabled for clients &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20388&quot;&gt;#20388&lt;/a&gt; Upgrade owasp html sanitizer to newest version &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20469&quot;&gt;#20469&lt;/a&gt; Look ahead window setting in OTP policy is not accurate &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20486&quot;&gt;#20486&lt;/a&gt; Enable `simple-cache` for `local-cache` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20496&quot;&gt;#20496&lt;/a&gt; Move openshift client integration to separate extension &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20497&quot;&gt;#20497&lt;/a&gt; Move http-challenge authentication flow and the related authenticators to the extension &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20548&quot;&gt;#20548&lt;/a&gt; Also run Cypress tests on Firefox &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20576&quot;&gt;#20576&lt;/a&gt; Allow custom annotation in Ingress &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20582&quot;&gt;#20582&lt;/a&gt; Show warning message when overriding build options during starts  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20623&quot;&gt;#20623&lt;/a&gt; FAPI 2.0 security profile - not allow an authorization request whose parameters were not included in PAR request &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20674&quot;&gt;#20674&lt;/a&gt; Increase the length of password hash iterations password-policy input in admin ui &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20689&quot;&gt;#20689&lt;/a&gt; Removing unnecessary message from main command help text &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20710&quot;&gt;#20710&lt;/a&gt; FAPI 2.0 security profile - not allow an authorization request whose parameters were not included in Request Object pushed to PAR request &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20773&quot;&gt;#20773&lt;/a&gt; Add Hardcoded Group mapper to Identify Provider configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20783&quot;&gt;#20783&lt;/a&gt; Ability for users to view credentials without manage user permissions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20791&quot;&gt;#20791&lt;/a&gt; Update docs (and maybe tooltips) for timeout changes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20817&quot;&gt;#20817&lt;/a&gt; Improve start page on the account ui &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20994&quot;&gt;#20994&lt;/a&gt; Update securing_applications guide for latest adapter changes (community) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21064&quot;&gt;#21064&lt;/a&gt; Allow any JGroups stack with --cache-stack &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21163&quot;&gt;#21163&lt;/a&gt; Support for the `locale` user attribute  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21167&quot;&gt;#21167&lt;/a&gt; Add missing Polish translations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21176&quot;&gt;#21176&lt;/a&gt; Remove adapters from product documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21272&quot;&gt;#21272&lt;/a&gt; Upgrade to Quarkus 3.2.0.Final &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21283&quot;&gt;#21283&lt;/a&gt; Add `iat` claim to JWT that is passed to CIBA HttpAuthenticationChannel &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21476&quot;&gt;#21476&lt;/a&gt; When essential claim check fails the error message should provide detailed information &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21493&quot;&gt;#21493&lt;/a&gt; Enable publishNotReadyAddresses for discovery service &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/369&quot;&gt;#369&lt;/a&gt; Quickstarts for action-token-authenticator / action-token-required-action not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/409&quot;&gt;#409&lt;/a&gt; Legacy quickstart tests are failing since quarkus3 upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/437&quot;&gt;#437&lt;/a&gt; Tests does not work on OpenJDK 17 for quickstarts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9299&quot;&gt;#9299&lt;/a&gt; Refresh token with offline_access scope affected by session idle/session max &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9313&quot;&gt;#9313&lt;/a&gt; LDAPS Bind test fails with SSLHandshakeException while LDAP connection test works &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10110&quot;&gt;#10110&lt;/a&gt; Unable to add more than 6 acceptable AAGUIDs for WebAuthn &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10195&quot;&gt;#10195&lt;/a&gt; User search with LDAP federation not consistent &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11079&quot;&gt;#11079&lt;/a&gt; SLO and ACS Binding are linked with AuthnRequest Binding in SAML Identity Broker Metadata &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11728&quot;&gt;#11728&lt;/a&gt; SSSD Federation fails with NPE after upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11990&quot;&gt;#11990&lt;/a&gt; Negative refresh token expiration (exp timestamp in the past) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12012&quot;&gt;#12012&lt;/a&gt; KEYCLOAK-17116 Copy of Browser Flow overrides an original one &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12018&quot;&gt;#12018&lt;/a&gt; Trust Store hostname-verification-policy=ANY seems to be ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12720&quot;&gt;#12720&lt;/a&gt; Clearify the use of `db-url-properties` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12745&quot;&gt;#12745&lt;/a&gt; [keycloak-js] multiple init call with onload option as check-sso cause redirects &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12939&quot;&gt;#12939&lt;/a&gt; importing bin/kc.[sh|bat] import --file &lt;file&gt; doesn&#39;t work when using external database &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13542&quot;&gt;#13542&lt;/a&gt; MigrationTest for KC 17 failures in the pipeline &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13543&quot;&gt;#13543&lt;/a&gt; RecoveryAuthnCodesAuthenticatorTest failures in the pipeline &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13922&quot;&gt;#13922&lt;/a&gt; Switching Locale after Completing an admin triggered required action yields an error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14441&quot;&gt;#14441&lt;/a&gt; Client-secret with special character (+) for authorization is failing in 19.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14617&quot;&gt;#14617&lt;/a&gt; ID token is not including roles &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14851&quot;&gt;#14851&lt;/a&gt; Realm update fails when realm has many Identity Providers configured and saves rep. with Admin Events &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14854&quot;&gt;#14854&lt;/a&gt; Client session lifespan doesn&#39;t consider user session lifespan &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15337&quot;&gt;#15337&lt;/a&gt; User Session Note Mapper no longer adds IMPERSONATOR_USERNAME as SAML attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15536&quot;&gt;#15536&lt;/a&gt; Able to modify built-in flow &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15782&quot;&gt;#15782&lt;/a&gt; Unable to perform export when server was started with new storage &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15845&quot;&gt;#15845&lt;/a&gt; Realm localization: Inconsistent message resolving regarding language fallbacks for different themes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15853&quot;&gt;#15853&lt;/a&gt; Incorrect Signature algorithms presented by Client Authenticator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15898&quot;&gt;#15898&lt;/a&gt; Keycloak Export only accept H2 datase-URL (Datasource: URL format error; must be jdbc:h2 ... but is jdbc:mariadb: ...) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16165&quot;&gt;#16165&lt;/a&gt; SSSD User Federation dissapeared in 20.0.1/20.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16166&quot;&gt;#16166&lt;/a&gt; Set OpenShift as a &quot;Social Identity Provider&quot; cannot work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16321&quot;&gt;#16321&lt;/a&gt; Single client export bug &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16507&quot;&gt;#16507&lt;/a&gt; Hibernate 6 upgrade: Warning SqmDynamicInstantiation about dynamic Map instantiation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16551&quot;&gt;#16551&lt;/a&gt; Quarkus 3: RealmModelTest.testRealmLocalizationTexts fails &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16577&quot;&gt;#16577&lt;/a&gt; Setting user password and entering &quot;password confirmation&quot; first leads to blocking of &quot;save&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16613&quot;&gt;#16613&lt;/a&gt; Impossible to update a federated user credential label &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16833&quot;&gt;#16833&lt;/a&gt; Update documentation around `View all users` behavior in the new admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16992&quot;&gt;#16992&lt;/a&gt; upgrading from v18.0.2 to 19.0.3 or 20.0.3 fails with ERROR duplicate key value violates unique constraint &quot;constraint_3c&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17130&quot;&gt;#17130&lt;/a&gt; Theme &amp; Provider folder empty in KeyCloak 20.0.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17288&quot;&gt;#17288&lt;/a&gt; New Referrer-policy breaks cross-origin SP&lt;-&gt;IdP (KC) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17294&quot;&gt;#17294&lt;/a&gt; Make LDAP `searchForUsersStream` consistent with other storages &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17304&quot;&gt;#17304&lt;/a&gt; javax.net.ssl.SSLException exceptions because org.keycloak.adapters.HttpClientBuilder ignores connectionTTL setting &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17312&quot;&gt;#17312&lt;/a&gt; Error updating old version (Keycloak 8) to Keycloak 20. NPE thrown due the realm.getDefaultRole() &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17377&quot;&gt;#17377&lt;/a&gt; Error: realms.removeSession wrong generic type &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17388&quot;&gt;#17388&lt;/a&gt; Incorrect Url on Keycloak Health - Liveness and Readiness, no Startup Probes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17581&quot;&gt;#17581&lt;/a&gt; `JpaUserProvider` count methods are inconsistent with `searchForUser`&#39;s param filter handling &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19096&quot;&gt;#19096&lt;/a&gt; Memory issue with PathCache when running the traffic &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19136&quot;&gt;#19136&lt;/a&gt; Report an issue link points to Jira instead of GHI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19155&quot;&gt;#19155&lt;/a&gt; Priority not sent to server when adding new RSA key provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19156&quot;&gt;#19156&lt;/a&gt; Server Deployment documentation is not updated to Quarkus &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19193&quot;&gt;#19193&lt;/a&gt; Slow Query Caused By Composite Indexes Order On Broker Link Table  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19257&quot;&gt;#19257&lt;/a&gt; User ID is ignored in partial import &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19323&quot;&gt;#19323&lt;/a&gt; Hibernate 6: Entity in Key not returned when querying &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19368&quot;&gt;#19368&lt;/a&gt; Facebook identity provider not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19485&quot;&gt;#19485&lt;/a&gt; SignatureProvider not showing up in the Default Signature Algorithm list &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19530&quot;&gt;#19530&lt;/a&gt; Custom ResetCredentialEmail does not work after upgrade to Keycloak 21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19575&quot;&gt;#19575&lt;/a&gt; Account Console II doesn&#39;t remove TOTP from UserStorage &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19596&quot;&gt;#19596&lt;/a&gt; A way to override internal SPI after KC 21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19638&quot;&gt;#19638&lt;/a&gt; Custom User Storage Provider doesn&#39;t look up users after saving changes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19675&quot;&gt;#19675&lt;/a&gt; Gzip cache is only invalidated upon Keycloak version changes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19677&quot;&gt;#19677&lt;/a&gt; AlreadyLoggedIn when impersonating a user in a SAML client &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19725&quot;&gt;#19725&lt;/a&gt; Operator restarts occasionally result in recreation of managed keycloak Statefulset Pods &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19746&quot;&gt;#19746&lt;/a&gt; Email settings erased after any change on realm settings &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19763&quot;&gt;#19763&lt;/a&gt; Documentation for User Storage Spi is incorrect &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19777&quot;&gt;#19777&lt;/a&gt; Custom providers are not loaded properly in KC21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19805&quot;&gt;#19805&lt;/a&gt; Custom SignatureProviderFactory is not working as expected after Keycloak 21 upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19814&quot;&gt;#19814&lt;/a&gt; Testsuite must rely on IDs from Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19818&quot;&gt;#19818&lt;/a&gt; Support for realm-less entities in login failures &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19844&quot;&gt;#19844&lt;/a&gt; NPE when updating a subflow in an authentication flow &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19849&quot;&gt;#19849&lt;/a&gt; Incorrect HTTP status reported when DNS resolver is not available (and DB connection unavailable due to that) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19852&quot;&gt;#19852&lt;/a&gt; Admin UI does not respect default values for custom authenticator configurations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19897&quot;&gt;#19897&lt;/a&gt; Create a Client Policy on realm with client-roles or client-scopes condition raises an expection on the Client details  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19932&quot;&gt;#19932&lt;/a&gt; Test app is not functioning - https://www.keycloak.org/app/  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19933&quot;&gt;#19933&lt;/a&gt; Account v3 - account console link redirect to master realm &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19942&quot;&gt;#19942&lt;/a&gt; New Flow created for Post Login Flow IDP not mark &quot;Used by&quot; at Flows &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19950&quot;&gt;#19950&lt;/a&gt; Logout redirect URL truncated since v20 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19957&quot;&gt;#19957&lt;/a&gt; User search with more than two keywords returns empty list &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19982&quot;&gt;#19982&lt;/a&gt; Default Roles show all roles if &quot;Hide inherited roles&quot; is not checked  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20007&quot;&gt;#20007&lt;/a&gt; Conditional user attribute authenticator does not match the joined groups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20009&quot;&gt;#20009&lt;/a&gt; authenticator javaScript Provider always failed the login, user context is lost and break the login &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20013&quot;&gt;#20013&lt;/a&gt; Flaky test: org.keycloak.testsuite.adapter.servlet.OfflineServletsAdapterTest#testServlet &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20020&quot;&gt;#20020&lt;/a&gt; Cannot find @Generated annotation for ServicesLogger &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20070&quot;&gt;#20070&lt;/a&gt; Update passthrough behavior and docs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20077&quot;&gt;#20077&lt;/a&gt; Conditionally build WildFly adapters for our testsuite &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20085&quot;&gt;#20085&lt;/a&gt; Custom theme - url.resourcesCommonPath references wrong theme &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20097&quot;&gt;#20097&lt;/a&gt; FederatedUserLink always points to LDAP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20101&quot;&gt;#20101&lt;/a&gt; Duplicated serverPrincipal property in LDAPStorageProviderFactory &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20105&quot;&gt;#20105&lt;/a&gt; Unable to template emails in EventListenerProvider (No realm in provided KeycloakSession) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20119&quot;&gt;#20119&lt;/a&gt; Support for non-XA databases &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20182&quot;&gt;#20182&lt;/a&gt; User defined message bundles do not apply correctly to Admin Console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20194&quot;&gt;#20194&lt;/a&gt; Valid redirect URI &amp; web origin input fields display when &quot;Standard flow&quot; is disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20202&quot;&gt;#20202&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.OfflineSessionPersistenceTest#testLazyClientSessionStatsFetching &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20259&quot;&gt;#20259&lt;/a&gt; Failing ExternalLinks tests for old Keycloak JIRA Links &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20261&quot;&gt;#20261&lt;/a&gt; Quarkus 3 build properties break product build &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20269&quot;&gt;#20269&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.infinispan.CacheExpirationTest#testCacheExpiration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20329&quot;&gt;#20329&lt;/a&gt; Additional Provider Info only shows at end of list not below provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20331&quot;&gt;#20331&lt;/a&gt; Keycloak-js crasher: Missing null checks. Websites that have inline scripts without a src attribute as src attributes are not required.  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20332&quot;&gt;#20332&lt;/a&gt; Error 500 after signin to admin console: NullPointerException  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20349&quot;&gt;#20349&lt;/a&gt; WebAuthn test fails in the GHA &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20372&quot;&gt;#20372&lt;/a&gt; keycloak-js-admin-client and keycloak-js-adapter do not build when a maven proxy is configured &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20384&quot;&gt;#20384&lt;/a&gt; Fix User Federation tests after Q3 upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20385&quot;&gt;#20385&lt;/a&gt; Servlet tests for JBoss-based adapters with TLS are broken &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20387&quot;&gt;#20387&lt;/a&gt; Productization issue related to JNA upgrade &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20401&quot;&gt;#20401&lt;/a&gt; SAML error not shown to user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20426&quot;&gt;#20426&lt;/a&gt; ClientScope changes don&#39;t invalidate the realm cache &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20433&quot;&gt;#20433&lt;/a&gt; Administration / Keycloak Admin REST API documentation can no longer be generated &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20443&quot;&gt;#20443&lt;/a&gt; Avoid NPE while fetching offline sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20459&quot;&gt;#20459&lt;/a&gt; Changing the email address has no impact at username regardless &quot;Email as username&quot; toggle &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20481&quot;&gt;#20481&lt;/a&gt; Fix tests related to file storage &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20489&quot;&gt;#20489&lt;/a&gt; Admin UI - unable to load user&#39;s groups when large number of groups defined for the realm &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20498&quot;&gt;#20498&lt;/a&gt; When user federation is enabled, admin console user search doesn&#39;t show search field &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20503&quot;&gt;#20503&lt;/a&gt; Enabled User Event Types not visible when &quot;Save events&quot; disabled. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20506&quot;&gt;#20506&lt;/a&gt; User events settings - &quot;Save events&quot; toggle doesn&#39;t always activate Save button. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20510&quot;&gt;#20510&lt;/a&gt; Ensure proper escaping  for LDAP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20534&quot;&gt;#20534&lt;/a&gt; For versions &gt; 18.x.x client mapper is not able to override &quot;name&quot; for OpenID tokens &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20536&quot;&gt;#20536&lt;/a&gt; [Declarative User Profile] Optional attributes become required &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20540&quot;&gt;#20540&lt;/a&gt; `register-node-at-startup` in EAP Client Adapter eventually causes &quot;java.lang.OutOfMemoryError: unable to create native thread &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/jee&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20541&quot;&gt;#20541&lt;/a&gt; Identity providers initialization has to use models &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20550&quot;&gt;#20550&lt;/a&gt; Update example custom cache configuration for v&gt;21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20564&quot;&gt;#20564&lt;/a&gt; keycloak-admin-client does not url-encode client id and secret for basic auth as defined in RFC6749 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20599&quot;&gt;#20599&lt;/a&gt; Introduced additional dependencies in the testsuite   &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20615&quot;&gt;#20615&lt;/a&gt; Moving a group to root loses all its members &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20622&quot;&gt;#20622&lt;/a&gt; FAPI 2.0 security profile - Reject Implicit Grant executor does not return an appropriate error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20635&quot;&gt;#20635&lt;/a&gt; Add back examples for Kubernetes and Openshift to the quickstarts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20656&quot;&gt;#20656&lt;/a&gt; Reset password does not show option to sign out from other devices  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20670&quot;&gt;#20670&lt;/a&gt; Could not process response from SAML identity provider because &quot;this.text&quot; is null &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20671&quot;&gt;#20671&lt;/a&gt; Userinfo endpoint doesn&#39;t accept charset  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20673&quot;&gt;#20673&lt;/a&gt; Missing SAML Allow ECP Flow option &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20694&quot;&gt;#20694&lt;/a&gt; Selecting one mapper and switch page select them all &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20700&quot;&gt;#20700&lt;/a&gt; REST API Documentation ref wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20703&quot;&gt;#20703&lt;/a&gt; Realm export performance heavily depends on the amount of users per file &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20723&quot;&gt;#20723&lt;/a&gt; Keycloak deployed via new keycloak-operator triggers OpenShift alert `IngressWithoutClassName` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20725&quot;&gt;#20725&lt;/a&gt; Denial of Service/100% CPU usage: CRLUtils in infinite loop if more than one CRL list is used from different CAs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20732&quot;&gt;#20732&lt;/a&gt; Keycloak erases form data on validation when `login_hint` is present &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20757&quot;&gt;#20757&lt;/a&gt; SEND_RESET_PASSWORD event is not stored &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20782&quot;&gt;#20782&lt;/a&gt; Mappers tab is not reachable on identity provider settings &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20831&quot;&gt;#20831&lt;/a&gt; Webauthn signature algorithms are improperly encoded as strings &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication/webauthn&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20835&quot;&gt;#20835&lt;/a&gt; There is no server side pagination for sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20847&quot;&gt;#20847&lt;/a&gt; Private key JWT authentication no longer works on Keycloak 21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20851&quot;&gt;#20851&lt;/a&gt; Empty shortVerificationUri not the same with default (null) value &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20855&quot;&gt;#20855&lt;/a&gt; Session cross-reference / transaction mismatch &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20878&quot;&gt;#20878&lt;/a&gt; Emails with non-ascii characters are not allowed since v21.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20888&quot;&gt;#20888&lt;/a&gt; Flaky test: org.keycloak.operator.testsuite.integration.ClusteringTest#testKeycloakScaleAsExpected  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20895&quot;&gt;#20895&lt;/a&gt; Keycloak&#39;s default http client doesn&#39;t check HTTP response code &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20920&quot;&gt;#20920&lt;/a&gt; keycloak-server from testsuite won&#39;t start &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20947&quot;&gt;#20947&lt;/a&gt; Partial Import is not working for resource Type in keycloak 21.1.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20951&quot;&gt;#20951&lt;/a&gt; Jump links render wrong on small screens &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20954&quot;&gt;#20954&lt;/a&gt; Performance degradation when upgrading from RHSSO 7.6 to KC22 caused by TLSv1.3 processing &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20974&quot;&gt;#20974&lt;/a&gt; Avoid loading classes and resources from new store if legacy is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20977&quot;&gt;#20977&lt;/a&gt; NPE when shutting down JPA after a failed initialization &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20978&quot;&gt;#20978&lt;/a&gt; processGrantRequest in TokenEndPoint uses new TokenManager instead of this.tokenMananager &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21045&quot;&gt;#21045&lt;/a&gt; Custom User Storage Provider gets disabled when saved &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21047&quot;&gt;#21047&lt;/a&gt; Role details not visible unless the user has &quot;View Realm&quot; enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21095&quot;&gt;#21095&lt;/a&gt; Group list isn&#39;t filtered based on permission like user lists &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/fine-grained-permissions&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21106&quot;&gt;#21106&lt;/a&gt; Service Account Impersonation fails and results in weird browser state &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21120&quot;&gt;#21120&lt;/a&gt; Client scopes mapping not available for users with &quot;view-clients&quot; and &quot;query-clients&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21234&quot;&gt;#21234&lt;/a&gt; custom user storage provider update in admin-ui disables it, and stores value “t” as enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21242&quot;&gt;#21242&lt;/a&gt; GroupResource POST /children cannot update existing subgroups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21263&quot;&gt;#21263&lt;/a&gt; Broken Links / Redirects Issues in Docs - 2023-06-27 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21290&quot;&gt;#21290&lt;/a&gt; UserSessionConcurrencyTest#testConcurrentNotesChange fails intermittently &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21295&quot;&gt;#21295&lt;/a&gt; UserSessionProviderModelTest#testRemoteCachesParallel sessions are not removed after the test &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21300&quot;&gt;#21300&lt;/a&gt; Keycloak Docs for Native App Redirect URI Should Recommend the IP literal &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21307&quot;&gt;#21307&lt;/a&gt; 3rd party check in iframe not working anymore in safari and keycloak 21.1.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21317&quot;&gt;#21317&lt;/a&gt; [docs] External Links Errors - saml.xml.org http -&gt; https redirect &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21349&quot;&gt;#21349&lt;/a&gt; List of tested database in docs doesn&#39;t match pom.xml &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21358&quot;&gt;#21358&lt;/a&gt; NPE in Edit Identity Provider Mapper on second Save &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21394&quot;&gt;#21394&lt;/a&gt; SSSD users with capitals in the email cannot login to keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21412&quot;&gt;#21412&lt;/a&gt; JavascriptAdapterTest is broken due to the multiple initialization of JS adapter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21427&quot;&gt;#21427&lt;/a&gt; Nexus staging plugin failing after Java 11 deprecation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21451&quot;&gt;#21451&lt;/a&gt; Cookie error on second browser tab &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21456&quot;&gt;#21456&lt;/a&gt; Quarkus 3.2 changed the property for quarkus.transaction-manager.object-store-directory &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21491&quot;&gt;#21491&lt;/a&gt; Wrong message for sync actions on LDAP role mapper &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/07/keycloak-2200-released</guid>
        <pubDate>Tue, 11 Jul 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Authorization Survey</title>
        <link>https://www.keycloak.org/2023/07/authorization-survey</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Services dedicated to authorization are evolving rapidly. There is a steady establishment of policy languages, purpose-built for authorization, as well as a growing number of implementations of Google&amp;#8217;s &quot;Zanzibar&quot; whitepaper, their &lt;a href=&quot;https://research.google/pubs/pub48190/&quot;&gt;global, consistent authorization system&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To better understand how we should evolve Keycloak Authorization Services in this context, we&amp;#8217;d appreciate the opportunity to learn more about the Keycloak communities&#39; authorization use cases and experience, regardless of whether you&amp;#8217;ve used Keycloak Authorization Services before or if you use a different service for access management.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please consider filling out &lt;a href=&quot;https://forms.gle/MkaSXQ9NuaR24qZt9&quot;&gt;this brief, anonymous survey&lt;/a&gt; to help shape Keycloak&amp;#8217;s future authorization experience.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/07/authorization-survey</guid>
        <pubDate>Thu, 6 Jul 2023 00:00:00 GMT</pubDate>
        
        <author>Alec Henninger</author>
      </item>
      <item>
        <title>Survey - Cross-Site Replication in Keycloak</title>
        <link>https://www.keycloak.org/2023/06/crossdc-survey</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak and Infinispan engineering teams are working together to bring Cross-Site Replication (CSR) to a fully
supported state in future Keycloak releases, with Active/Passive support and Active/Active support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would like to gather inputs on your expectations, requirements, use-cases and sizing of the target deployment
environments for the CSR feature. Thanks in advance for filling out this survey form to help us better plan and deliver
this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If your are interested in Active/Passive or Active/Active deployments of Keycloak please fill in
&lt;a href=&quot;https://forms.gle/B5TogcX7WvgdeNKD6&quot;&gt;the survey&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/06/crossdc-survey</guid>
        <pubDate>Fri, 30 Jun 2023 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 21.1.2 released</title>
        <link>https://www.keycloak.org/2023/06/keycloak-2112-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Release notes&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_changes_in_validating_schemes_for_valid_redirect_uris&quot;&gt;Changes in validating schemes for valid redirect URIs&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If an application client is using non http(s) custom schemes, from now on the validation requires that a valid redirect pattern explicitly allows that scheme. Example patterns for allowing &lt;code&gt;custom&lt;/code&gt; scheme are &lt;code&gt;custom:/test&lt;/code&gt;, &lt;code&gt;custom:/test/*&lt;/code&gt; or &lt;code&gt;custom:*&lt;/code&gt;. For security reasons a general pattern like &lt;code&gt;*&lt;/code&gt; does not cover them anymore.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;



&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20613&quot;&gt;#20613&lt;/a&gt; Avoid using user property mapper when resolving root user attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17165&quot;&gt;#17165&lt;/a&gt; Issue with &quot;User-Initiated Action Lifespan&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19080&quot;&gt;#19080&lt;/a&gt; Vulnerable packages and or dependencies found in keycloak 21.0.1 quarkus distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19286&quot;&gt;#19286&lt;/a&gt; CVE-2022-1471 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19491&quot;&gt;#19491&lt;/a&gt; Cannot set initial password for new users when using a custom UserFederation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19689&quot;&gt;#19689&lt;/a&gt; SAML Encryption: Missing Support for http://www.w3.org/2009/xmlenc11#rsa-oaep &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19835&quot;&gt;#19835&lt;/a&gt; Keycloak issues on edge and after chrome upgarde to 112 (with experimental features) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19865&quot;&gt;#19865&lt;/a&gt; Enabling Dynamic Scope missing in UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19879&quot;&gt;#19879&lt;/a&gt; Incorrect function is used in &#39;keycloak-admin-client&#39; library in getToken function &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19883&quot;&gt;#19883&lt;/a&gt; Saving client admin-cli in master realm gives a javascript error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19966&quot;&gt;#19966&lt;/a&gt; Paginating on the group tree view doesn&#39;t work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19974&quot;&gt;#19974&lt;/a&gt; Dropdown options on Documentation pointing to 21.1 endpoint instead of latest and throwing 404 when clicking on it. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19981&quot;&gt;#19981&lt;/a&gt; Keycloak 21.1.1: Paging and filtering not working in &quot;Assign roles&quot; popup for Groups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19999&quot;&gt;#19999&lt;/a&gt; Keycloak 21.1.1: filter on Sessions gets stuck &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20032&quot;&gt;#20032&lt;/a&gt; Processing of env variable references in config file broken &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20068&quot;&gt;#20068&lt;/a&gt; LDAP Mapper Action Menu Error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20087&quot;&gt;#20087&lt;/a&gt; Event-Type: &quot;User info request error&quot; does not work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20096&quot;&gt;#20096&lt;/a&gt; Create new user UI: username is not marked with an asterisk &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20140&quot;&gt;#20140&lt;/a&gt; role filter has no effect on roles list &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20143&quot;&gt;#20143&lt;/a&gt; required fields don&#39;t show errors when user profile is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20258&quot;&gt;#20258&lt;/a&gt; OTP devices are not shown in the admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20307&quot;&gt;#20307&lt;/a&gt; Test `InternationalizationTest` fails in CI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20370&quot;&gt;#20370&lt;/a&gt; Deleting a client scope in the Admin UI should redirect to the list of ClientScopes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20379&quot;&gt;#20379&lt;/a&gt; SAML Protocol Mapper&#39;s NameIDFormat is null &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20515&quot;&gt;#20515&lt;/a&gt; Headers is not defined &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/20663&quot;&gt;#20663&lt;/a&gt; Fix for certificate revalidation  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/06/keycloak-2112-released</guid>
        <pubDate>Wed, 28 Jun 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>New Keycloak maintainer: Alexander Schwartz</title>
        <link>https://www.keycloak.org/2023/06/alexander-schwartz</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re delighted to announce &lt;a href=&quot;https://github.com/ahus1&quot;&gt;Alexander Schwartz&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Alexander started contributing to Keycloak in 2015. He applied it in several customer installations and is maintaining the Dropwizard module for Keycloak. In January 2022, he joined Red Hat. Since then, he has contributed to Keycloak’s store and documentation and is the key contributor to the Keycloak benchmark project. He helped with Keycloak’s submission to CNCF, and represented Keycloak at KubeCon Amsterdam in April 2023. &lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;He has shown his commitment to the Keycloak community by collaborating on design discussions, participating in GitHub discussions, reviewing pull-requests, answering questions on the Keycloak mailing lists, contributing to new features, bug fixes and triaging GitHub issues.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team is very excited to welcome Alexander as our new maintainer and long-time contributor.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/06/alexander-schwartz</guid>
        <pubDate>Tue, 27 Jun 2023 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>Sunsetting Discourse</title>
        <link>https://www.keycloak.org/2023/06/sunsetting-discourse</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our community has grown and evolved significantly over time. This growth has
been exciting to be a part of, but it has also presented new challenges. One of
these challenges has been managing the multiple communication channels we
have in place to engage with our community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Today, we have various channels available: Google Groups, GitHub Discussions,
Slack, and Discourse. Each of these platforms has its strengths in fostering the
open dialogue and collaboration. However, we have been unable to provide the
level of attention and interaction we believe our community deserves.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this in mind, we have decided that as of June 26, 2023, we will sunset
Discourse as one of our communication channels. We understand the value
that Discourse has brought to our community, but we believe that focusing our
efforts on fewer communication channels will allow us to foster more
meaningful conversations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What does this mean for Discourse users?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;From June 26, 2023, users will no longer be able to create new posts on
Discourse, but they can still access all the content and discussions that have
been shared there. All the existing threads will be preserved as an archive,
ensuring that the knowledge accumulated over the years is not lost.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For those who have been actively using Discourse, we understand that this
transition might be challenging. We encourage users to join our conversations
on &lt;a href=&quot;https://www.keycloak.org/community&quot;&gt;Google Groups, GitHub Discussions, and Slack&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/06/sunsetting-discourse</guid>
        <pubDate>Wed, 21 Jun 2023 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>Keyconf 23</title>
        <link>https://www.keycloak.org/2023/05/keyconf-23</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would like to invite you to the Keycloak conference Keyconf 23!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The event will take place on June 16 in London. The details about this event together with the links for free registration are
&lt;a href=&quot;https://www.eventbrite.co.uk/e/keyconf-23-tickets-621079815447&quot;&gt;here&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keyconf conference takes place the day after the &lt;a href=&quot;https://whitehallmedia.co.uk/idmjun2023/&quot;&gt;IDM Identity Management&lt;/a&gt; conference. If you are interested in security in general, this is a good opportunity to join the both conferences.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/05/keyconf-23</guid>
        <pubDate>Thu, 4 May 2023 00:00:00 GMT</pubDate>
        
        <author>Marek Posolda</author>
      </item>
      <item>
        <title>New Keycloak maintainer: Sebastian Schuster</title>
        <link>https://www.keycloak.org/2023/05/maintainer-sschu</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are pleased to welcome &lt;a href=&quot;https://github.com/sschu&quot;&gt;Sebastian Schuster&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Sebastian has contributed to Keycloak since 2019, when he convinced his company Bosch to use Keycloak for identity and
access management. He has been active in the community providing help, taking part in discussions and contributing.
Behind him, there is a whole team at Bosch providing more than 60 contributions over the last years in various areas.
The declarative user profile was the most prominent feature contributed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;His company allows him to dedicate a considerable amount of time for Keycloak to help review contributions and reports
and get involved in discussions. Since Sebastian has got experience operating Keycloak on a wide scale over several
years, he will focus on topics around cloud-native and Keycloak operations like observability.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Not only will Sebastian on his own bring a lot of value to Keycloak, but he will also serve as an integration point for
Bosch to enable more contributions from his team, allowing them to contribute more value to Keycloak in the future.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/05/maintainer-sschu</guid>
        <pubDate>Tue, 2 May 2023 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 21.1.1 released</title>
        <link>https://www.keycloak.org/2023/04/keycloak-2111-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17514&quot;&gt;#17514&lt;/a&gt; SAML2 Client Signing Keys Config does not accept PEM import &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19469&quot;&gt;#19469&lt;/a&gt; ClientPolicies: Deserialization of `MultivaluedString ` config property doesn&#39;t work properly between new admin-ui and backend &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19513&quot;&gt;#19513&lt;/a&gt; Trusted Hosts configuration in Client Registration Policy not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19532&quot;&gt;#19532&lt;/a&gt; When editing JS policy, the text area with &quot;Code&quot; should be read-only &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19582&quot;&gt;#19582&lt;/a&gt; UI glitches in Users - Groups - Join Group &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19609&quot;&gt;#19609&lt;/a&gt; Declarative user profile attribute options validator is not added correctly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19673&quot;&gt;#19673&lt;/a&gt; Sessions displayed multiple times &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19800&quot;&gt;#19800&lt;/a&gt; Installation of keycloak-js fails with npm and yarn &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19801&quot;&gt;#19801&lt;/a&gt; Documentation doesn&#39;t have versions set properly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19803&quot;&gt;#19803&lt;/a&gt; `.\kc.bat start-dev` on Windows failed to start in 21.1.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19841&quot;&gt;#19841&lt;/a&gt; Upgrade from 21.0.2 to 21.1.0 fails on oracle db &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19850&quot;&gt;#19850&lt;/a&gt; Keycloak Quarkus Server dependency broken &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dependencies&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19867&quot;&gt;#19867&lt;/a&gt; Not possible to override default or built-in providers &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19875&quot;&gt;#19875&lt;/a&gt; Validators not saved when creating new User profile -&gt; Attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/04/keycloak-2111-released</guid>
        <pubDate>Wed, 26 Apr 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 21.1.0 released</title>
        <link>https://www.keycloak.org/2023/04/keycloak-2110-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;

    &lt;h2&gt;Release notes&lt;/h2&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_monorepo&quot;&gt;Monorepo&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the past Keycloak was maintained across multiple GitHub repositories:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-documentation&quot;&gt;Documentation repository&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-ui&quot;&gt;UI repository&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-nodejs-admin-client&quot;&gt;Node.js admin client repository&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Having multiple repositories introduced a lot of complexity and toil. For example frequently multiple pull requests had to be sent
to different repositories for a single change.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To simplify things we have now migrated everything into the &lt;a href=&quot;https://github.com/keycloak/keycloak&quot;&gt;main repository&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_fips_140_2_support&quot;&gt;FIPS 140-2 support&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FIPS 140-2 support in Keycloak, which was preview in the previous release, is now promoted to be officially supported.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_experimental_account_console_version_3&quot;&gt;Experimental Account Console version 3&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Account Console version 3 is now available as an experimental feature in Keycloak. This version supports custom fields created with the &#39;User Profile&#39; feature. If you are looking to try it out and provide us with some early feedback you can enable it as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bin/kc.sh start-dev --features=account3&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_changes_to_keycloak_authorization_services_support_in_keycloak_java_based_adapters&quot;&gt;Changes to Keycloak Authorization Services support in Keycloak Java-based Adapters&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of the removal of the &lt;a href=&quot;https://www.keycloak.org/2023/03/adapter-deprecation-update&quot;&gt;deprecated&lt;/a&gt; adapters, the Keycloak Policy Enforcer was extracted from the adapters code base
into a separate dependency:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-xml&quot; data-lang=&quot;xml&quot;&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;org.keycloak&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;keycloak-policy-enforcer&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;21.1.0&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By providing this dependency, we expect making it possible to integrate the policy enforcer with the Java stack of your preference.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It also provides built-in support for enabling the policy enforcer to Jakarta applications protected with &lt;a href=&quot;https://docs.wildfly.org/26/Admin_Guide.html#Elytron_OIDC_Client&quot;&gt;Wildfly Elytron&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For now, this dependency is not yet GA as we are still working on the quickstarts and documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This work should not impact existing applications using the deprecated adapters.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_javascript_engine_available_by_default&quot;&gt;Javascript engine available by default&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the previous version, when Keycloak was used on Java 17 with Javascript providers it was needed to add the Nashorn
javascript engine to the distribution. This is no longer needed as Nashorn javascript engine is available in Keycloak server by default.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10733&quot;&gt;#10733&lt;/a&gt; Keycloak to fire an event upon realm creation/deletion &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12363&quot;&gt;#12363&lt;/a&gt; Provide a Galleon feature pack to install the Keycloak Elytron SAML adapter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19524&quot;&gt;#19524&lt;/a&gt; Build Account Console v3 as Maven artifact and include it as a theme &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-quickstarts/issues/391&quot;&gt;#391&lt;/a&gt; Update javascript quickstarts to not copy nashorn &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-quickstarts &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11580&quot;&gt;#11580&lt;/a&gt; Proxy EDGE is not being reflected in the post_logout_redirect_uri - Admin Console Logut button &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15251&quot;&gt;#15251&lt;/a&gt; Add mapping UserSessionNoteMapper into UserInfo claims &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16573&quot;&gt;#16573&lt;/a&gt; Avoid resolving expressions twice but rely on MP config expression support &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17139&quot;&gt;#17139&lt;/a&gt; Try to use SimpleHttp to execute SOAP calls instead default HttpURLConnection &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17353&quot;&gt;#17353&lt;/a&gt; Decouple the policy enforcer from adapters and provide a separate library &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19540&quot;&gt;#19540&lt;/a&gt; Policy Enforcer built-in support for Elytron and Jakarta  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19560&quot;&gt;#19560&lt;/a&gt; Switch to quarkus-extension-maven-plugin &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8849&quot;&gt;#8849&lt;/a&gt; service-account leaking in get users API with &quot;exact&quot; query parameter set &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9564&quot;&gt;#9564&lt;/a&gt; Authentication Flow ID not imported &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9896&quot;&gt;#9896&lt;/a&gt; Override of SSO Session Max for client does not work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9959&quot;&gt;#9959&lt;/a&gt; Unexpected invalid_grant error on offline session refresh when maximum number of offline sessions is configured &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10164&quot;&gt;#10164&lt;/a&gt; id_token_hint for external IDP not sent after token expiry &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10412&quot;&gt;#10412&lt;/a&gt; Token contains old DB values with &quot;Always Read Value From LDAP&quot; mapper setting  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11330&quot;&gt;#11330&lt;/a&gt; Theme can auto-select rememberMe even if disabled in a realm &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11340&quot;&gt;#11340&lt;/a&gt; authentication checks cause &#39;Cookie not found&#39; error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11517&quot;&gt;#11517&lt;/a&gt; POST /{realm}/users/{id}/role-mappings/realm is returning 500 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11730&quot;&gt;#11730&lt;/a&gt; LDAP user attribute is not updated in local database &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12048&quot;&gt;#12048&lt;/a&gt; Items in dropdown menu for sharing resources are not visible &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12738&quot;&gt;#12738&lt;/a&gt; Revoking consent breaks for certain client IDs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13835&quot;&gt;#13835&lt;/a&gt; Remove `ClearExpiredUserSessions` from services module &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14280&quot;&gt;#14280&lt;/a&gt; Subject&#39;s common name user identity extractor doesn&#39;t work with some certificate with RDN multi-valued &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14613&quot;&gt;#14613&lt;/a&gt; 414 Request-URI Too Long &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14650&quot;&gt;#14650&lt;/a&gt; ciba authentication policy not found in keycloak 19 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14932&quot;&gt;#14932&lt;/a&gt; Default &#39;first broker login&#39; default first login flow for identity providers ignores realm user registration settings &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14933&quot;&gt;#14933&lt;/a&gt; jwks endpoint for X/Y coordinates in EC keypair can return less bytes than expected &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15098&quot;&gt;#15098&lt;/a&gt; IDENTITY_PROVIDER_FIRST_LOGIN is never triggered &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15476&quot;&gt;#15476&lt;/a&gt; NPE on welcome page if setting spi-theme-default and not providing theme &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15624&quot;&gt;#15624&lt;/a&gt; UserInfo: Role name mapper is not respected for user info endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16329&quot;&gt;#16329&lt;/a&gt; Service Accounts Client must create the Client ID mapper with Token Claim Name as client_id &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16448&quot;&gt;#16448&lt;/a&gt; Failed to obtain JDBC connection with built-in H2 in start-dev &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16484&quot;&gt;#16484&lt;/a&gt; When hitting the account client with the referrer parameter ,the AccountConsole doesn&#39;t support the relative Client URLs  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16587&quot;&gt;#16587&lt;/a&gt; Regression related to redirect url with port 80 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16844&quot;&gt;#16844&lt;/a&gt; Get UserInfo return 401 Unauthorized &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16848&quot;&gt;#16848&lt;/a&gt; New user from identity provider not having attribute mapped to user federation (LDAP) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16851&quot;&gt;#16851&lt;/a&gt; v20.0.2 attempts to URL decode same string up to 5 times for unclear reasons &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16888&quot;&gt;#16888&lt;/a&gt; Getting notification with unknown error when trying to create duplicated sub group. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16965&quot;&gt;#16965&lt;/a&gt; direct naked impersonation documentation is wrong &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17187&quot;&gt;#17187&lt;/a&gt; Docker auth: IllegalArgumentException on multiple resource scopes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17242&quot;&gt;#17242&lt;/a&gt; Typo in Outgoing HTTP requests documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17253&quot;&gt;#17253&lt;/a&gt; Container image from FIPS docs doesn&#39;t work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17322&quot;&gt;#17322&lt;/a&gt; Disabling features with disabled dependencies fails &quot;Feature account2 depends on disabled feature account-api&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17359&quot;&gt;#17359&lt;/a&gt; Connection string for ldap user federation with multiple hosts no longer supported &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17374&quot;&gt;#17374&lt;/a&gt; User session limit make account console crash and logout the user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17403&quot;&gt;#17403&lt;/a&gt; Keycloak 21.0.1 - Paging and filtering not working in &quot;Assign roles&quot; popup&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17439&quot;&gt;#17439&lt;/a&gt; [User Profile Enabled] Email/Password fields disappear from registration when Email as Username is on &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17441&quot;&gt;#17441&lt;/a&gt; Redirect loop with authentication success but access denied at default identity provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17456&quot;&gt;#17456&lt;/a&gt; Bug in SAML Redirect Binding with 2 validating certificates &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17539&quot;&gt;#17539&lt;/a&gt; Stepup issue on &quot;remember_me&quot; authentication : alreadyLoggedIn &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17549&quot;&gt;#17549&lt;/a&gt; SAML Signature metadata loses certificate info &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17561&quot;&gt;#17561&lt;/a&gt; group don&#39;t have any clickable link even though it have the access right permission on UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17569&quot;&gt;#17569&lt;/a&gt; Theme resource common path is always /keycloak/common &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17587&quot;&gt;#17587&lt;/a&gt; User with &quot;view-clients&quot; role cannot view credentials in Admin Console, but can still use the API to fetch them. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17588&quot;&gt;#17588&lt;/a&gt; admin-ui: authz unable to access child group when using fine grained auth &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17591&quot;&gt;#17591&lt;/a&gt; Username field when creating user when email is set as username &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17592&quot;&gt;#17592&lt;/a&gt; Admin console doesn&#39;t work in case realm name changed to name with space &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17620&quot;&gt;#17620&lt;/a&gt; /users/count endpoint with search field has different behavior than /users query endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17635&quot;&gt;#17635&lt;/a&gt; Error creating realm &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17671&quot;&gt;#17671&lt;/a&gt; docker image 21.0.1 lacks a Javascript engine &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17686&quot;&gt;#17686&lt;/a&gt; Invalid Frontend URL leads to NullPointerException in OIDC Endpoints &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17808&quot;&gt;#17808&lt;/a&gt; &quot;SAML signature key name&quot; attribute is not well forged &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17811&quot;&gt;#17811&lt;/a&gt; Identity Provider hard coded role mapper does not allow selection of all roles &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17850&quot;&gt;#17850&lt;/a&gt; New Admin Console does not import  X509 Certificate from metadata &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17933&quot;&gt;#17933&lt;/a&gt; Error! Failed to send email, and Error 400 API &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19057&quot;&gt;#19057&lt;/a&gt; Experimental configuration options included in the documentation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19083&quot;&gt;#19083&lt;/a&gt; [Keycloak 21.0.1] Identity provider JWKS public key is not editable via UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19094&quot;&gt;#19094&lt;/a&gt; Unable to use SAML entity descriptor with transient NameIDFormat &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19122&quot;&gt;#19122&lt;/a&gt; Read Only Attributes - Outdated configuration guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19126&quot;&gt;#19126&lt;/a&gt; Authentication flows first paragraph seems incomplete &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19128&quot;&gt;#19128&lt;/a&gt; UserFederationMapperFactory does not seem to exist anymore &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19134&quot;&gt;#19134&lt;/a&gt; client credentials tab not visible with &quot;view-clients&quot; role &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19145&quot;&gt;#19145&lt;/a&gt; Cannot produce an access token for the admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19162&quot;&gt;#19162&lt;/a&gt; Entity collections in Hibernate 6 can&#39;t be replaced &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19254&quot;&gt;#19254&lt;/a&gt; Admin-UI does not show all custom attributes of Authorization Resource &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19261&quot;&gt;#19261&lt;/a&gt; Flaky test: PhotozExampleLazyLoadPathsAdapterTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19273&quot;&gt;#19273&lt;/a&gt; Adapters tests are failing for EAP and wildfly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19321&quot;&gt;#19321&lt;/a&gt; Hibernate 6: UnsupportedOperationException: compare() not implemented for EntityType &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19324&quot;&gt;#19324&lt;/a&gt; Profile is created twice when resolving ignored artifacts &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19335&quot;&gt;#19335&lt;/a&gt; Custom implemention of OIDC Login Protocol doesn&#39;t get executed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19346&quot;&gt;#19346&lt;/a&gt; Sending &#39;application/jwt&#39; Accept header to GET userinfo endpoint returns a 406 error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19363&quot;&gt;#19363&lt;/a&gt; Incorrect documentation around password policies &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19396&quot;&gt;#19396&lt;/a&gt; memory leak when using ldap user federations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19397&quot;&gt;#19397&lt;/a&gt; Fix SSSDTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19404&quot;&gt;#19404&lt;/a&gt; Inconsistent use of Enum storage in legacy store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19444&quot;&gt;#19444&lt;/a&gt; Client policies tab crashes in admin console. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19515&quot;&gt;#19515&lt;/a&gt; Remove access not working in new account v2 app &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19662&quot;&gt;#19662&lt;/a&gt; Invalid parameter redirect_uri when using an invalid client_id &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/04/keycloak-2110-released</guid>
        <pubDate>Thu, 20 Apr 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 21.0.2 released</title>
        <link>https://www.keycloak.org/2023/03/keycloak-2102-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17161&quot;&gt;#17161&lt;/a&gt; Acquisition timeout while waiting for new connection &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17273&quot;&gt;#17273&lt;/a&gt; adding package using microdnf no longer works since keycloak version 21 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17277&quot;&gt;#17277&lt;/a&gt; Can&#39;t accept terms and conditions after upgrade from 20.0.3 to 21.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17281&quot;&gt;#17281&lt;/a&gt; Avoid recording raw UUIDs  URIs in metrics like http_server_requests_seconds collected via micrometer &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17337&quot;&gt;#17337&lt;/a&gt; `testReleaseAllLocksMethod` test is intermittently timing out with HotRod store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17417&quot;&gt;#17417&lt;/a&gt; Build on Windows fails &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17427&quot;&gt;#17427&lt;/a&gt; OutOfMemoryError when running Model Tests in CI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17790&quot;&gt;#17790&lt;/a&gt; Unable to use client tls certificate bound access token with the new admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17803&quot;&gt;#17803&lt;/a&gt; Accessibility/Identity Providers: Critical Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17804&quot;&gt;#17804&lt;/a&gt; Accessibility/Realm Settings: Critical Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17805&quot;&gt;#17805&lt;/a&gt; Accessibility/Groups: Critical Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17806&quot;&gt;#17806&lt;/a&gt; Accessibility/Users: Critical Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17807&quot;&gt;#17807&lt;/a&gt; Accessibility/Clients List: Critical Issues &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17810&quot;&gt;#17810&lt;/a&gt; Missing visual error information for &quot;Error while evaluating permissions&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17813&quot;&gt;#17813&lt;/a&gt; With KC21: Authentication flows &quot;used by&quot; shows the name of the flow, not of the bind &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17814&quot;&gt;#17814&lt;/a&gt; Wrong role required for Client Settings &gt; Advanced &gt; OpenID Connect Compatibility Modes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17815&quot;&gt;#17815&lt;/a&gt; Inconsistent SAML configuration generated for clients with forceNameId &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17816&quot;&gt;#17816&lt;/a&gt; admin-ui: authz permissions tab not updated when switching between groups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17817&quot;&gt;#17817&lt;/a&gt; Alerts don&#39;t show in Keycloak nightly, also disrupting user feedback on actions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17846&quot;&gt;#17846&lt;/a&gt; In Authorization --&gt; Evaluate, Users and Roles should not both be requred &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/03/keycloak-2102-released</guid>
        <pubDate>Thu, 30 Mar 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Update on deprecation of Keycloak adapters</title>
        <link>https://www.keycloak.org/2023/03/adapter-deprecation-update</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In 2022 we announced the deprecation of &lt;a href=&quot;https://www.keycloak.org/2022/02/adapter-deprecation.html&quot;&gt;deprecating Keycloak adapters&lt;/a&gt;, with
a plan to stop delivering most adapters in &lt;a href=&quot;https://www.keycloak.org/2022/03/releases.html&quot;&gt;Keycloak 19&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As we have not been able to make sufficient progress on finding alternatives and work on supporting material to help
migrating away from Keycloak adapters we are extending the life of the Keycloak adapters.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The plan is still to eventually stop delivering bespoke Keycloak adapters in the future, but we will do this in a more gradual process than previous laid out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We still strongly belive that the community as a whole are better served in the long run by us focusing more on the Keycloak server with full compliance and support for specifications such as OAuth 2.0 and OpenID Connect, and adding support for additional relevant extensions to the specifications.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We also believe by leaving the integration for various programming languages and frameworks to the relevant communities, the end result will be more extensive support, with more features and abilities, and last but not least better integrations and easy of use.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_oauth_2_0_and_openid_connect_adapters&quot;&gt;OAuth 2.0 and OpenID Connect adapters&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_java&quot;&gt;Java&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For Java applications there is now more than ever wide-spread support for OpenID Connect, where some examples include:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://jakarta.ee/specifications/security/3.0/jakarta-security-spec-3.0.html#openid-connect-annotation&quot;&gt;Jakarta Security 3.0&lt;/a&gt; - OpenID Connect support in Jakarta EE 10&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wildfly-security.github.io/wildfly-elytron/blog/securing-wildfly-apps-openid-connect/&quot;&gt;Elytron OIDC&lt;/a&gt; - OpenID Connect support in WildFly&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://quarkus.io/guides/security-openid-connect&quot;&gt;Quarkus OIDC&lt;/a&gt; - OpenID Connect support for Quarkus applications&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.spring.io/spring-security/reference/servlet/oauth2/index.html&quot;&gt;Spring Security&lt;/a&gt; - OAuth and OpenID Connect support in Spring&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.pac4j.org/&quot;&gt;Pac4j&lt;/a&gt; - The Java security framework to protect all your web applications and web services&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neither of these have support for Keycloak Authorization Services though, which is why we are planning to introduce a
generic Java client libraries for Authorization Services that can be leveraged with other OpenID Connect client libraries.
Expect this to be delivered in Keycloak 22.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Java adapters will remain for a while though, at least towards the end of the year, but likely not be removed
until early 2024. At the same time don&amp;#8217;t expect the adapters to be updated in terms of adding new features, enhancements, or supporting newer versions of
Tomcat, Jetty, WildFly, or Spring.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_node_js&quot;&gt;Node.js&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are still investigating alternatives for Node.js, so plan is available for those one just yet. Expect more information
to come later in the year. Regardless of the alternative we will deliver support for Keycloak Authorization Services to
Node.js.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Node.js adapter will remain, at least towards the end of the year, but likely not be removed until early 2024.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_client_side_javascript&quot;&gt;Client-side JavaScript&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For now the Keycloak client-side JavaScript adapter remains, but we are looking into alternatives as well as the potential
of completely overhauling our current adapter and continue maintaining and delivering this adapter.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_saml_2_0&quot;&gt;SAML 2.0&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are planning to continue supporting SAML 2.0 for WildFly and JBoss EAP in the long run, but support for Tomcat and
Jetty are likely to be removed relatively soon.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2023/03/adapter-deprecation-update</guid>
        <pubDate>Wed, 29 Mar 2023 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 21.0.1 released</title>
        <link>https://www.keycloak.org/2023/03/keycloak-2101-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;




&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17192&quot;&gt;#17192&lt;/a&gt; Duplicated set-cookie headers sent causing issues with proxies &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17248&quot;&gt;#17248&lt;/a&gt; MigrateT021_0_0 fails with NPE if adminTheme is not configured explictly &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17313&quot;&gt;#17313&lt;/a&gt; When upgrading from v20.0.2 to v21.0.0 I get a NPE on Theme &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/03/keycloak-2101-released</guid>
        <pubDate>Wed, 1 Mar 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 21.0.0 released</title>
        <link>https://www.keycloak.org/2023/02/keycloak-2100-released</link>
        <description>&lt;p&gt;To download the release go to &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;Keycloak downloads&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Upgrading&lt;/h2&gt;
&lt;p&gt;Before upgrading refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migration-changes&quot;&gt;the migration guide&lt;/a&gt; for a complete list of changes.&lt;/p&gt;

&lt;h2&gt;All resolved issues&lt;/h2&gt;


&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11698&quot;&gt;#11698&lt;/a&gt; Add an option allowing to disable client registration access token rotation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15271&quot;&gt;#15271&lt;/a&gt; Add support for Microsoft Authenticator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16107&quot;&gt;#16107&lt;/a&gt; Short verification_uri for Device Authorization Request &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16787&quot;&gt;#16787&lt;/a&gt; support multi hosted-domain in `GoogleIdentityProvider` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17037&quot;&gt;#17037&lt;/a&gt; Allow configuring of redirectUri for the cordova adapter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-documentation/issues/1738&quot;&gt;#1738&lt;/a&gt; Deprecate SHA1 based algorithms for SAML signatures &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-documentation &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-documentation/issues/1743&quot;&gt;#1743&lt;/a&gt; Documentation of some options of SAML IDP is not up-to-date &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak-documentation &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8820&quot;&gt;#8820&lt;/a&gt; Official Support for Microsoft mobile authenticator app &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8982&quot;&gt;#8982&lt;/a&gt; Blacklist false positive rate could be set a lot lower. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9008&quot;&gt;#9008&lt;/a&gt; Update client with registration access token gained by client registration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9017&quot;&gt;#9017&lt;/a&gt; Pre-authorization hook for client policies &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9144&quot;&gt;#9144&lt;/a&gt; Remove Hashicorp Support &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9388&quot;&gt;#9388&lt;/a&gt; Global lock interface &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9420&quot;&gt;#9420&lt;/a&gt; Use bulk deletes in HotRod store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9699&quot;&gt;#9699&lt;/a&gt; Include list of possible option values in help messages. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10018&quot;&gt;#10018&lt;/a&gt; JPA Map Storage: leverage function-based indexes (Postgresql) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10090&quot;&gt;#10090&lt;/a&gt; Remove workaround in HotRodUtils#paginateQuery &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10376&quot;&gt;#10376&lt;/a&gt; Add MapKeycloakTransaction.exists(id) method &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10988&quot;&gt;#10988&lt;/a&gt; Remove doubled field from HotRod entities &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11744&quot;&gt;#11744&lt;/a&gt; Remove `session.area().getById(id)` from Map provider methods &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12067&quot;&gt;#12067&lt;/a&gt; Investigate a way to update indexes in no-downtime way for HotRod store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12068&quot;&gt;#12068&lt;/a&gt; Leverage Infinispan lifespan for ExpirableEntities in HotRod storage &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12950&quot;&gt;#12950&lt;/a&gt; Implement &quot;advanced claim to group&quot; mapping for SAML &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13219&quot;&gt;#13219&lt;/a&gt; Followup: JPA Map store wants to use `hibernate.integrator_provider` in Quarkus &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13222&quot;&gt;#13222&lt;/a&gt; Followup: Revisit JTA vs. RESOURCE_LOCAL for JPA map storage for Quarkus and other Setups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13346&quot;&gt;#13346&lt;/a&gt; Cannot save profile on User Management Console while CJK characters in username &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13544&quot;&gt;#13544&lt;/a&gt; Quarkus testsuite should use storage=chm by default where it makes sense &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13606&quot;&gt;#13606&lt;/a&gt; Keycloak uses incorrect encryption keys as SAML identity brokers in SPSSODescriptor &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13632&quot;&gt;#13632&lt;/a&gt; File map storage: Basic storage &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13725&quot;&gt;#13725&lt;/a&gt; Make GHA Map-JPA base testsuite running with Quarkus &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14503&quot;&gt;#14503&lt;/a&gt; Allow to configure firstname and lastname to be optional during registration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14504&quot;&gt;#14504&lt;/a&gt; Ability to add fields in job template for KeycloakRealmImport CR &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14583&quot;&gt;#14583&lt;/a&gt; Provide partial import of realms for the map storage, ideally without needing a representation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14686&quot;&gt;#14686&lt;/a&gt; Add missing german translation for emailInstructionUsername &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14739&quot;&gt;#14739&lt;/a&gt; Improve readability and manageability of deployment configuration for operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14915&quot;&gt;#14915&lt;/a&gt; Cleanup setting of Hibernate version twice in root pom and Quarkus pom  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15026&quot;&gt;#15026&lt;/a&gt; Declarative user profile should allow to mark the email attribute as non required &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15053&quot;&gt;#15053&lt;/a&gt; Remove deprecated methods from `login-failure` area from `user-session` interface &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15223&quot;&gt;#15223&lt;/a&gt; Make sure the KeycloakSession is not closed more than once &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15234&quot;&gt;#15234&lt;/a&gt; Switch to micrometer metrics &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15256&quot;&gt;#15256&lt;/a&gt; Expose attribute metadata from the User API &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15374&quot;&gt;#15374&lt;/a&gt; Remove dependencies on Resteasy API and rely on JAX-RS API as much as possible &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15450&quot;&gt;#15450&lt;/a&gt; Remove unnecessary injection points from JAX-RS (sub)resources &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15507&quot;&gt;#15507&lt;/a&gt; JPA Map Storage: leverage function-based indexes (CockroachDB) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15525&quot;&gt;#15525&lt;/a&gt; Remove unnecessary injection points from our JAX-RS resources &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15576&quot;&gt;#15576&lt;/a&gt; Enable Oracle DB drivers for KeycloakServer in the testsuite utils &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15602&quot;&gt;#15602&lt;/a&gt; Remove injection points for Resteasy contextual data and use the Keycloak context instead &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15603&quot;&gt;#15603&lt;/a&gt; Keycloak distribution contains testing libraries &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15605&quot;&gt;#15605&lt;/a&gt; Avoid creating proxies at runtime for Rest-based SPIs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15612&quot;&gt;#15612&lt;/a&gt; Client registration service must not check client protocol for Bearer token &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15644&quot;&gt;#15644&lt;/a&gt; Review `set-quarkus-version.sh` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15666&quot;&gt;#15666&lt;/a&gt; Update to latest version of Keycloak Actionbot &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15677&quot;&gt;#15677&lt;/a&gt; Enumerate fields in autogenerated class descriptor &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15706&quot;&gt;#15706&lt;/a&gt; Create model-map-file module with empty implementations &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15740&quot;&gt;#15740&lt;/a&gt; ./kc.sh does not pickups conf/quarkus.properties &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15749&quot;&gt;#15749&lt;/a&gt; Add logging to KeycloakModelUtils.runJobInRetriableTransaction &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15810&quot;&gt;#15810&lt;/a&gt; Remove dependency on Resteasy Multipart Provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15811&quot;&gt;#15811&lt;/a&gt; Make sure JAX-RS resource methods are advertizing the media type they support &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15812&quot;&gt;#15812&lt;/a&gt; ConcurrentModificationException in DeclarativeUserProfileProvider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15846&quot;&gt;#15846&lt;/a&gt; Support autogeneration of camel case field names &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15885&quot;&gt;#15885&lt;/a&gt; Add write ability to file store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15890&quot;&gt;#15890&lt;/a&gt; Introduce tests for pessimistic locking usecases &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15901&quot;&gt;#15901&lt;/a&gt; Enable Infinispan Metrics &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15946&quot;&gt;#15946&lt;/a&gt; User Attribute Policy &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15977&quot;&gt;#15977&lt;/a&gt; Upgrade to Infinispan 14.0.4.Final &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16008&quot;&gt;#16008&lt;/a&gt; Update to JBoss Parent 39 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16020&quot;&gt;#16020&lt;/a&gt; Adding CRDB into GHA for the new store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16089&quot;&gt;#16089&lt;/a&gt; Normalize memory usage in tests and OOM behavior &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16091&quot;&gt;#16091&lt;/a&gt; Cache Maven Wrapper JAR in GitHub actions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16139&quot;&gt;#16139&lt;/a&gt; The search does not work if only partial information is entered &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16220&quot;&gt;#16220&lt;/a&gt; Clarify using of `--optimized` flag with DBs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16224&quot;&gt;#16224&lt;/a&gt; Incrementally cache consents on a per client basis &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16248&quot;&gt;#16248&lt;/a&gt; Keycloak operator. Add labels to keycloak PODs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16281&quot;&gt;#16281&lt;/a&gt; Keep consistency when importing realms at startup when they are exported via the `export` command &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16308&quot;&gt;#16308&lt;/a&gt; Compatibility with Maven4 build cache and parallel builds &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16320&quot;&gt;#16320&lt;/a&gt; Single client export bug &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16373&quot;&gt;#16373&lt;/a&gt; Remove invalid property from Operator properties &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16420&quot;&gt;#16420&lt;/a&gt; Support runnning tests using an embedded distribution &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16529&quot;&gt;#16529&lt;/a&gt; Move Admin UI custom REST endpoints to main repository &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16616&quot;&gt;#16616&lt;/a&gt; Make lockTimeout better configurable in JpaMapStorageProviderFactory &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16676&quot;&gt;#16676&lt;/a&gt; Create basic read-only file store &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16690&quot;&gt;#16690&lt;/a&gt; Make LockAcquiringTimeoutException a runtime exception &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16751&quot;&gt;#16751&lt;/a&gt; Do not enable caching metrics by default and provide a guide &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16807&quot;&gt;#16807&lt;/a&gt; KeycloakIngress (controller) should configure edge TLS when back-end protocol is HTTP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16892&quot;&gt;#16892&lt;/a&gt; Update proxy guide with information about session stickness &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16921&quot;&gt;#16921&lt;/a&gt; Recovery codes input error not displayed in the standardized way &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16962&quot;&gt;#16962&lt;/a&gt; Make it possible to run the embedded distribution in FIPS mode &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17133&quot;&gt;#17133&lt;/a&gt; Apply documentation standards to Getting Started Guides &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17134&quot;&gt;#17134&lt;/a&gt; Create an SPI for DeviceActivityManager &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17865&quot;&gt;#17865&lt;/a&gt; Add &quot;Encryption algorithm&quot; option of SAML IDP &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17935&quot;&gt;#17935&lt;/a&gt; Update message for &#39;Valid Post Logout Redirect URIs&#39; client option &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/18080&quot;&gt;#18080&lt;/a&gt; Testing running on release branches &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bugs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8833&quot;&gt;#8833&lt;/a&gt; Performing an external-to-internal token exchange with an ID token with provider mappers enabled results in `unknown_error`. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak token-exchange&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/8958&quot;&gt;#8958&lt;/a&gt; NullPointerException when editing a sub flow without a description &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9003&quot;&gt;#9003&lt;/a&gt; Documentation Error: User Storage SPI: CredentialInputValidator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9345&quot;&gt;#9345&lt;/a&gt; Can&#39;t join a node under certain conditions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9771&quot;&gt;#9771&lt;/a&gt; Hard-coded signature algorithm in token verification &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/9991&quot;&gt;#9991&lt;/a&gt; required action terms_and_conditions is not imported &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak import-export&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10668&quot;&gt;#10668&lt;/a&gt; Kerberos User Federation creates a user that does not exist &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10672&quot;&gt;#10672&lt;/a&gt; Kerberos User Federation creates a user that does not exist when username including &quot;//&quot; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10755&quot;&gt;#10755&lt;/a&gt; Replace operation set wrong lifespan in remote infinispan database and leads to session eviction &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10958&quot;&gt;#10958&lt;/a&gt; Client ID in LDAP Mappers User Federation doesn&#39;t align with Rename Client ID &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11608&quot;&gt;#11608&lt;/a&gt; Realm password policy regex does not work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11627&quot;&gt;#11627&lt;/a&gt; New cluster joiners hang while trying to preload remote sessions (not offline) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11726&quot;&gt;#11726&lt;/a&gt; Conflicting data returned for /users/id and /users endpoints when user is temporarily locked &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11783&quot;&gt;#11783&lt;/a&gt; Timeout when waiting for 3rd party check iframe message. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/javascript&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12039&quot;&gt;#12039&lt;/a&gt; Account console doesn&#39;t show the currently logged in user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12053&quot;&gt;#12053&lt;/a&gt; [SAML Broker] BadPaddingException because Keycloak uses signing key pair for decryption &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12523&quot;&gt;#12523&lt;/a&gt; DELETE user api uses inefficient SQL queries while deleting data from OFFLINE_CLIENT_SESSION  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12567&quot;&gt;#12567&lt;/a&gt; SQLGrammarException would occur if a user doesn&#39;t belong to any groups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12618&quot;&gt;#12618&lt;/a&gt; Role name containing &quot;;&quot;(semicolon) leads &quot;Resource not found...&quot; error in the admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12649&quot;&gt;#12649&lt;/a&gt; GET /{realm}/users/{id}/groups ignores &#39;search&#39; query parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12819&quot;&gt;#12819&lt;/a&gt; Inconsistent behavior of group attribute caching &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12913&quot;&gt;#12913&lt;/a&gt; Keycloak 18.0.2 mixed content issue. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12970&quot;&gt;#12970&lt;/a&gt; Public URL autodetection from request does not work when using reverse proxy on non standard ports &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12979&quot;&gt;#12979&lt;/a&gt; Admin console infinite redirect loop before password prompt &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13063&quot;&gt;#13063&lt;/a&gt; Setting hostname-admin=localhost redirects to keycloak.example.com &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13089&quot;&gt;#13089&lt;/a&gt; Infinispan/TCPPING does not span the cluster over all specified nodes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13114&quot;&gt;#13114&lt;/a&gt; Reencrypt proxy ignored with new operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13122&quot;&gt;#13122&lt;/a&gt; Deleting Users in Keycloak Cluster with 3 or more Nodes is not possible &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13148&quot;&gt;#13148&lt;/a&gt; keycloak(behind nginx)  .well-known/openid-configuration  path not return correct token or jwt url（custom port loss） &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13157&quot;&gt;#13157&lt;/a&gt; Response_mode not setup on request when using keycloak Java client  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13210&quot;&gt;#13210&lt;/a&gt; JPA Map Storage with CRDB: ConcurrentLoginTest failures &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13236&quot;&gt;#13236&lt;/a&gt; Username is removed when updating service account with empty/null email when declarative user profile and registrationEmailAsUsername is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13340&quot;&gt;#13340&lt;/a&gt; Performance Issues with many offline sessions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13354&quot;&gt;#13354&lt;/a&gt; LDAP integration doesn&#39;t map emails &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13656&quot;&gt;#13656&lt;/a&gt; I get these [com.arjuna.ats.arjuna] warnings and right after the readiness probe dies &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13988&quot;&gt;#13988&lt;/a&gt; 19 - update-email feature - email change does not affect the username when &quot;Email as username&quot; option is checked &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14035&quot;&gt;#14035&lt;/a&gt; User/User Profile API inconsistent behaviour : partial PUT clear all user fields when user profile enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14071&quot;&gt;#14071&lt;/a&gt; Keycloak docker container default theme environment variable not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14173&quot;&gt;#14173&lt;/a&gt; IDP Provider is hidden from the login form after the back button is pressed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14197&quot;&gt;#14197&lt;/a&gt; Configurable session limits bug on chrome &amp; edge &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14234&quot;&gt;#14234&lt;/a&gt; SigningInPage has wrong icon &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14323&quot;&gt;#14323&lt;/a&gt; Unexpected error when authenticating client: java.lang.RuntimeException: Illegal base64url string! &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14433&quot;&gt;#14433&lt;/a&gt; customized ingress resource is deleted as soon as a Keycloak pod is killed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14537&quot;&gt;#14537&lt;/a&gt; 400 for /token endpoint for Multiple Keycloak Servers &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14610&quot;&gt;#14610&lt;/a&gt; Default Build Failing Due to Test Failures &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14638&quot;&gt;#14638&lt;/a&gt; Keycloak 19.0.1 can not atrt with mariaDB 10.8.4 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14657&quot;&gt;#14657&lt;/a&gt; Keycloak 18.0.0 - Upgrade to 19.0.2 - ISPN Cache error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14689&quot;&gt;#14689&lt;/a&gt; User Session Count Limiter not working for some users &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14703&quot;&gt;#14703&lt;/a&gt; Email field that is not required still renders with an asterisk in registration form &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14772&quot;&gt;#14772&lt;/a&gt; Paging for &quot;Users in role&quot; is not guaranteed to work with JPA &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14794&quot;&gt;#14794&lt;/a&gt; Error when using similar keys with different algorithms in a jwks for identity provider signature validation &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14843&quot;&gt;#14843&lt;/a&gt; User password is visible on admin events tab &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/14884&quot;&gt;#14884&lt;/a&gt; Weird export/re-import behaviour regarding `post.logout.redirect.uris` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15008&quot;&gt;#15008&lt;/a&gt; Configure custom user provider results in RuntimeException: Failed to find provider map for user &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15021&quot;&gt;#15021&lt;/a&gt; Unable to create idp role mapper (oidc / saml) with old admin UI &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15060&quot;&gt;#15060&lt;/a&gt; Transaction deadlock with Microsoft SQL if &quot;sendStringParametersAsUnicode=false&quot; not set in db url properties &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15083&quot;&gt;#15083&lt;/a&gt; Status 500 when trying to retrieve non-existing external IDP token &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15093&quot;&gt;#15093&lt;/a&gt; JPA Map Storage: JpaRootAuthenticationSessionEntity constructor missing version parameter &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15116&quot;&gt;#15116&lt;/a&gt; Old admin console theme still visible for selection even though the corresponding feature is disabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15118&quot;&gt;#15118&lt;/a&gt; Build Timeouts on integration tests &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15231&quot;&gt;#15231&lt;/a&gt; Groups beyond first 10 are not accessible &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15236&quot;&gt;#15236&lt;/a&gt; Cannot convert undefined or null to object &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15252&quot;&gt;#15252&lt;/a&gt; Conditional Authentication flow - Deny Access Error Message - custom property not loaded &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15269&quot;&gt;#15269&lt;/a&gt; User Profile removes all user attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15278&quot;&gt;#15278&lt;/a&gt; KeycloakErrorHandler throws NPE if session is missing &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15295&quot;&gt;#15295&lt;/a&gt; AdminV2 not loading through reverse proxy (reencrypt)  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15324&quot;&gt;#15324&lt;/a&gt; KC_HTTP_RELATIVE_PATH --http-relative-path ingress or nginx not work &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15326&quot;&gt;#15326&lt;/a&gt; Multipod (kubernetes) upgrade from v19 to v20 fails &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak infinispan&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15346&quot;&gt;#15346&lt;/a&gt; Error when loading public keys &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15361&quot;&gt;#15361&lt;/a&gt; user_info not working after upgrading from 19.0.3 to 20.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15394&quot;&gt;#15394&lt;/a&gt; Admin account user name is forcibly changed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15412&quot;&gt;#15412&lt;/a&gt; All configurations documentation lists database vendor as a build configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15422&quot;&gt;#15422&lt;/a&gt; Keycloak User Federation Provider LDAP connection with Azure Active Directory connection is unsuccessful.  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15429&quot;&gt;#15429&lt;/a&gt; NPE in userinfo endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15431&quot;&gt;#15431&lt;/a&gt; User Profile Attributes not showing up in Admincp User view and User account management view &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15432&quot;&gt;#15432&lt;/a&gt; Startup Fails with NullPointerException in Kubernetes with Keycloakx Helm chart &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15449&quot;&gt;#15449&lt;/a&gt; Not able to create user with non english character in Keycloak 14 environment &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15482&quot;&gt;#15482&lt;/a&gt; User Federation: getReadable() can throw a NPR for a federated user if the user has no attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15485&quot;&gt;#15485&lt;/a&gt; 12.0.4 - User names fields accept special characters  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15487&quot;&gt;#15487&lt;/a&gt; Flaky test: Model Tests DBLockTest  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15493&quot;&gt;#15493&lt;/a&gt; make nginx certificate-lookup thread safe &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15497&quot;&gt;#15497&lt;/a&gt; Unknown bind DN using LDAP anonymous bind aka bind type none &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15503&quot;&gt;#15503&lt;/a&gt; Flaky tests: Connection timed out to repo.maven &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15538&quot;&gt;#15538&lt;/a&gt; Custom admin theme not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15539&quot;&gt;#15539&lt;/a&gt; Invalid redirect uri / &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15558&quot;&gt;#15558&lt;/a&gt; UserSessionProviderTest#testOnClientRemoved fails on CockroachDB &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15564&quot;&gt;#15564&lt;/a&gt; Flaky test: RequiredActionTotpSetupTest.setupTotpExistingReusableCodeDisabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15566&quot;&gt;#15566&lt;/a&gt; Failed to generate javadoc &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15571&quot;&gt;#15571&lt;/a&gt; Keycloak 20.0 - Build Configurations not applied? KC_FEATURES=token-exchange &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15607&quot;&gt;#15607&lt;/a&gt; JDK 17 InaccessibleObjectException with infinispan &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15608&quot;&gt;#15608&lt;/a&gt; Keycloak wrongly assumes that the default datasource is the first one &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15614&quot;&gt;#15614&lt;/a&gt; Fix update of group mappers on certain changes of the group path &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15656&quot;&gt;#15656&lt;/a&gt; Password change sometimes triggers error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15668&quot;&gt;#15668&lt;/a&gt; User Profile: Editing the username attribute adds empty permissions &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15685&quot;&gt;#15685&lt;/a&gt; Search by group attributes might break on OracleDB  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15687&quot;&gt;#15687&lt;/a&gt; IdentityProviderModel from third party packages are ignored &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak identity-brokering&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15699&quot;&gt;#15699&lt;/a&gt; Unique constraints should use attribute value hash instead of the value itself &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15701&quot;&gt;#15701&lt;/a&gt; Unable to run map-storage-jpa tests with custom Postgres image &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15712&quot;&gt;#15712&lt;/a&gt; Keycloak won&#39;t start due to Unsupported database file version or invalid file header in file &quot;/var/lib/keycloak/data/h2/keycloakdb.mv.db&quot; [90048-214] &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15718&quot;&gt;#15718&lt;/a&gt; Flaky test: RefreshTokenTest.tokenRefreshRequest_ClientES512_RealmRS256 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15738&quot;&gt;#15738&lt;/a&gt; ERROR: Failed to start server in (production) mode after update from 19.0.3 quarkus to 20.0.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15739&quot;&gt;#15739&lt;/a&gt; Device Authorization Grant fails with valid S256 code challenge &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15744&quot;&gt;#15744&lt;/a&gt; CORS error from token endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15761&quot;&gt;#15761&lt;/a&gt; Flaky test: JavascriptAdapterTest.implicitFlowOnTokenExpireTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15767&quot;&gt;#15767&lt;/a&gt; Make KeycloakDeploymentBuilder initialize CryptoIntegration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15777&quot;&gt;#15777&lt;/a&gt; Can&#39;t change &#39;Restart login&#39; &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15781&quot;&gt;#15781&lt;/a&gt; kc 19.0.3 with oracle 11g: realm export with users leads SQL Error: 1000, SQLState: 72000 (maximum open cursors exceeded) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15801&quot;&gt;#15801&lt;/a&gt; Multiple failures in Model Tests &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15803&quot;&gt;#15803&lt;/a&gt; Keycloak upgrade fails: relation databasechangeloglock already exists &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15806&quot;&gt;#15806&lt;/a&gt; Console not login since Keycloak 19+ &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15807&quot;&gt;#15807&lt;/a&gt; fix typo in kcWebAuthnKeyIcon &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15817&quot;&gt;#15817&lt;/a&gt; Get opentid token server error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15823&quot;&gt;#15823&lt;/a&gt; Overriding email template provider according to guide fails  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15824&quot;&gt;#15824&lt;/a&gt;  Failed to find Liquibase implementation when using Postgres DB  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15849&quot;&gt;#15849&lt;/a&gt; JPA Map Storage: Add transaction retry logic to LoginActionsService.authenticate &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15869&quot;&gt;#15869&lt;/a&gt; Upload Script error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15886&quot;&gt;#15886&lt;/a&gt; After changing URL, admin console load old URL &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15889&quot;&gt;#15889&lt;/a&gt; Keycloak 20.0.1 on Oracle Database - ORA-00932: inconsistent datatypes: expected - got NCLOB &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15894&quot;&gt;#15894&lt;/a&gt; Sign in to your account with SAML integration resulting in &quot;Unexpected error when authenticating with identity provider&quot; and no error found on logs. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak saml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15904&quot;&gt;#15904&lt;/a&gt; Flaky test: HostnameDistTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15916&quot;&gt;#15916&lt;/a&gt; Java 17 support not given &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15921&quot;&gt;#15921&lt;/a&gt; Can not set Context path on Keycloak 20 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15925&quot;&gt;#15925&lt;/a&gt; JAVA_OPTS_APPEND does not allow overriding the ipv4/ipv6 setting &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15944&quot;&gt;#15944&lt;/a&gt; API call to get user profile config should allow any admin role. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15952&quot;&gt;#15952&lt;/a&gt; export client saml key JKS from realm ui admin theme keycloakv2 give invalid JKS &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16002&quot;&gt;#16002&lt;/a&gt; Health Check failure when KC_HTTP_RELATIVE_PATH set on 20.0.0 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16030&quot;&gt;#16030&lt;/a&gt; Better error handling on startup &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16046&quot;&gt;#16046&lt;/a&gt; GHA are not running HotRod tests because of config error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16047&quot;&gt;#16047&lt;/a&gt; NPE while trying to access the list of users in the admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16048&quot;&gt;#16048&lt;/a&gt; Flaky test: OfflineServletsAdapterTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16053&quot;&gt;#16053&lt;/a&gt; `FieldsGenerator` doesn&#39;t generate `getMapKeyClass()` and `getMapValueClass()` for `Map&lt;String, String&gt; config` fields &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16067&quot;&gt;#16067&lt;/a&gt; Title/header of Admin REST API page incorrectly shows placeholder &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak docs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16069&quot;&gt;#16069&lt;/a&gt; Stuck at Loading the admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/cli&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16078&quot;&gt;#16078&lt;/a&gt; Flaky test: UserSessionConcurrencyTest.testConcurrentNotesChange &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16079&quot;&gt;#16079&lt;/a&gt; Flaky test: UserSessionExpirationTest&gt;KeycloakModelTest.createEnvironment &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16099&quot;&gt;#16099&lt;/a&gt; Keycloak admin page is not loading &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16108&quot;&gt;#16108&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#spnegoLoginTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16109&quot;&gt;#16109&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#validatePasswordPolicyTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16110&quot;&gt;#16110&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#testClientOverrideFlowUsingBrowserHttpChallenge &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16111&quot;&gt;#16111&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#writableEditModeTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16112&quot;&gt;#16112&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#spnegoCaseInsensitiveTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16113&quot;&gt;#16113&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#usernamePasswordLoginTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16114&quot;&gt;#16114&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#credentialDelegationTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16115&quot;&gt;#16115&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#spnegoLoginWithRequiredKerberosAuthExecutionTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16116&quot;&gt;#16116&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#spnegoNotAvailableTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16117&quot;&gt;#16117&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.kerberos.KerberosLdapTest#spnegoWithInvalidTokenTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16125&quot;&gt;#16125&lt;/a&gt; Warning printed in Keycloak CI jobs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16130&quot;&gt;#16130&lt;/a&gt; Flaky test: org.keycloak.testsuite.cookies.CookiesPathTest#testOldCookieWithNodeInValue &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16131&quot;&gt;#16131&lt;/a&gt; Flaky test: org.keycloak.testsuite.cookies.CookiesPathTest#testMultipleCookies &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16132&quot;&gt;#16132&lt;/a&gt; Flaky test: org.keycloak.testsuite.cookies.CookiesPathTest#testOldCookieWithWrongPath &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16133&quot;&gt;#16133&lt;/a&gt; Flaky test: org.keycloak.testsuite.cookies.CookiesPathTest#testCookiesPath &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16143&quot;&gt;#16143&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.LoginTest#loginWithoutForcePasswordChangePolicy &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16174&quot;&gt;#16174&lt;/a&gt; Username is not updated if email was changed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16191&quot;&gt;#16191&lt;/a&gt; Keycloak 20.0.1 quarkus Distro is failing with MSSqlServer on second time restart &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16202&quot;&gt;#16202&lt;/a&gt; LinkageError for FipsMode during startup &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16211&quot;&gt;#16211&lt;/a&gt; AccountConsole leaks translated messages into cached theme &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16216&quot;&gt;#16216&lt;/a&gt; Some authorization adapter test failing on Java 17 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16222&quot;&gt;#16222&lt;/a&gt; operator doesn&#39;t watch other namespaces &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16232&quot;&gt;#16232&lt;/a&gt; Flaky test: org.keycloak.testsuite.admin.UserTest.sendResetPasswordEmailWithCustomLifespan &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16240&quot;&gt;#16240&lt;/a&gt; SAMLServletAdapterTest and SAMLFilterServletAdapterTest failing on Java 17 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16255&quot;&gt;#16255&lt;/a&gt; Field generator: `getCollectionElementClass` method not generated when no addElement method is present in interface &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16261&quot;&gt;#16261&lt;/a&gt; io.quarkus.builder.BuildException caused by java.lang.OutOfMemoryError: unable to create native thread &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16263&quot;&gt;#16263&lt;/a&gt; Do not show username field when updating profile if UPDATE_EMAIL feature is enabled and email as username is enabled &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16274&quot;&gt;#16274&lt;/a&gt; Read-only user attributes error from Keycloak Admin API &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16283&quot;&gt;#16283&lt;/a&gt; No data stored in external database (MariaDB) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16290&quot;&gt;#16290&lt;/a&gt; Migrating from keycloak 15 to keycloak 20.0.1: If we pass wrong username then getting Internal Server Error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16297&quot;&gt;#16297&lt;/a&gt; NPE if user not exists in PolicyEvaluationRequest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16306&quot;&gt;#16306&lt;/a&gt;  Role/Group based authentication not working for users authenticated by External IdPs (Azure AD, GitHub etc) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16313&quot;&gt;#16313&lt;/a&gt; In CI, new-store-integration-tests for CRDB is sometimes cancelled after 70 minutes &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16317&quot;&gt;#16317&lt;/a&gt; EntityField `mapPut` and  `collectionAdd` default methods doesn&#39;t insert an element when `get(e)` returns `null` &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16330&quot;&gt;#16330&lt;/a&gt; Hibernate 6 upgrade: native query registration &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16332&quot;&gt;#16332&lt;/a&gt; Hibernate 6 upgrade: unable to extract query parameter name in QueryCacheKey &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16333&quot;&gt;#16333&lt;/a&gt; Email theme is not working after update to 20.0.2 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak translations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16334&quot;&gt;#16334&lt;/a&gt; Hibernate 6 upgrade: API changes in JpaAutoFlushListener &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16335&quot;&gt;#16335&lt;/a&gt; Hibernate 6 upgrade: valueType in `JsonbType` is no longer set &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16336&quot;&gt;#16336&lt;/a&gt; Hibernate 6 upgrade: JSON functions need to be registered using new APIs &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16337&quot;&gt;#16337&lt;/a&gt; Hibernate 6 upgrade: Entity -&gt; id mapping no longer automatically done &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16347&quot;&gt;#16347&lt;/a&gt; Priority order of protocol mappers &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16401&quot;&gt;#16401&lt;/a&gt; Clients secret with % for clients (access type : confidential) have to be encoded &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authorization-services&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16403&quot;&gt;#16403&lt;/a&gt; Keycloak - Missing data in the userinfo response &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16443&quot;&gt;#16443&lt;/a&gt; Keycloak 19.0.1 search from UI bug &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16465&quot;&gt;#16465&lt;/a&gt; ElytronSessionTokenStore#logoutHttpSessions() does not work as expected due to UNDERTOW-2159 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak adapter/jee&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16467&quot;&gt;#16467&lt;/a&gt; The user could not be deleted unknown_error &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16502&quot;&gt;#16502&lt;/a&gt; Hibernate 6 upgrade: Warning about missing Bean Validation provider &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16513&quot;&gt;#16513&lt;/a&gt; Wrong property for events in map-storage-hot-rod on Undertow &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16514&quot;&gt;#16514&lt;/a&gt; Flaky tests: DateTimeParse failures in New Account Console tests &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16538&quot;&gt;#16538&lt;/a&gt; Quarkus 3: Model tests fail to finish &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16552&quot;&gt;#16552&lt;/a&gt; JpaClientModelCriteriaBuilder doesn&#39;t work correctly with H6 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16584&quot;&gt;#16584&lt;/a&gt; Userinfo Endpoint Gives 500 (nullpointerexception) on POST request &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16586&quot;&gt;#16586&lt;/a&gt; Upgrading from keycloak 20.0.1-20.0.2+ breaks app logout &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak oidc&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16592&quot;&gt;#16592&lt;/a&gt; Memory leak when running the embedded server &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16605&quot;&gt;#16605&lt;/a&gt; http-relative-path is not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16622&quot;&gt;#16622&lt;/a&gt; Snyk workflow failing when running the checks against the Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16634&quot;&gt;#16634&lt;/a&gt; Hibernate Error performing load command with JDK 17 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16642&quot;&gt;#16642&lt;/a&gt; Database migrations are not transactional &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16649&quot;&gt;#16649&lt;/a&gt; Fixing OfflineSessionPersistenceTest in Quarkus3 branch &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16657&quot;&gt;#16657&lt;/a&gt; Flaky test: org.keycloak.common.ProfileTest#enablePreviewWithPropertiesFile &amp; #configWithPropertiesFile &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16658&quot;&gt;#16658&lt;/a&gt; Label for &quot;Review Profile config&quot; modal is not displayed properly in new admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16669&quot;&gt;#16669&lt;/a&gt; Flaky test: org.keycloak.testsuite.ui.account2.WelcomeScreenTest#resourcesTest &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16679&quot;&gt;#16679&lt;/a&gt; Update Email Action does not properly update username if username=email is active &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16684&quot;&gt;#16684&lt;/a&gt; cannot open admin console after upgrade to 20.0.3 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16693&quot;&gt;#16693&lt;/a&gt; Hibernate 6 referencing m:n association from both entities with both `joinColumns` and `inverseJoinColumns` causes interference &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16705&quot;&gt;#16705&lt;/a&gt; Snyk Workflow failing due to the usage of the same category on multiple sections &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16711&quot;&gt;#16711&lt;/a&gt; SAML tests in quarkus3 branch failing due to missing SAAJ factory &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16721&quot;&gt;#16721&lt;/a&gt; Failing tests due to outdated X509Certificate request attribute name &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16727&quot;&gt;#16727&lt;/a&gt; Keycloak 20.0.3 container does not support Java 17 &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16743&quot;&gt;#16743&lt;/a&gt; ArtifactBindingTest fails on quarkus 3 branch with ClassNotFoundException &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16745&quot;&gt;#16745&lt;/a&gt; ISPN000559: Cannot marshall &#39;class org.infinispan.marshall.protostream.impl.MarshallableUserObject&#39;: java.io.NotSerializableException: org.keycloak.models.cache.infinispan.entities.NonExistentItem &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16775&quot;&gt;#16775&lt;/a&gt; Operator ignores DB vendor when using custom image. Forces h2 instead of chosen vendor. &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak operator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16797&quot;&gt;#16797&lt;/a&gt; Make sure PBKDF2 providers are using the expect size for derived keys  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak authentication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16801&quot;&gt;#16801&lt;/a&gt; Log message about leaked statement in JPA map storage  &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16804&quot;&gt;#16804&lt;/a&gt; Connection Refused on Quarkus Tests &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak dist/quarkus&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16818&quot;&gt;#16818&lt;/a&gt; Any tests using PhantomJS failing in some newer linux environments &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16857&quot;&gt;#16857&lt;/a&gt; Fix `Overwriting value of clientRole field` log message &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16880&quot;&gt;#16880&lt;/a&gt; Keycloak LDAPS does not find valid certification path to requested target in Production &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ldap&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16899&quot;&gt;#16899&lt;/a&gt; [typing] user.listGroups typing seems incorrect &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16901&quot;&gt;#16901&lt;/a&gt; Can&#39;t update user groups &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/client-js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16974&quot;&gt;#16974&lt;/a&gt; Trivy Workflow failing with context deadline exceeded &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16988&quot;&gt;#16988&lt;/a&gt; application/x-unknown-content-type when loading admin console JS and CSS &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17010&quot;&gt;#17010&lt;/a&gt; Changing realm id will not update relative URLs in `account-console` client &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17022&quot;&gt;#17022&lt;/a&gt; lastSync value into COMPONENT_CONFIG is always updated &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak core&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17029&quot;&gt;#17029&lt;/a&gt; File store path traversal &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17141&quot;&gt;#17141&lt;/a&gt; Exception in log: Response already committed, can&#39;t be changed &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak storage&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17162&quot;&gt;#17162&lt;/a&gt; build failed with pom can not import &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak ci&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17197&quot;&gt;#17197&lt;/a&gt; Discovery document is missing mandatory fields &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak account/api&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17216&quot;&gt;#17216&lt;/a&gt; Link &quot;Sign out&quot; incorrectly hardcoded to localhost in the authz example applications &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak testsuite&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17833&quot;&gt;#17833&lt;/a&gt; Paging doesn&#39;t work on filtered tables &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17870&quot;&gt;#17870&lt;/a&gt; User profile - Button email verified doesn&#39;t appear &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17874&quot;&gt;#17874&lt;/a&gt; Client assertion signature configuration of identity broker is missing on new security admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17887&quot;&gt;#17887&lt;/a&gt; User profile - Validation Options not working &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17914&quot;&gt;#17914&lt;/a&gt; Client Advanced Settings: Access Token Lifespan displayed as &quot;Never expires&quot; when realm value is used (default 1h) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17919&quot;&gt;#17919&lt;/a&gt; Federation Link no longer visible for Users &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17920&quot;&gt;#17920&lt;/a&gt; User profile - firstName not showing &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17921&quot;&gt;#17921&lt;/a&gt; [Keycloak  20.0.1 ] JWKS url can&#39;t be configured &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17925&quot;&gt;#17925&lt;/a&gt; New admin console missing action that allows synchronizing LDAP groups to Keycloak &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17937&quot;&gt;#17937&lt;/a&gt; Custom User Provider SPI: MULTIVALUED_STRING_TYPE setting not being shown on ui (but saved and retrieved) &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17968&quot;&gt;#17968&lt;/a&gt; Azure AD Error: AADSTS90023: Unsupported &#39;prompt&#39; value &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17974&quot;&gt;#17974&lt;/a&gt; Align user profile UI with the behavior from the old admin console &lt;span class=&quot;badge bg-secondary&quot;&gt;keycloak user-profile&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2023/02/keycloak-2100-released</guid>
        <pubDate>Thu, 23 Feb 2023 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>FIPS 140-2 experimental support</title>
        <link>https://www.keycloak.org/2022/11/fips</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are glad to announce that latest Keycloak 20 release contains experimental support for FIPS 140-2!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;a href=&quot;https://csrc.nist.gov/publications/detail/fips/140/2/final&quot;&gt;FIPS 140-2 standard&lt;/a&gt; is a set of requirements for cryptography modules, which needs
to be met for the software used by U.S. governments and related parties. The FIPS compliant software should use only secure cryptography algorithms
allowed by the FIPS specification and must use them in a secured way. Keycloak does not directly implement any cryptography algorithms, however it
internally needs to use lots of cryptography functionalities. For this purpose, Keycloak mostly relies on the &lt;a href=&quot;https://docs.oracle.com/en/java/javase/11/security/java-cryptography-architecture-jca-reference-guide.html&quot;&gt;Java cryptography SPI&lt;/a&gt;
and 3rd party libraries for implementing cryptography related functionality - especially the &lt;a href=&quot;https://www.bouncycastle.org/java.html&quot;&gt;BouncyCastle library&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FIPS support is usually enabled at the OS level. For example, during installation of &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/assembly_installing-a-rhel-8-system-with-fips-mode-enabled_security-hardening&quot;&gt;RHEL 8.6&lt;/a&gt;
, you can enable kernel flag during OS installation to make sure that your OS is FIPS compliant. When FIPS is enabled at the OS level, it means that various
packages including OpenJDK are also set to be FIPS compliant and are pre-configured to rely on FIPS approved functions. For example &lt;code&gt;java.security&lt;/code&gt; configuration file is pre-configured to contain
only FIPS compliant security providers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The FIPS support in Keycloak means that the Keycloak server can run on the FIPS compliant OS with FIPS compliant Java. It also means that the Keycloak server is FIPS compliant and can be used
by parties, which strictly require FIPS 140-2 support. Even if you do not use the FIPS enabled OS, you can still try the FIPS enabled Keycloak server by using custom &lt;code&gt;java.security&lt;/code&gt; file with only
BouncyCastle-FIPS security providers configured as described in the instructions below in the step 4.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https://github.com/david-rh&quot;&gt;David Anderson&lt;/a&gt;, who contributed parts of this feature. Also, thanks to &lt;a href=&quot;https://github.com/sudeepd&quot;&gt;Sudeep Das&lt;/a&gt;
and &lt;a href=&quot;https://github.com/isaacjensen&quot;&gt;Isaac Jensen&lt;/a&gt; for their initial prototype effort, which was used as an inspiration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_instructions&quot;&gt;Instructions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Instructions for how to try FIPS support in Keycloak are &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/fips.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_conclusion&quot;&gt;Conclusion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be happy for you to try Keycloak FIPS integration and share your &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/new?category=feedback&amp;amp;title=%5BUser%20feedback%20for%20FIPS%5D%20&amp;amp;labels=team/core-features&quot;&gt;feedback&lt;/a&gt;!
Also you can report any &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/new?title=%5BFIPS%20integration%20bug%5D%20&amp;amp;labels=team/core-features,area/core,kind/bug&amp;amp;template=bug.yml&quot;&gt;bugs&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The known limitation in the BCFIPS non-approved mode include:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Possible issues when using SAML clients and SAML Identity providers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Kerberos/SPNEGO authenticator does not work&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;X.509 client certificate authentication may not work for both users and clients&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In BCFIPS approved mode (more strict mode), more limitations exist such as:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;User passwords must be at least 14 characters long. You should set a password policy for your realm to be 14 characters to avoid issues during registration/authentication of users&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keystore/truststore must be of type &lt;code&gt;bcfks&lt;/code&gt; because neither &lt;code&gt;jks&lt;/code&gt; and &lt;code&gt;pkcs12&lt;/code&gt; work. This is a restriction of BCFIPS approved mode&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Some warnings in the server.log at startup&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/11/fips</guid>
        <pubDate>Wed, 16 Nov 2022 00:00:00 GMT</pubDate>
        
        <author>Marek Posolda</author>
      </item>
      <item>
        <title>New Keycloak maintainer: Michal Hajas</title>
        <link>https://www.keycloak.org/2022/09/mhajas</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are pleased to welcome &lt;a href=&quot;https://github.com/mhajas&quot;&gt;Michal Hajas&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Michal has been with the Keycloak project since September 2015, and since that period has &lt;a href=&quot;https://github.com/keycloak/keycloak/commits?author=mhajas&quot;&gt;contributed&lt;/a&gt;
to almost every component of Keycloak - core server, authorization services, adapters, javascript, code auto-generation,
legacy operator - either by review or code contribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since his first involvement, he has steadily contributed code, currently &lt;a href=&quot;https://github.com/keycloak/keycloak/graphs/contributors&quot;&gt;ranked as #8 highest contributor&lt;/a&gt;.
Lately, he has designed and co-developed Hot Rod storage and has been instrumental in overall establishing the new map storage.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;He reviews community contributions and offers help to finalize PRs, as well as participates in community discussions and
issue triaging. He understands and respects the code of conduct, and in reviews helps maintaining it.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/09/mhajas</guid>
        <pubDate>Fri, 16 Sep 2022 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>The future of Keycloak Operator CRs</title>
        <link>https://www.keycloak.org/2022/09/operator-crs</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A while back, we have &lt;a href=&quot;https://www.keycloak.org/2021/10/keycloak-x-update.html#_operator_and_containers&quot;&gt;announced&lt;/a&gt; a new
Operator rewritten from scratch to provide the best experience for the Quarkus distribution. While the
&lt;a href=&quot;https://github.com/keycloak/keycloak-operator&quot;&gt;legacy Operator&lt;/a&gt; is now deprecated and
&lt;a href=&quot;https://www.keycloak.org/2022/03/releases.html&quot;&gt;will reach EOL with Keycloak 20&lt;/a&gt;, the
&lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/operator&quot;&gt;new one&lt;/a&gt; is already available as
a preview, see the &lt;a href=&quot;https://www.keycloak.org/operator/installation&quot;&gt;installation guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the most common concerns around the new Operator is the current lack of the CRDs for managing Keycloak resources,
such as realm, users and clients, in a cloud-native way. One of the key aspects of the new Operator will be redesign
of managing these Keycloak resources via CRs and git-ops. This new approach will leverage
the &lt;a href=&quot;https://www.keycloak.org/2022/07/storage-map.html&quot;&gt;new storage architecture&lt;/a&gt; and future immutability options,
making the CRs the declarative single source of truth. In comparison to the legacy Operator, this will bring high robustness,
reliability, and predictability to the whole solution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before we would consider operator ready for leveraging CRs, we expect completing several features including but not
limited to:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;File store (expected in Keycloak 20) to persist data in a file instead of DB.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read-only possibilities for administration REST API, UI Console and other interfaces. This is required for the new immutability concept
which will be used to ensure any data coming from the CRs (and subsequently from the file store) are read-only from
all interfaces.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All of this is critical to proper CRs implementation, hence the new Operator is currently missing the CRDs for managing
Keycloak resources. The missing CRDs will be added once Keycloak has the necessary support for it, which is currently
expected in Keycloak 21.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We have prepared a few options to alleviate the situation with missing CRDs
in &lt;a href=&quot;https://github.com/keycloak/keycloak-realm-operator&quot;&gt;this repository&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/09/operator-crs</guid>
        <pubDate>Fri, 2 Sep 2022 00:00:00 GMT</pubDate>
        
        <author>Václav Muzikář</author>
      </item>
      <item>
        <title>New Keycloak maintainer: Václav Muzikář</title>
        <link>https://www.keycloak.org/2022/08/vaclav</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are pleased to welcome &lt;a href=&quot;https://github.com/vmuzikar&quot;&gt;Václav Muzikář&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Vašek has consistently collaborated to the success of Keycloak since 2015 when he joined Red Hat. He is known for his various contributions to our test suite, the Quickstarts, integration tests for the Node.js Adapter, improvements in the new Account Console, security auditing of our REST Account API, enhancement to our pipelines and also the maintenance and development of Keycloak Operator. Now he is coordinating the efforts on Cloud-Native development which includes the new Quarkus distribution and the new Operator.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;He has shown his commitment to the Keycloak community collaborating on design discussions, participating in GitHub discussions, reviewing pull-requests, answering questions on the Keycloak mailing lists, contributing to new features, bug fixes and triaging GitHub issues.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team is very excited to welcome Vašek as our new maintainer and long-time contributor.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/08/vaclav</guid>
        <pubDate>Thu, 4 Aug 2022 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>New storage in Keycloak</title>
        <link>https://www.keycloak.org/2022/07/storage-map</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The current store in Keycloak has some known limitations.
For small deployments, it takes too long to initialize the database and
start Keycloak. There is no native support for cloud-native deployment.
Upgrading to a new Keycloak version often means a requirement for stop-the-world
updates with little chance for no downtime upon upgrade.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 19 brings in an early preview of the future Keycloak store supporting
no-downtime upgrades, per-realm storage, and cloud-nativity from its very inception.
This so called &lt;em&gt;map&lt;/em&gt; storage stays focused at delivering optimal experience and thus
limits its support to Postgres and CockroachDB databases, and Infinispan datastore.
The early preview is available in the Quarkus distribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This early preview lacks several features necessary for optimal performance
and is thus not yet production ready; still we have a plan to deliver those:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In Keycloak 20, expect improved support especially for CockroachDB;
and also a file-based store. Together with another anticipated feature&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;tree&lt;/em&gt; store - it would be possible to combine several storage mechanisms
and have e.g. several static client declarations in static files managed
in a versioning system like Git, combined with dynamic clients stored in a database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Per-request object caching is on radar for Keycloak 20 too and should result in
significantly better performance.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Keycloak 21, expect LDAP support, and an offline tool for migrating
data from legacy store to new one, and further optimizations and garbage collection&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note that the store used in previous versions (now called &lt;em&gt;legacy store&lt;/em&gt;) does
&lt;em&gt;not&lt;/em&gt; go away soon! Since the new store is not yet production ready, it remains the default
store in Keycloak 19. Also other databases (MySQL, MariaDB, MS SQL Server, Oracle) are not
supported by the new store, these are only supported by the legacy. We do consider
second-level support for these databases, based on results of a community survey.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For development and testing purposes, we offer a fast in-memory store called &lt;code&gt;chm&lt;/code&gt;.
This store is intentionally not capable of zero-downtime upgrade as that is not needed
for development. As such, it also offers a quick Keycloak-without-database deployment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be glad to hear your feedback in &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/new?category=keycloak-x-new-store&amp;amp;title=%5BUser%20feedback%5D%20&amp;amp;labels=team/storage-sig&quot;&gt;GitHub Discussions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_try_it_out&quot;&gt;Try it out&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following section contains examples of how to configure Keycloak 19
with the new store.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock warning&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Warning&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
The experimental command line options starting with &lt;code&gt;--storage&lt;/code&gt; might change
         without prior warning, based on the feedback from the community
         and project needs.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_see_what_keycloak_can_do_without_a_database&quot;&gt;See what Keycloak can do without a database&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After downloading, you can try Keycloak in a single-node deployment as simply as running&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.sh start-dev --storage=chm&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This starts a Keycloak instance with a simple testing in-memory store which is saved
to the local file system across Keycloak restarts but has no support
for zero-downtime upgrades or clustering.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_next_step_persist_data_in_a_relational_database&quot;&gt;Next step: Persist data in a relational database&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;Requirements:&lt;/em&gt; Postgres 14 or CockroachDB 22.1 (or newer)&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To keep the data in a database, run the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.sh start-dev --storage=jpa --db-url=&amp;lt;jdbc-url&amp;gt; --db-username=&amp;lt;username&amp;gt; --db-password=&amp;lt;password&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Reference to &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/9596&quot;&gt;Q&amp;amp;A live document&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock caution&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Caution&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
This feature has known issues in CockroachDB, see &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/11618&quot;&gt;this tracker for list&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_alternative_next_step_persist_data_in_external_infinispan&quot;&gt;Alternative next step: Persist data in external Infinispan&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;Requirements:&lt;/em&gt; Infinispan 12.1&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have a Infinispan up and running, you can use it for storing the data as well.
You can achieve it by running the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.sh start-dev --storage=hotrod --storage-hotrod-host=&amp;lt;host&amp;gt; --storage-hotrod-port=11222 --storage-hotrod-username=&amp;lt;username&amp;gt; --storage-hotrod-password=&amp;lt;password&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak creates the needed caches in Infinispan upon first start if the caches
do not exist already. You are free to create and configure the caches
yourself if you prefer to fine-tune those or e.g. want to set up persistence.
Refer to Infinispan documentation for available options for cache configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Reference to &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/12010&quot;&gt;Q&amp;amp;A live document&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_next_step_store_data_in_separate_storages&quot;&gt;Next step: Store data in separate storages&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Eventually it turns out that some of the data should be stored in files or a database, other
(e.g. session) data should be stored in Infinispan. Can this be achieved?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Yes! Keycloak storage is divided into the following storage areas: Realms,
clients, users, groups, roles, client scopes, authorization services,
events, authentication sessions, user/client sessions, login failures,
action tokens, and single-use tokens (last two areas to be merged in Keycloak 20).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock note&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Note&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
For more details on this division, please see &lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/main/design/keycloak.x/storage-architecture.md&quot;&gt;architecture specification&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Each area maintains its own storage for storing the data, and each area
is independent of others. In other words, realms can be served by a database and
users by Infinispan.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To have all the session data stored in an external Infinispan,
and realm / client / user / group / role / &amp;#8230;&amp;#8203; data stored in a relational database, you
can issue the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;bin/kc.sh start-dev --storage=jpa \
  --db-url=&amp;lt;jdbc-url&amp;gt; --db-username=&amp;lt;username&amp;gt; --db-password=&amp;lt;password&amp;gt; \
  --storage-hotrod-host=&amp;lt;host&amp;gt; --storage-hotrod-port=&amp;lt;port&amp;gt; \
  --storage-hotrod-username=&amp;lt;username&amp;gt; --storage-hotrod-password=&amp;lt;password&amp;gt; \
  --storage-area-action-token=hotrod \
  --storage-area-auth-session=hotrod \
  --storage-area-single-use-object=hotrod \
  --storage-area-user-session=hotrod&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This starts a Keycloak server with all areas being handled by the relational database
(&lt;code&gt;--storage=jpa&lt;/code&gt;) but those listed in specific &lt;code&gt;--storage-area-&amp;#8230;&amp;#8203;&lt;/code&gt; options which
are set to use external Infinispan protocol. This setup is similar to the legacy store
where all the session data are stored in Infinispan, with the exception that
Infinispan is not embedded within Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_conclusion&quot;&gt;Conclusion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be happy for you to try the new store and share your
&lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/new?category=keycloak-x-new-store&amp;amp;title=%5BUser%20feedback%5D%20&amp;amp;labels=team/storage-sig&quot;&gt;feedback&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/07/storage-map</guid>
        <pubDate>Wed, 27 Jul 2022 00:00:00 GMT</pubDate>
        
        <author>Hynek Mlnařík</author>
      </item>
      <item>
        <title>FAPI-SIG - a Keycloak's community</title>
        <link>https://www.keycloak.org/2022/07/introducing-fapi-sig</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hello everybody, I am &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt;, a &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/MAINTAINERS.md&quot;&gt;keycloak maintainer&lt;/a&gt;. In this article, I would like to introduce you &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;FAPI-SIG&lt;/a&gt;, a Keycloak&amp;#8217;s community. We welcome everyone to join FAPI-SIG.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_fapi_sig&quot;&gt;What is FAPI-SIG?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi&quot;&gt;The Financial-grade API Special Interest Group (FAPI-SIG)&lt;/a&gt; is a Keycloak&amp;#8217;s community whose aim is to support security features called &lt;a href=&quot;https://openid.net/wg/fapi/&quot;&gt;Financial-grade API (FAPI) security profiles&lt;/a&gt; to Keycloak. FAPI-SIG was established in Aug 2020.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI security profiles are the open security specifications for secure API access using OAuth 2.0. They are standardized by &lt;a href=&quot;https://openid.net/&quot;&gt;OpenID Foundation (OID-F)&lt;/a&gt;, the standardization organization about digital identity. For example, it standardized &lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0.html&quot;&gt;OpenID Connect&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI security profiles are for accessing an API that requires high security level. As its name suggests (Financial), they are originally intended to be used for securely accessing an API providing financial services (e.g., retrieving the balance of a user&amp;#8217;s bank account, initiating payment). However, also as its name suggests (Financial-grade), these can be used for other types of an API that requires the same security level (e.g., in healthcare industries, retrieving a user&amp;#8217;s medical records).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By supporting FAPI security profiles, Keycloak can be applied in a wide range of use cases that requires high security level about API access (e.g., open banking).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG not only aim to support FAPI security profiles to Keycloak but confirm that Keycloak conforms to FAPI security profiles by using &lt;a href=&quot;https://openid.net/certification/about-conformance-suite/&quot;&gt;the conformance suite&lt;/a&gt; of FAPI security profiles officially provided by OID-F.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG has created &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi#passed-conformance-tests-per-keycloak-version&quot;&gt;the environment&lt;/a&gt; for automatically running FAPI security conformance tests. Whenever a new version of Keycloak is released, &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi#passed-conformance-tests-per-keycloak-version&quot;&gt;FAPI-SIG&lt;/a&gt; checks if it still complies with FAPI security profiles by using the environment. Therefore, FAPI-SIG contributes to keeping every version of Keycloak compliant to FAPI security profiles.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG start working on supporting security standards defined by OID-F other than FAPI security profiles. For example, FAPI-SIG has created the environment for automatically running conformance tests for OpenID Connect 1.0 and OpenID Connect for Logout Profile, which contributed of getting the certifications of OpenID Connect 1.0 and OpenID Connect for Logout Profile.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As described in &lt;a href=&quot;https://www.keycloak.org/2022/05/oidc-certifications.html&quot;&gt;the blog post&lt;/a&gt;, Keycloak has achieved several certifications: FAPI 1.0 Advanced, FAPI-CIBA, Australia CDR, Open Banking Brazil FAPI 1.0, OpenID Connect, and OpenID Connect for Logout Profiles. FAPI-SIG has contributed to these achievements.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG is an open community. All activities of FAPI-SIG are voluntary-based. All outputs of FAPI-SIG&amp;#8217;s activities are disclosed in FAPI-SIG&amp;#8217;s github repository. For example, the environment for automatically running FAPI security conformance tests is in the repository whose license is Apache License 2.0 so everyone can user the environment.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_do_fapi_sigs_activities_proceed&quot;&gt;How do FAPI-SIG&amp;#8217;s activities proceed?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG holds monthly web meetings. In the meetings, we report the situation of the activity going on, propose and discuss what activity we work on. The minutes of the meetings are disclosed in &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi/tree/main/FAPI-SIG/meetings&quot;&gt;FAPI-SIG&amp;#8217;s github repository&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG&amp;#8217;s activity is not only writing codes and sending a pull request, but reviewing other contributor&amp;#8217;s pull requests, proposing and discussing an working item, and so on.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Not only FAPI-SIG member but others can communicate with each other by the following ways.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Mail : &lt;a href=&quot;https://groups.google.com/forum/#!topic/keycloak-dev/Ck_1i5LHFrE&quot;&gt;Google Group keycloak developer mailing list&lt;/a&gt;
Meeting : Web meeting on a regular basis&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_has_fapi_sig_achieved&quot;&gt;What has FAPI-SIG achieved?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG mainly contributed the implementation of &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi#results&quot;&gt;the following specifications&lt;/a&gt;:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OAuth2/OIDC related specifications:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html&quot;&gt;OpenID Connect Client Initiated Backchannel Authentication (CIBA)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9126&quot;&gt;RFC 9126 OAuth 2.0 Pushed Authorization Requests (PAR)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FAPI security profiles:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openid.net/specs/openid-financial-api-part-1-1_0.html&quot;&gt;FAPI 1.0 Baseline Security Profile&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openid.net/specs/openid-financial-api-part-2-1_0.html&quot;&gt;FAPI 1.0 Advanced Security Profile&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openid.net/specs/openid-financial-api-ciba-ID1.html&quot;&gt;FAPI Client Initiated Backchannel Authentication Profile (FAPI-CIBA)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specifications based on FAPI security profiles for open banking use cases:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://consumerdatastandardsaustralia.github.io/standards/#security-profile&quot;&gt;Australia Consumer Data Right (CDR)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG secondarily helped the other contributor&amp;#8217;s implementation of the following specifications:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FAPI security profiles:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openid.net/specs/openid-financial-api-jarm.html&quot;&gt;FAPI JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specifications based on FAPI security profiles for open banking use cases:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Open Banking Brasil FAPI 1.0 Security Profile&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG has created &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi#automated-conformance-test-run-environment-by-this-kc-fapi-sig-repository&quot;&gt;the environment for automatically running FAPI security conformance tests&lt;/a&gt;:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FAPI security profiles:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FAPI 1.0 Advanced Security Profile&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FAPI Client Initiated Backchannel Authentication Profile (FAPI-CIBA)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specifications based on FAPI security profiles for open banking use cases:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Australia Consumer Data Right (CDR)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open Banking Brasil FAPI 1.0 Security Profile&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenID Specifications:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect 1.0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect for Logout Profiles&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_activities_are_going_on_in_fapi_sig&quot;&gt;What activities are going on in FAPI-SIG?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FAPI-SIG are working on the following working items:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FAPI 2.0 Baseline Security Profile&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FAPI 2.0 Grant Management for OAuth 2.0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OAuth 2.0 Rich Authorization Requests (RAR)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_where_do_i_know_fapi_sigs_activities_in_detail&quot;&gt;Where do I know FAPI-SIG&amp;#8217;s activities in detail?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please refer to the front page of &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi/&quot;&gt;FAPI-SIG&amp;#8217;s github repository&lt;/a&gt; and meeting minutes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_do_i_participate_fapi_sigs_activities&quot;&gt;How do I participate FAPI-SIG&amp;#8217;s activities?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please feel free to contact us in communication channels shown above.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/07/introducing-fapi-sig</guid>
        <pubDate>Fri, 1 Jul 2022 00:00:00 GMT</pubDate>
        
        <author>Takashi Norimatsu</author>
      </item>
      <item>
        <title>New Keycloak certifications</title>
        <link>https://www.keycloak.org/2022/05/oidc-certifications</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are glad to announce new certifications for Keycloak related to the &lt;a href=&quot;https://openid.net/connect&quot;&gt;OpenID Connect&lt;/a&gt; and &lt;a href=&quot;https://www.keycloak.org/docs/latest/securing_apps/#_fapi-support&quot;&gt;FAPI&lt;/a&gt;!
In the &lt;a href=&quot;https://www.keycloak.org/2022/01/fapi&quot;&gt;previous post&lt;/a&gt;, we announced certification of Keycloak 15.0.2 with the FAPI and Brazil Open Banking. This is a follow-up of this post
with the announcement of the additional certifications. Here are the details:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak 18.0.0 is re-certified as OpenID Connect Provider. We already obtained certification for the OpenID Connect protocol a long time ago with the Keycloak 2.3.0. We now
re-certified all the existing configurations (Basic, Implicit, Hybrid, Config, Dynamic) with latest Keycloak 18.0.0 and added certification as a Form Post OP.
See the &lt;a href=&quot;https://openid.net/certification/#OPs&quot;&gt;OpenID Connect certifications page&lt;/a&gt; for the details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keycloak 18.0.0 is certified as OpenID Connect Logout Provider with all logout profiles (RP-Initiated OP, Session OP, Front-Channel OP, Backchannel OP).
See the &lt;a href=&quot;https://openid.net/certification/#OPs&quot;&gt;OpenID Connect certifications page (logout section)&lt;/a&gt; for the details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keycloak 15.0.2 is certified as &lt;a href=&quot;https://consumerdatastandardsaustralia.github.io/standards/#security-profile&quot;&gt;Australia CDR&lt;/a&gt;, which is the extension based on existing
FAPI 1 Advanced Final certification, which Keycloak already obtained before. See the &lt;a href=&quot;https://openid.net/certification/#FAPI_OPs&quot;&gt;FAPI certifications page&lt;/a&gt; for the details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This milestone was achieved due the hard work of the awesome Keycloak community, who contributed lots of features related to OpenID Connect Protocol, OpenID Connect Logout and FAPI.
The special Thanks go to the &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi/blob/main/members.adoc&quot;&gt;FAPI-SIG&lt;/a&gt;, who helped a lot with the FAPI and OpenID Connect related features and especially
to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt;, who is doing an awesome job for the Keycloak project.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/05/oidc-certifications</guid>
        <pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate>
        
        <author>Marek Posolda</author>
      </item>
      <item>
        <title>Keycloak release plans for 2022</title>
        <link>https://www.keycloak.org/2022/03/releases</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;December last year was a bit on the crazy side with 3 feature releases of Keycloak (15.1, 16.0, and 16.1). This was down to balancing WildFly upgrades with introduction of the Quarkus dist preview.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year we are planning to bring more predictability to Keycloak releases and are aiming for a quarterly release, with more frequent patch releases in-between.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One thing worth highlighting is we have decided to extend the support of the WildFly distribution until September to give everyone more time to migrate.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;Subject to change: this is a provisional plan, which may change throughout the year.&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_18_marchapril&quot;&gt;Keycloak 18 - March/April&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_highlights&quot;&gt;Highlights&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enhancements and polishing for the Quarkus distribution&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Preview of the new Kubernetes Operator for the Quarkus distribution&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Preview of the new Admin Console&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upgrade to Quarkus 2.8.0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upgrade to WildFly 26.1.0&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_end_of_life&quot;&gt;End of life&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ability to upload custom JavaScript providers through REST APIs will be removed&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_19_junejuly&quot;&gt;Keycloak 19 - June/July&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_highlights_2&quot;&gt;Highlights&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Preview of the new Store&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;New Admin Console is graduated to the default console, while the old Admin Console is deprecated&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_end_of_life_2&quot;&gt;End of life&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Old Account Console will be removed, but the new Account Console will remain of course&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Text-based login flows and authenticators will be removed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Some OpenID Connect adapters will be removed (&lt;a href=&quot;https://www.keycloak.org/2022/02/adapter-deprecation&quot;&gt;adapter deprecation blog post&lt;/a&gt;), including:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;JBoss AS 7 and EAP 6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fuse 6 and 7&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jetty 9.2 and 9.3&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WildFly legacy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WildFly Galleon feature pack&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Some SAML adapters will be removed, including:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;JBoss AS 7 and EAP 6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jetty 9.2 and 9.3&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WildFly legacy&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_20_septemberoctober&quot;&gt;Keycloak 20 - September/October&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_highlights_3&quot;&gt;Highlights&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New store is graduated to the new default store for PostgreSQL and CockroachDB. We will come back with more details on what happens with the old store and support for other database vendors, but rest assured we will give everyone plenty of heads up, and at the minimum the old store will be supported at least until the middle of 2023.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_end_of_life_3&quot;&gt;End of life&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;WildFly distribution will be removed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Legacy Kubernetes Operator will be removed&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_21_decemberjanuary&quot;&gt;Keycloak 21 - December/January&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_highlights_4&quot;&gt;Highlights&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;With the new Quarkus distribution, new Operator, and new Store we are aiming to shift our focus onto production deployments of Keycloak. Keycloak 21 is the release where we&amp;#8217;re aiming all this effort to really come together to make it as easy as possible to install and manage Keycloak at any scale.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_end_of_life_4&quot;&gt;End of life&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Old Admin Console will be removed&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_keycloak_22_marchapril_2023&quot;&gt;Keycloak 22 - March/April 2023&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_end_of_life_5&quot;&gt;End of life&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Remaining deprecated OpenID Connect adapters will be removed (&lt;a href=&quot;https://www.keycloak.org/2022/02/adapter-deprecation&quot;&gt;adapter deprecation blog post&lt;/a&gt;), including:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Java (Jetty, Tomcat, Servlet Filter, Spring, Servlet Filter, etc.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Node.js&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remaining deprecated SAML adapters will be removed, including:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Jetty&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tomcat&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/03/releases</guid>
        <pubDate>Thu, 24 Mar 2022 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Supported databases for the new Keycloak store</title>
        <link>https://www.keycloak.org/2022/02/dbs</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Maintaining a broad selection of relational database support is expensive, and also more importantly limits how well the databases can be supported.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With that in mind we are looking at supporting databases at different levels; first class, second class, and community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please fill in &lt;a href=&quot;https://forms.gle/VivuUzRwTvjk6zqz8&quot;&gt;this survey&lt;/a&gt; as we&amp;#8217;d like to gather as much feedback as we can.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_first_class_databases&quot;&gt;First class databases&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The aim of first class databases is to offer better levels of tuning and testing, better defaults, and better documentation. We will also be considering testing with different versions and variants of the selected first class databases, such as cloud services.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First class databases will be the solutions we are looking towards when scaling and tuning database to accommodate large scale deployments with high-availability, including multi-region deployments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As first class databases we aim to support one traditional relational database, and a cloud native database. With this in mind we have selected PostgreSQL and CockroachDB as the best candidates.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;PostgreSQL is a high quality fully open source database, with many supported offerings such as:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Azure Database for PostgreSQL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Amazon RDS for PostgreSQL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;BigAnimal&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloud SQL for PostgreSQL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cruncy Bridge&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cruncy PostgreSQL for Kubernetes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;EnterpriseDB&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;CockroachDB is an cloud native open source database, with PostgreSQL compatibility. By cloud native it means that it can scale horizontally, including spanning multiple-regions. There are some competitive solutions, but not as mature, and with less streamlined PostgreSQL compatibility. There are obviously also NoSQL and other non-relational database that could in theory be a good fit for Keycloak, but would be a lot of additional effort to support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is also worth mentioning that we are still looking towards Infinispan as our cache layer, but are also aiming to support running Keycloak without Infinspan for smaller deployments with PostgreSQL and larger deployments with CockroachDB.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_second_class_databases&quot;&gt;Second class databases&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The aim for second class databases are to offer mostly the same support as we offer for any database in Keycloak today. We will only test one version, there will be no database vendor specific documentation, or any additional tuning on our end.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We do hope that the majority of the Keycloak community are able to migrate to first class databases, and that this will in the end be a better solution for everyone. As such we are not currently planning on offering any second class databases long term, and rather phase out support for MySQL, MariaDB, SQL Server, and Oracle over time.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_community_supported_databases&quot;&gt;Community supported databases&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If there is interest from the community to support additional databases, including non-relational database, we would like to discuss and figure out how this could look like. Including making it easy to install community maintained databases, as well as continuously testing of the integration.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/02/dbs</guid>
        <pubDate>Thu, 24 Feb 2022 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Deprecation of Keycloak adapters</title>
        <link>https://www.keycloak.org/2022/02/adapter-deprecation</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Way back in 2013 when we started work on the Keycloak project there was a lack of client libraries that would help developers secure their applications with Keycloak. Fast forward to today and this situation has changed drastically with wide-spread availability of OAuth 2.0 and OpenID Connect libraries.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition, Keycloak adapters has not received the love and attention they require, and are now significantly lagging behind the server on what features they supported. While Keycloak can be used to secure any application no matter the programming language and frameworks, we&amp;#8217;ve only had adapters for a limited set of Java developers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Rather than continue to spreading ourselves thin we are going to deprecate the adapters, and focus more on the Keycloak server. In addition we are aiming to provide help and guidance on how to secure various applications with getting started guides, and advocating what we believe are better alternative options to Keycloak adapters.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What is being deprecated:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect Java adapters&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect Node.js adapters&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SAML Tomcat and Jetty adapters&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What is not being deprecated:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect client-side JavaScript adapter&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SAML WildFly and servlet filter&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_alternatives&quot;&gt;Alternatives&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_wildfly&quot;&gt;WildFly&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;WildFly 25 introduced native support for OpenID Connect with all the features from the Keycloak adapter and more. Migration to the WildFly native OpenID Connect is very easy as the WildFly team has taken great care to make this as simple as a move as possible.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check out this &lt;a href=&quot;https://wildfly-security.github.io/wildfly-elytron/blog/securing-wildfly-apps-openid-connect/&quot;&gt;great blog post&lt;/a&gt; from Farah Juma for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_spring&quot;&gt;Spring&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Spring Security has for a long time provided great support for OAuth 2.0 and OpenID Connect. We appreciate that migrating from the Keycloak adapters to Spring Security is not trivial, but in the exchange you get more features, a better maintained library, and better integration with Spring.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check out this &lt;a href=&quot;https://www.baeldung.com/spring-security-openid-connect&quot;&gt;great blog post&lt;/a&gt; from Ger Roza for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_quarkus&quot;&gt;Quarkus&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Although not a direct replacement for existing Keycloak adapters it is worth highlighting that Quarkus has very extensive built-in support for OpenID Connect and Keycloak, with a lot of additional benefit on top.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check out &lt;a href=&quot;https://quarkus.io/guides/#security&quot;&gt;Quarkus security guides&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_node_js&quot;&gt;Node.js&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are still looking around for the best candidate for Node.js applications, but it looks like &lt;a href=&quot;https://www.npmjs.com/package/openid-client&quot;&gt;openid-client&lt;/a&gt; is a good alternative, that is a lot more feature rich than the Keycloak adapter.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_timeline&quot;&gt;Timeline&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;February 2022: Adapters deprecated&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;September 2022: No more major/minor releases of adapters&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;December 2022: No more micro releases of adapters&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_discussions&quot;&gt;Discussions&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have questions, concerns, or suggestions, please join us to discuss this topic through &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/categories/adapter-deprecation&quot;&gt;GitHub Discussions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_community&quot;&gt;Community&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If anyone from the community would like to step-up and continue to maintain the deprecated Keycloak adapters get in touch with us through the &lt;a href=&quot;https://groups.google.com/forum/#!forum/keycloak-dev&quot;&gt;developer mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would also love suggestions and help in finding the best alternatives for everyone, as well as providing getting started guides, migration guides, etc. To help us in this regard please join the discussions on &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/categories/adapter-deprecation&quot;&gt;GitHub Discussions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_extended_support&quot;&gt;Extended support&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are not able to migrate away from Keycloak adapters by the end of 2022 an alternative option to consider is getting support from Red Hat.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Red Hat offers supported adapters through Red Hat Single Sign-On 7.x, which is currently in support until 30 June 2024.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The adapters supported by Red Hat Single Sign-On includes:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;JBoss EAP&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Node.js&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java Servlet Filter&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JBoss Fuse&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Spring Boot&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/02/adapter-deprecation</guid>
        <pubDate>Fri, 4 Feb 2022 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak certified as FAPI and Brazil Open Banking provider</title>
        <link>https://www.keycloak.org/2022/01/fapi</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are glad to announce that Keycloak 15.0.2 was officially certified as &lt;a href=&quot;https://openid.net/certification/#FAPI_OPs&quot;&gt;FAPI OpenID Provider&lt;/a&gt;! &lt;a href=&quot;https://www.keycloak.org/docs/latest/securing_apps/#_fapi-support&quot;&gt;FAPI&lt;/a&gt; is a shortcut
for &lt;code&gt;Financial-grade API&lt;/code&gt; and the FAPI compliance means that Keycloak is now officially able to be used in the highly confidential financial based deployments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Firstly, Keycloak is now certified as &lt;code&gt;FAPI 1 Advanced Final (Generic)&lt;/code&gt; provider. For this generic profile, Keycloak is compliant with all the matrix combinations. This means that Keycloak clients
are allowed to use &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9126&quot;&gt;PAR&lt;/a&gt;, &lt;a href=&quot;https://openid.net/specs/openid-financial-api-jarm.html&quot;&gt;JARM&lt;/a&gt;, and
client authentication based on &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc8705&quot;&gt;Mutual-TLS&lt;/a&gt; or &lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication&quot;&gt;JSON Web Token signed by Private Key&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is also certified as Brazil Open Banking provider. For this profile, Keycloak is also compliant with all the matrix combinations. We just did not obtain certification for the DCR,
which requires more complicated setup including registration with official Brazil institutions. However some Brazil banks, which are customers of Keycloak based
product &lt;a href=&quot;https://access.redhat.com/products/red-hat-single-sign-on&quot;&gt;RH-SSO 7.5&lt;/a&gt;, were able to obtain DCR certification. So technically, the certification with DCR for any
institution using Keycloak or RH-SSO is completely fine.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can see the &lt;a href=&quot;https://openid.net/certification/#FAPI_OPs&quot;&gt;Official OpenID Page&lt;/a&gt; with the details about the certification. For more details
about FAPI support, you can check the &lt;a href=&quot;https://www.keycloak.org/docs/latest/securing_apps/#_fapi-support&quot;&gt;Keycloak documentation&lt;/a&gt; with the details to setup your own Keycloak
deployment to be FAPI compliant.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 15.0.2 is also compliant with &lt;a href=&quot;https://openid.net/specs/openid-financial-api-ciba-ID1.html&quot;&gt;FAPI CIBA&lt;/a&gt; and we are working to officially obtain the certification for this.
Moreover, We plan to re-certify Keycloak 15.0.2 with &lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0.html&quot;&gt;OpenID Connect Core&lt;/a&gt;, which Keycloak certified back in 2016.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The FAPI certification was possible just due the awesome work of the &lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi/blob/main/README.md&quot;&gt;FAPI Working Group&lt;/a&gt;.
&lt;a href=&quot;https://github.com/keycloak/kc-sig-fapi/blob/main/members.adoc&quot;&gt;Members of this group&lt;/a&gt; contributed many features related to FAPI, like Client Policies, CIBA, PAR, JARM and others.
I hope that year 2022 will be at least as successful as 2021 and there will be even more contributions related to the FAPI as there are more standards being made and more
certifications to be obtained. If you are interested in contributing to the Keycloak FAPI support, you are welcome to join FAPI Working Group. It is community working group and
it is opened for anyone to join.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2022/01/fapi</guid>
        <pubDate>Thu, 6 Jan 2022 00:00:00 GMT</pubDate>
        
        <author>Marek Posolda</author>
      </item>
      <item>
        <title>Important security vulnerability discovered</title>
        <link>https://www.keycloak.org/2021/12/cve</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A flaw (&lt;a href=&quot;https://access.redhat.com/security/cve/CVE-2021-4133&quot;&gt;CVE-2021-4133&lt;/a&gt;) was found in Keycloak version from 12.0.0 and before 15.1.1 which allows an attacker with any existing user account to create new default user accounts via the administrative REST API even when new user registration is disabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In most situations the newly created user is the equivalent of a self-registered user, and does not have the ability to receive any additional roles or groups. However, there are some vectors that are harder to reproduce, but may result in additional privileges.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We highly recommend everyone upgrade to Keycloak 15.1.1 or 16.1.0 as soon as possible. Keycloak 16.0.0 also includes the fix, but if you are not already running this version we recommend going straight to 16.1.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are unable to upgrade we recommend mitigate the issue by blocking access to the user creation REST endpoint in the interim.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This can be achieved with the following CLI commands:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;bin/jboss-cli.sh --connect
/subsystem=undertow/configuration=filter/expression-filter=keycloakPathOverrideUsersCreateEndpoint:add( \
  expression=&quot;(regex(&#39;^/auth/admin/realms/(.*)/users$&#39;) and method(POST))-&amp;gt; response-code(400)&quot; \
)
/subsystem=undertow/server=default-server/host=default-host/filter-ref=keycloakPathOverrideUsersCreateEndpoint:add()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This will block both valid and invalid attempts at creating new users, including requests from the Keycloak admin console.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Alternatively, the path &lt;code&gt;/auth/admin/realms/.*/users&lt;/code&gt; and method &lt;code&gt;POST&lt;/code&gt;, or &lt;code&gt;/auth/admin&lt;/code&gt; completely, can be blocked with a firewall.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about the flaw please view &lt;a href=&quot;https://access.redhat.com/security/cve/CVE-2021-4133&quot;&gt;CVE-2021-4133&lt;/a&gt; and &lt;a href=&quot;https://github.com/keycloak/keycloak/security/advisories/GHSA-83x4-9cwr-5487&quot;&gt;GHSA-83x4-9cwr-5487&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/12/cve</guid>
        <pubDate>Thu, 23 Dec 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>How to Integrate Keycloak for Authentication with Apache APISIX</title>
        <link>https://www.keycloak.org/2021/12/apisix</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This article shows you how to use OpenID-Connect protocol and Keycloak for identity authentication in Apache APISIX through detailed steps.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/&quot;&gt;Keycloak&lt;/a&gt; is an open source identity and access management solution for modern applications and services. Keycloak supports Single-Sign On, which enables services to interface with Keycloak through protocols such as OpenID Connect, OAuth 2.0, etc. Keycloak also supports integrations with different authentication services, such as Github, Google and Facebook.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition, Keycloak also supports user federation, and can import users through LDAP and Kerberos. For more information about Keycloak, please refer to the &lt;a href=&quot;https://www.keycloak.org/about&quot;&gt;official documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://apisix.apache.org/&quot;&gt;Apache APISIX&lt;/a&gt; is a dynamic, real-time, high-performance API gateway, providing rich traffic management. The project offers load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and many useful plugins. In addition, the gateway supports dynamic plugin changes along with hot update. The OpenID Connect plugin for Apache APISIX allows users to replace traditional authentication mode with centralized identity authentication mode via OpenID Connect.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_to_use&quot;&gt;How to use&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_install_apache_apisix&quot;&gt;Install Apache APISIX&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_install_dependencies&quot;&gt;Install dependencies&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Apache APISIX runtime environment requires dependencies on NGINX and etcd.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before installing Apache APISIX, please install dependencies according to the operating system you are using. We provide the dependencies installation instructions for CentOS7, Fedora 31 and 32, Ubuntu 16.04 and 18.04, Debian 9 and 10, and macOS. Please refer to &lt;a href=&quot;https://apisix.apache.org/docs/apisix/install-dependencies/&quot;&gt;Install Dependencies&lt;/a&gt; for more details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_installation_via_rpm_package_centos_7&quot;&gt;Installation via RPM Package (CentOS 7)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This installation method is suitable for CentOS 7; please run the following command to install Apache APISIX.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisix-2.7-0.x86_64.rpm&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_installation_via_docker&quot;&gt;Installation via Docker&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please refer to &lt;a href=&quot;https://hub.docker.com/r/apache/apisix&quot;&gt;Installing Apache APISIX with Docker&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_installation_via_helm_chart&quot;&gt;Installation via Helm Chart&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please refer to &lt;a href=&quot;https://github.com/apache/apisix-helm-chart&quot;&gt;Installing Apache APISIX with Helm Chart&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_initializing_dependencies&quot;&gt;Initializing Dependencies&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Run the following command to initialize the NGINX configuration file and etcd.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;make init&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_start_apache_apisix&quot;&gt;Start Apache APISIX&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Run the following command to start Apache APISIX.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;apisix start&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_start_keycloak&quot;&gt;Start Keycloak&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Here we use &lt;code&gt;docker&lt;/code&gt; to start Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=password -e DB_VENDOR=h2  -d jboss/keycloak:9.0.2&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After execution, you need to verify that Keycloak have started successfully.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;docker ps&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configure_keycloak&quot;&gt;Configure Keycloak&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After Keycloak is started, use your browser to access &quot;http://127.0.0.1:8080/auth/admin/&quot; and type the &lt;code&gt;admin/password&lt;/code&gt; account password to log in to the administrator console.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_create_a_realm&quot;&gt;Create a realm&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First, you need to create a realm named &lt;code&gt;apisix_test_realm&lt;/code&gt;. In Keycloak, a realm is a workspace dedicated to managing projects, and the resources of different realms are isolated from each other.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The realm in Keycloak is divided into two categories: one is the &lt;code&gt;master realm&lt;/code&gt;, which is created when Keycloak is first started and used to manage the admin account and create other realm. the second is the &lt;code&gt;other realm&lt;/code&gt;, which is created by the admin in the master realm and can be used to create, manage and use users and applications in this realm. The second category is the other realm, created by admin in the master realm, where users and applications can be created, managed and used. For more details, please refer to the &lt;a href=&quot;https://www.keycloak.org/docs/latest/getting_started/index.html#realms-and-users&quot;&gt;realm and users section in Keycloak&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/create-realm.png&quot; alt=&quot;Create realm&quot; width=&quot;640&quot; height=&quot;250&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/edit-realm-title.png&quot; alt=&quot;Edit realm title&quot; width=&quot;640&quot; height=&quot;250&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_create_a_client&quot;&gt;Create a Client&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The next step is to create the &lt;code&gt;OpenID Connect Client&lt;/code&gt;. In Keycloak, Client means a client that is allowed to initiate authentication to Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this example scenario, &lt;code&gt;Apache APISIX&lt;/code&gt; is equivalent to a client that is responsible for initiating authentication requests to Keycloak, so we create a Client with the name &lt;code&gt;apisix&lt;/code&gt;. More details about the Client can be found in &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#_oidc_clients&quot;&gt;Keycloak OIDC Clients&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/create-openid-client.png&quot; alt=&quot;Create OpenID Client&quot; width=&quot;640&quot; height=&quot;150&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/create-client-title.png&quot; alt=&quot;Create Client title&quot; width=&quot;640&quot; height=&quot;225&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_configure_the_client&quot;&gt;Configure the client&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After the Client is created, you need to configure the Apache APISIX access type for the Client.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In Keycloak, there are three types of Access Type:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;olist arabic&quot;&gt;
&lt;ol class=&quot;arabic&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Confidential&lt;/strong&gt;: which is used for applications that need to perform browser login, and the client will get the &lt;code&gt;access token&lt;/code&gt; through &lt;code&gt;client secret&lt;/code&gt;, mostly used in web systems rendered by the server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Public&lt;/strong&gt;: for applications that need to perform browser login, mostly used in front-end projects implemented using vue and react.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bearer-only&lt;/strong&gt;: for applications that don&amp;#8217;t need to perform browser login, only allow access with &lt;code&gt;bearer token&lt;/code&gt;, mostly used in RESTful API scenarios.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details about Client settings, please refer to &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#advanced-settings&quot;&gt;Keycloak OIDC Clients Advanced Settings&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since we are using Apache APISIX as the Client on the server side, we can choose either &quot;Confidential&quot; Access Type or &quot;Bearer-only&quot; Access Type. For the demonstration below, we are using &quot;Confidential&quot; Access Type as an example.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/set-client-type.png&quot; alt=&quot;Set Client type&quot; width=&quot;640&quot; height=&quot;350&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_create_users&quot;&gt;Create Users&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak supports interfacing with other third-party user systems, such as Google and Facebook, or importing or manually creating users using LDAP . Here we will use &quot;manually creating users&quot; to demonstrate.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/create-user.png&quot; alt=&quot;Create user&quot; width=&quot;640&quot; height=&quot;180&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/add-user-info.png&quot; alt=&quot;Add user info&quot; width=&quot;640&quot; height=&quot;395&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Then set the user&amp;#8217;s password in the Credentials page.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/set-user-password.png&quot; alt=&quot;Set user password&quot; width=&quot;640&quot; height=&quot;450&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_create_routes&quot;&gt;Create Routes&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After Keycloak is configured, you need to create a route and open the &lt;code&gt;Openid-Connect&lt;/code&gt; plugin . For details on the configuration of this plugin, please refer to the &lt;a href=&quot;https://apisix.apache.org/docs/apisix/plugins/openid-connect&quot;&gt;Apache APISIX OpenID-Connect plugin&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_get_client_id_and_client_secret&quot;&gt;Get client_id and client_secret&lt;/h4&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/get-client-info.png&quot; alt=&quot;Get client information&quot; width=&quot;640&quot; height=&quot;160&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the above configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;client_id&lt;/code&gt; is the name used when creating the Client before, i.e. &lt;code&gt;apisix&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;client_secret&lt;/code&gt; should be obtained from Clients-apisix-Credentials, for example: &lt;code&gt;d5c42c50-3e71-4bbbe-aa9e-31083ab29da4&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_get_the_discovery_configuration&quot;&gt;Get the discovery configuration&lt;/h4&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/get-configuration.png&quot; alt=&quot;Get configuration&quot; width=&quot;640&quot; height=&quot;280&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Go to Realm Settings-General-Endpoints, select the &lt;code&gt;OpenID Endpoint Configuration&lt;/code&gt; link and copy the address that the link points to, for example:`http://127.0.0.1:8080/auth/realms/apisix_test_realm/.well-known/openid-configuration`.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_create_a_route_and_enable_the_plug_in&quot;&gt;Create a route and enable the plug-in&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Use the following command to access the Apache APISIX Admin interface to create a route, set the upstream to &lt;code&gt;httpbin.org&lt;/code&gt;, and enable the plug-in OpenID Connect for authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note: If you select &lt;code&gt;bearer-only&lt;/code&gt; as the Access Type when creating a Client, you need to set &lt;code&gt;bearer_only&lt;/code&gt; to true when configuring the route, so that access to Apache APISIX will not jump to the Keycloak login screen.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre&gt;curl  -XPOST 127.0.0.1:9080/apisix/admin/routes -H &quot;X-Api-Key: edd1c9f034335f136f87ad84b625c8f1&quot; -d &#39;{
    &quot;uri&quot;:&quot;/*&quot;,
    &quot;plugins&quot;:{
        &quot;openid-connect&quot;:{
            &quot;client_id&quot;:&quot;apisix&quot;,
            &quot;client_secret&quot;:&quot;d5c42c50-3e71-4bbe-aa9e-31083ab29da4&quot;,
            &quot;discovery&quot;:&quot;http://127.0.0.1:8080/auth/realms/apisix_test_realm/.well-known/openid-configuration&quot;,
            &quot;scope&quot;:&quot;openid profile&quot;,
            &quot;bearer_only&quot;:false,
            &quot;realm&quot;:&quot;apisix_test_realm&quot;,
            &quot;introspection_endpoint_auth_method&quot;:&quot;client_secret_post&quot;,
            &quot;redirect_uri&quot;:&quot;http://127.0.0.1:9080/&quot;
        }
    },
    &quot;upstream&quot;:{
        &quot;type&quot;:&quot;roundrobin&quot;,
        &quot;nodes&quot;:{
            &quot;httpbin.org:80&quot;:1
        }
    }
}&#39;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_access_testing&quot;&gt;Access Testing&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once the above configuration is complete, we are ready to perform the relevant access tests in Apache APISIX.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_access_apache_apisix&quot;&gt;Access Apache APISIX&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Use your browser to access &lt;code&gt;&lt;a href=&quot;http://127.0.0.1:9080/image/png&quot; class=&quot;bare&quot;&gt;http://127.0.0.1:9080/image/png&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since the OpenID-Connect plugin is enabled and &lt;code&gt;bearer-only&lt;/code&gt; is set to &lt;code&gt;false&lt;/code&gt;, when you access this path for the first time, Apache APISIX will redirect to the login screen configured in &lt;code&gt;apisix_test_realm&lt;/code&gt; in Keycloak and make a user login request.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/login-page.png&quot; alt=&quot;Login page&quot; width=&quot;640&quot; height=&quot;420&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Enter the User peter created during the Keycloak configuration to complete user login.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_successful_access&quot;&gt;Successful access&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After a successful login, the browser will again redirect the link to &lt;code&gt;&lt;a href=&quot;http://127.0.0.1:9080/image/png&quot; class=&quot;bare&quot;&gt;http://127.0.0.1:9080/image/png&lt;/a&gt;&lt;/code&gt; and will successfully access the image content. The content is identical to that of the upstream &lt;code&gt;&lt;a href=&quot;http://httpbin.org/image/png&quot; class=&quot;bare&quot;&gt;http://httpbin.org/image/png&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/apisix/access-successfully.png&quot; alt=&quot;Access successfully&quot; width=&quot;640&quot; height=&quot;455&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_logout&quot;&gt;Logout&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After the test, use your browser to access &lt;code&gt;http:/127.0.0.1:9080/logout&lt;/code&gt; to logout your account.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Note: The logout path can be specified by &lt;code&gt;logout_path&lt;/code&gt; in the OpenID-Connect plug-in configuration, the default is &lt;code&gt;logout&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_summary&quot;&gt;Summary&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This article shows the procedure of using OpenID-Connect protocol and Keycloak for authentication in Apache APISIX. By integrating with Keycloak, Apache APISIX can be configured to authenticate and authenticate users and application services, which greatly reduces the development work involved.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about the implementation of authentication in Apache APISIX, see &lt;a href=&quot;https://apisix.apache.org/blog&quot;&gt;Apache APISIX Blog&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/12/apisix</guid>
        <pubDate>Tue, 21 Dec 2021 00:00:00 GMT</pubDate>
        
        <author>Xinxin Zhu &amp; Yilin Zeng</author>
      </item>
      <item>
        <title>Keycloak.X Update</title>
        <link>https://www.keycloak.org/2021/10/keycloak-x-update</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It&amp;#8217;s been quite some time since we announced the plans around Keycloak.X, two years in fact. Due to other priorities we&amp;#8217;ve been a bit distracted, but now it&amp;#8217;s finally full speed ahead.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak.X will be lighter, faster, easier, more scalable, more cloud native, and a bunch of other things. Expect greatness coming your way!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As part of Keycloak.X we&amp;#8217;re not only making code changes, but there will also be a cultural shift where the team behind Keycloak will focus a lot more on user experience and the delivery of a manageable solution over simply pieces of code.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There will be some disruptive changes coming, but we will strive to make the transition as easy as possible for everyone. For breaking changes such as moving from WildFly to Quarkus we plan to provide 6 months to do the migration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If that is not enough there is &lt;a href=&quot;https://access.redhat.com/products/red-hat-single-sign-on&quot;&gt;Red Hat Single Sign-On&lt;/a&gt;, which is a supported build of Keycloak by Red Hat. &lt;a href=&quot;https://access.redhat.com/products/red-hat-single-sign-on&quot;&gt;Red Hat Single Sign-On&lt;/a&gt; 7, which is based on current Keycloak architecture, has support until &lt;a href=&quot;https://access.redhat.com/support/policy/updates/jboss_notes#p_sso&quot;&gt;June 2024&lt;/a&gt; (currently says 2023, but will soon be extended to 2024).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will follow-up to this blog post with more details in the future, but for now let&amp;#8217;s look at some of the highlights coming to Keycloak.X.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_experiences&quot;&gt;Experiences&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As mentioned previously a lot more attention will be put on your experience with Keycloak. With this in mind we have identified a few experiences that we believe cover a wide range of different use-cases:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;App developer&lt;/strong&gt; Developers that are integrating Keycloak with applications and services&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Customizer&lt;/strong&gt; Developers that are extending Keycloak or integrating with other systems&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bridge&lt;/strong&gt; Using Keycloak as a bridge between applications and other identity solutions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regular&lt;/strong&gt; A typical small to medium-sized deployment of Keycloak&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Super-sized&lt;/strong&gt; Elastic and highly available deployment of Keycloak for very large use-cases&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SaaS&lt;/strong&gt; A extension to &lt;strong&gt;super-sized&lt;/strong&gt; where Keycloak enables identities for SaaS, CIAM, and B2C scenarios&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_quarkus&quot;&gt;Quarkus&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re switching to Quarkus as the platform to build Keycloak. Compared to WildFly this gives faster startup-time and lower memory footprint. It also provides a much simpler approach to configuring Keycloak, with command-line arguments and environment variables instead of complicated XML files. Another great aspect of Quarkus is that it gives us a lot more control over what external libraries are included in the distribution, including faster upgrades of dependencies, which should significantly improve on situation around CVEs.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_storage_re_architecture&quot;&gt;Storage re-architecture&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re doing a significant re-architecture of the storage layer as part of Keycloak.X to address a number of shortcomings that where discovered in the current architecture. Zero downtime upgrade, scalability, and availability will be key topics of this new architecture, as well as making it a lot easier to support additional storage types in the long run.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_operator_and_containers&quot;&gt;Operator and Containers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the current approach to configuration in Keycloak creating a good experience around a container is problematic as the container has to convert from environment variables to complicated XML configuration files. With the work we&amp;#8217;re doing around Quarkus configuring Keycloak with environment variables becomes a native thing, making it a lot simpler to provide a great container experience.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Similarly, the Operator can also be made simpler as it will be easier to configure Keycloak, as well as having better opinionated configuration from the base distribution, which trickles through from the Zip distribution, to the container, and finally to the Operator. To align the codebase more we&amp;#8217;re also re-writing the Operator from scratch using the Java SDK and Quarkus.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_observability&quot;&gt;Observability&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Metrics, tracing, logging, and health-checks are all important aspect of a cloud native application. These are all important capabilities to manage and debug Keycloak in production, especially when running on Kubernetes or OpenShift.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_gitops_friendly_configuration&quot;&gt;GitOps friendly configuration&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In a GitOps or CI/CD environment it can be problematic to manage the runtime configuration within Keycloak. As all configuration such as realms and clients live in the database and can only be managed through REST APIs it is hard to reliably manage as part of a GitOps process.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Along with the storage re-architecture comes a very powerful capability that can federate configuration from multiple sources, and we plan to take advantage of this with a file-based store, where Keycloak can read more static/immutable configuration from the file-system (YAML of course), and combine this with dynamic/mutable configuration from the DB.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Further, this enables checking in your static configuration in a Git repository, and deploy it to your development, stage and production environments as needed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_external_integrations&quot;&gt;External integrations&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has a large number of extension points today, called SPIs. With Java (and in some cases JavaScript) it is possible to customize Keycloak with custom providers for these SPIs. Although, highly powerful and flexible, this is not ideal in a modern Kuberetes centric architecture. As the extensions are co-located with Keycloak it is harder to deploy, upgrade, and scale extensions. Extensions can also not be written in any language or framework making it more costly for non-Java developers to extend Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this in mind we are planning more focus on the ability to extend and integrate with Keycloak through remote extensions, and are looking at REST, gRPC, Knative, Kafka, etc. as vehicles to achieve this. In addition we would also like to get to a point where we can have a &quot;headless&quot; Keycloak allowing a frontend to be built in any way you want, which would bring a great addition to the current themes approach to customising the UI.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_decomposing&quot;&gt;Decomposing&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Last, but not least. We are also planning on ability to decompose Keycloak as well as bring better isolation on Keycloak&amp;#8217;s code base and capabilities. We&amp;#8217;re not planning to go full micro-service architecture here, but rather a sensible compromise allowing everything to run as a single process, with the ability to separate some parts of Keycloak into external services.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_roadmap&quot;&gt;Roadmap&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As you can imagine all of what we have planned in Keycloak.X is a large amount of work, and won&amp;#8217;t happen overnight. We&amp;#8217;re focusing first on the breaking changes such as moving to Quarkus and re-architecture of the storage layer.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Everything is not planned fully at this point, but we do have some idea of when we believe the various components of Keycloak.X will be delivered.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ASAP&lt;/strong&gt;: Keycloak 16 will be the last preview of the Quarkus distribution, so we welcome everyone to try it out, and provide us with &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/8654&quot;&gt;feedback&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;December 2021&lt;/strong&gt;: In Keycloak 17 we will make the Quarkus distribution fully supported, and deprecate the WildFly distribution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;March 2022&lt;/strong&gt;: In Keycloak 18 we are aiming to include the new Operator, and preview the new store. We&amp;#8217;re also planning on removing WildFly support from the code-base at this point.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;June 2022&lt;/strong&gt;: First release with only the Quarkus distribution. We&amp;#8217;re also hoping to make the new store a fully supported option at this point.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;The dates above are subject to change!&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_feedback&quot;&gt;Feedback&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would love your feedback on our plans around Keycloak.X, so please join us on &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/categories/feedback&quot;&gt;GitHub Discussions&lt;/a&gt; to discuss the future of Keycloak!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/10/keycloak-x-update</guid>
        <pubDate>Thu, 28 Oct 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>New Keycloak maintainer: Takashi Norimatsu</title>
        <link>https://www.keycloak.org/2021/10/takashi.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are extremely pleased to welcome &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Takashi has contributed to Keycloak since 2017, with a focus on security features of OAuth 2.0 and OpenID Connect, such as PKCE, strong signature algorithms, and Certificate Bound Access Tokens. More recently, he has been leading development related to Financial-grade API (FAPI) in the FAPI special interest group. In addition he has been helping other developers in the area of API authorization, including giving presentations at multiple conferences.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Takashi will continue leading development of OAuth 2.0 and OpenID Connect security related features, with an initial focus on features needed to provide higher level of API security for enterprise scenarios.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Takashi works for Hitachi, Ltd. in Japan, which sees the real value of Keycloak especially in the API management area, allowing him to invest a significant portion of his time to the Keycloak project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team is very exited about having Takashi join us as a maintainer, and we are looking forward to working more closely with Takashi going forward.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/10/takashi.adoc</guid>
        <pubDate>Mon, 18 Oct 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>New Keycloak maintainer: Thomas Darimont</title>
        <link>https://www.keycloak.org/2021/09/thomas.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are extremely pleased to welcome &lt;a href=&quot;https://github.com/thomasdarimont&quot;&gt;Thomas Darimont&lt;/a&gt; as an official maintainer of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thomas has contributed to Keycloak since 2015, and is well known and respected by the current maintainers, as well as the Keycloak community. He has enriched the community through practical examples, valuable discussions on mailing lists, and presenting at conferences. In addition, he has also helped with design discussions, contributed bug fixes, as well as new features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thomas will start by helping us with our Keycloak.X effort, with first focusing on an excellent observability story for a true cloud native experience. In addition he will help review and sponsor community contributions, engage with the community, and join in discussions around new features and capabilities.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We&amp;#8217;re seeing more and more people getting involved in the Keycloak community, and a lot of continued commitment and contributions from large organizations to Keycloak. Thomas works for &lt;a href=&quot;https://www.codecentric.de&quot;&gt;codecentric AG&lt;/a&gt; in Germany, which sees the real value of Keycloak allowing him to invest a significant portion of his time to the Keycloak project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team is very exited about having Thomas join us as a maintainer, and we are looking forward to working more closely with Thomas going forward.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/09/thomas.adoc</guid>
        <pubDate>Fri, 17 Sep 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Book on Keycloak</title>
        <link>https://www.keycloak.org/2021/06/book.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The first ever book dedicated to Keycloak was recently launched, and is &lt;a href=&quot;https://packt.live/2QtHFzw&quot;&gt;available on Amazon&lt;/a&gt; now.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kcbook.jpg&quot; alt=&quot;Book cover&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The book introduces you to Keycloak, giving a good fundamental of everything you need to know to get started with Keycloak. From installing, securing applications, and deploying to production.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are new to Keycloak, or even if you have been using Keycloak for a while, you should consider getting yourself a copy.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/06/book.adoc</guid>
        <pubDate>Fri, 18 Jun 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Would you like to join the Keycloak team? We're hiring!</title>
        <link>https://www.keycloak.org/2021/04/jobs.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Red Hat continues its investment in Red Hat Single Sign-On and are looking to hire a number of engineers to work directly with the Keycloak project to continuously improve the project, as well as work on new capabilities.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There are a number of openings on the teams responsible for development of Red Hat Single Sign-On, and maintaining Red Hat&amp;#8217;s own deployments and integrations of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Engineering:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85959/site-reliability-engineer/job&quot;&gt;Site Reliability Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://global-redhat.icims.com/jobs/85965/senior-frontend-developer---application-services/job&quot;&gt;Senior Frontend Developer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85958/principal-software-engineer/job&quot;&gt;Principal Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://global-redhat.icims.com/jobs/85960/principal-software-engineer---application-services/job&quot;&gt;Principal Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85925/principal-software-engineer/job&quot;&gt;Principal Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85963/senior-software-engineer/job&quot;&gt;Senior Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://global-redhat.icims.com/jobs/85957/senior-software-engineer---application-services/job&quot;&gt;Senior Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85923/senior-software-engineer/job&quot;&gt;Senior Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85924/senior-software-engineer/job&quot;&gt;Senior Software Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Quality Engineering:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85928/principal-software-quality-engineer/job&quot;&gt;Principal Software Quality Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85926/senior-software-quality-engineer/job&quot;&gt;Senior Software Quality Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://global-redhat.icims.com/jobs/85930/senior-automation-engineer---application-services/job&quot;&gt;Senior Automation Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Product Security:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85934/product-security-engineer-for-single-sign-on/job&quot;&gt;Product Security Engineer&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Management:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85159/principal-product-manager---sso-iam/job&quot;&gt;Principal Product Manager&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://us-redhat.icims.com/jobs/85966/manager%2c-software-engineering/job&quot;&gt;Manager, Software Engineering&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2021/04/jobs.adoc</guid>
        <pubDate>Fri, 23 Apr 2021 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Introducing Keycloak.X Distribution</title>
        <link>https://www.keycloak.org/2020/12/first-keycloak-x-release.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The world is changing fast and IT has been an important part of the engine. As companies start moving their infrastructure to the cloud, security becomes a key factor to make this journey a success.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are proud to announce that Keycloak is now running on top of Quarkus, a Kubernetes and Cloud native Stack using the best of breed Java libraries and standards, to give to our users a cloud-friendly distribution with a strong focus on usability, scalability, and optimized for running in the hybrid cloud.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Also known as Keycloak.X, this new distribution format provides:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Reduced startup time&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lower memory footprint&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Container-First Approach&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Better Developer Experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Focus on Usability&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_why_quarkus&quot;&gt;Why Quarkus ?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is basically a Java application, currently running on top of the Wildfly (JEE) Application Server. So far, that is how we have been releasing the Keycloak Server for general use.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While Wildfly is probably the most optimized, easy-to-use, and best performing JEE Application Server, the requirements we have now for running in a more cloud-native fashion push us forward, where Quarkus, being a Java and Container-First stack, provides the more natural path for bringing to Keycloak all the capabilities that make Quarkus the perfect fit for running in the hybrid cloud with a focus on platforms like Kubernetes and Openshift.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information on Quarkus, check their web site at &lt;a href=&quot;https://quarkus.io/&quot; class=&quot;bare&quot;&gt;https://quarkus.io/&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_focus_on_usabillity&quot;&gt;Focus on Usabillity&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On Quarkus, Keycloak is a regular Java application with a much simpler stack if compared to the Wildfly distribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the new distribution users should expect a better experience when configuring and starting the server as well as when performing other common operations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The introduction of a rich Command-Line Interface makes it a lot easier to install and use Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_smaller&quot;&gt;Smaller&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The distribution is simpler with only a few directories, and the total size of the distribution is almost half the size of the current WildFly based distribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By leveraging Quarkus, Keycloak has significantly reduced server startup time, memory footprint (low RSS), as well as better runtime performance through Vert.x.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All these aspects are important when deploying in the hybrid cloud where resource usage should be optimized to provide the optimal runtime environment as well as reduced costs.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_container_first_and_cloud_native_distribution&quot;&gt;Container-First and Cloud-Native Distribution&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In conjunction with the Keycloak Operator, deploying Keycloak to the hybrid cloud should be easier.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The same goes for spinning up a simple container.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_developer_experience&quot;&gt;Developer Experience&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Quarkus provides a rich ecosystem for developers with an impressive number of integrations to different libraries.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Flexibility is probably one of the main characteristics of Keycloak and with Quarkus we expect to provide a much better experience for developers.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_installation&quot;&gt;Installation&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Download and extract the &lt;strong&gt;Keycloak.X&lt;/strong&gt; distribution zip or tar.gz file from &lt;a href=&quot;https://www.keycloak.org/downloads&quot;&gt;https://www.keycloak.org/downloads&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_directory_structure&quot;&gt;Directory Structure&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;bin&lt;/code&gt; directory is where all binaries are located, basically the new Keycloak CLI and a few other utilities.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;conf&lt;/code&gt; directory, as the name suggests, is where configuration files are located. You may be using the &lt;code&gt;keycloak.properties&lt;/code&gt; file within this directory to configure the server or not. More on that you’ll see later when we talk about configuration in more detail.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;providers&lt;/code&gt; directory is where you should deploy your JAR files with your custom providers or themes jar.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_command_line_interface&quot;&gt;Command-Line Interface&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the main requirements we have is to improve user experience when using the server for the very first time as well as in the long run when the server is running in production.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Common operations that people usually perform on the server are easier to perform and configuration should be simpler by providing good defaults and requiring the minimal set of options to have a running server.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak CLI is a tool that you should now use to start and change configuration of the server. As any other CLI, it is self-descriptive with good documentation around its usage.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By running:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh --help&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You are now able to look at the different actions you can perform, such as starting the server or exporting a realm, as well as go through the different configuration options you can set for each supported command.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’re always looking for improvements in the CLI. Please, feel free to contact us with any suggestion you think that might help.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_starting_the_server&quot;&gt;Starting the Server&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As previously mentioned, the default configuration imposes some conditions on how the server can be started.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the main conditions to successfully start the server is to configure HTTPS.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, for development purposes Keycloak can be started in development mode.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For now, this mode is basically a configuration profile that allows you to run the server without HTTPS using local caches.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh start-dev&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After executing the command above, the server should be available at &lt;a href=&quot;http://localhost:8080/&quot; class=&quot;bare&quot;&gt;http://localhost:8080/&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the future, this mode will also lax on some configuration policies for realms that otherwise would not be allowed when running in production. For instance, using wildcards as valid redirect URIs for your clients.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_configuring_the_server&quot;&gt;Configuring the Server&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Considering how critical an IAM solution is and the impact of misconfiguration on the overall security of the deployment, Keycloak is now distributed with the minimal configuration possible with a secure by default policy in mind.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The idea is to provide the bare minimum configuration options to run the server while imposing some key constraints on how the configuration should be set before running in production.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is one of the main areas we are improving, and constantly trying to improve, where boilerplate configuration should be avoided through a small set of configuration options or with good defaults.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The different configuration options can now be set using a properties file, environment variables or as arguments through the Keycloak CLI.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can easily check the available configuration options by running the &lt;code&gt;help&lt;/code&gt; command.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details about the configuration, check the &lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/keycloak.x/configuration.md&quot;&gt;Configuration Design&lt;/a&gt; document.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuration_categories&quot;&gt;Configuration Categories&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Configuration options are organized in two categories:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Those that can be set at &lt;strong&gt;runtime&lt;/strong&gt; when starting the server&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Those that can only be set when &lt;strong&gt;configuring&lt;/strong&gt; the server through the &lt;code&gt;config&lt;/code&gt; command&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As an example, if you want to change the HTTP port to &lt;code&gt;8180&lt;/code&gt;, you may use:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh --http-port=8180&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, for changing the database, you would need to first run the &lt;code&gt;config&lt;/code&gt; command before starting the server:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh config --db=postgres --db-username=******* --db-password=*******
Kc.sh # then start the server&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Basically, any configuration option you can set when configuring the server can also be set when starting the server, but the other way around is not true, and the database configuration is an example of that.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check the &lt;code&gt;help&lt;/code&gt; option to check which properties can be set for each available command.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_https&quot;&gt;HTTPS&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the real world, you would configure a valid key pair and certificate, but you can use the command below to generate a self-signed certificate to understand how to
setup HTTPS.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Just make sure to execute the following command at the root directory of the distribution:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname &quot;CN=server&quot; -alias server -ext &quot;SAN:c=DNS:localhost,IP:127.0.0.1&quot; -keystore conf/server.keystore&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The command above should create a &lt;code&gt;server.keystore&lt;/code&gt; file inside the &lt;code&gt;conf&lt;/code&gt; directory. By default, Keycloak will load the keys and certificates from this keystore if none was set.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After that, you can run the server as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_database&quot;&gt;Database&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Database configuration is much simpler. You are able to change the database with only a few simple command-line arguments:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh config --db=postgres &amp;amp;&amp;amp; kc.sh --db-username=**** --db-password=****&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For each database we provide good defaults for JDBC URL, driver, database name, and dialect. So you don’t need to provide these options if you are happy with the defaults.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the example above, the server connects to a PostgreSQL service running on localhost where the database name is &lt;code&gt;keycloak&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Of course, when running in production you usually need to customize the JDBC URL and other parameters , so you can start the server as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh --db-url=jdbc:postgresql://&amp;lt;host&amp;gt;/&amp;lt;database&amp;gt; \
      --db-username=****** \
      --db-password=******&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Or still rely on the default JDBC URL and set both host and database as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh -Dkc.db.url.host=&amp;lt;host&amp;gt; \
      -Dkc.db.url.database=&amp;lt;database&amp;gt;
      --db-username=******
      --db-password=******&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_clustering&quot;&gt;Clustering&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the time being we are still using Infinispan and JGroups for clustering and HA deployments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, the configuration is now using Infinispan’s native configuration as opposed to using an abstraction as in the Wildfly Infinispan Subsystem. That should give much more flexibility in terms of configuration, support, as well as documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The configuration is also simplified and you should get good defaults for the different platforms where the server is being deployed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By default, clustering is enabled and you are ready to build a Keycloak cluster using the default configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default configuration is located in the &lt;code&gt;conf&lt;/code&gt; directory, the file name is &lt;code&gt;cluster-default.xml&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the same directory, you also have a &lt;code&gt;cluster-local.xml&lt;/code&gt; file which configures all caches as local, no clustering. To use this configuration you run the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh --cluster=local&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can define your own cache configuration by just creating a file in the &lt;code&gt;conf&lt;/code&gt; directory with the &lt;code&gt;cluster-&lt;/code&gt; prefix, just like &lt;code&gt;cluster-local.xml&lt;/code&gt; and &lt;code&gt;cluster-default&lt;/code&gt; files that we ship with the distribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We also provide some good defaults for specific platforms such as Kubernetes and EC2. For instance, to run a cluster in Kubernetes you could run the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh -Djgroups.dns.query=&amp;lt;jgroups-ping-service&amp;gt;.&amp;lt;namespace&amp;gt;.&amp;lt;cluster-domain-suffix&amp;gt; --cluster-stack=kubernetes&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default configuration for these platforms is based on the defaults provided by Infinispan.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the example above, the default configuration for Kubernetes is going to be based on UDP for node communication and DNS_PING for node discovery. Any parameter you can use to customize the default configuration can be obtained from Infinispan documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_custom_providers_and_themes&quot;&gt;Custom Providers and Themes&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The JAR files for custom providers and themes should be placed in the &lt;code&gt;providers&lt;/code&gt; directory.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, in order to benefit from optimizations when installing custom providers, you should first run the &lt;code&gt;config&lt;/code&gt; command
before starting the server:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;kc.sh config
kc.sh # then start the server&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Basically, SPI implementations are resolved when configuring the server hence saving startup time and memory during startup. Once
you run the &lt;code&gt;config&lt;/code&gt; command to install your custom providers, they would be statically linked into the server.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_running_in_a_container&quot;&gt;Running in a Container&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To run Keycloak using Docker, you can use the following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;docker run --name keycloak -p 8080:8080  \
    -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \
    quay.io/keycloak/keycloak-x \
    start-dev&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As expected, the container will run in development mode.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can run the server in the same manner as when using the Keycloak.X distribution by passing any command-line argument.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To configure the container with any additional configuration that you want to persist into the server image, you can use the &lt;code&gt;--auto-config&lt;/code&gt; option as follows:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;docker run --name keycloak -p 8080:8080 \
    -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \
    quay.io/keycloak/keycloak-x \
    --auto-config \
    --db=postgres -Dkc.db.url.host=$DB_HOST --db-username=keycloak --db-password=change_me --http-enabled=true&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The command above should be enough to run a server using a PostgreSQL database listening on a given &lt;code&gt;DB_HOST&lt;/code&gt;. Once the container is created, subsequent restarts will never go through the configuration phase again but just start the server with the configuration previously defined.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The recommendation, however,  is to always create your own image based on this image. By doing that, you are able to perform more customizations, such as deploying custom providers or themes, as well as improve the startup time by eliminating the configuration step.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details and examples, see &lt;a href=&quot;https://github.com/keycloak/keycloak-containers/tree/master/server-x&quot;&gt;https://github.com/keycloak/keycloak-containers/tree/master/server-x&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_benchmarking&quot;&gt;Benchmarking&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Here are a few numbers for a very simple comparison between Keycloak running on Quarkus and Wildfly.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Both distributions are running using OpenJDK 11, a PostgreSQL Database, and numbers are the average of 10 consecutive runs for each distribution.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The test scenario involves running the server for the very first time as well as when the database is already initialized.&lt;/p&gt;
&lt;/div&gt;
&lt;table class=&quot;tableblock frame-all grid-all stretch&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;col style=&quot;width: 20%;&quot;&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Distribution&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot; colspan=&quot;2&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Startup Time&lt;/strong&gt;(s)&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot; colspan=&quot;2&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Memory Footprint&lt;/strong&gt;(RSS/MB)&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;First&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Second+&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;First&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Second+&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Wildfly&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;12.1&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;8.1&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;646&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;512&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Quarkus&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;7.6&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;3.1&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;428&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-center valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;320&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The numbers should speak by themselves and people should expect these numbers improving on each Keycloak.X release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, it is not only about cutting down MBs but how to optimize memory usage. By running both servers using a 64MB heap, you should notice that when running on Wildfly you have a lot of garbage collection that eventually may cause the server to fail to start. While with Keycloak.X using the same heap size you are able to have a running server. Of course, using this heap size is not realistic depending on your use case but it gives a good idea on what you should expect from now on.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Regarding performance, in this first release our main focus was startup time and memory consumption. Runtime performance is a WIP and the results are promising due to the fact that Keycloak.X runs on top of Vert.X.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In general, we are still just on the beginning of the journey.  Once Keycloak has the native distribution on Quarkus, we can expect even faster startup times, smaller memory consumption and overaly better performance with less resources.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_roadmap&quot;&gt;Roadmap&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is only the beginning of our journey to provide a more cloud friendly experience for those using Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak.X is a preview distribution and we are constantly improving it with the help of our community until it becomes our main distribution. We appreciate any feedback during this journey.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There are a lot of important work being done that complements Keycloak.X distribution such as:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Zero-Downtime Upgrade&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Native Image Support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improve Developer Experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;More documentation&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We would like to ask for your support and feedback to keep improving your experience on using Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_thanks_to_the_community&quot;&gt;Thanks to the Community&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This was a result of a combined effort by the community and as such we would like to highlight and thank for all contributions we had.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A special thanks to:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Quarkus Team&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Stuart Douglas&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sanne Grinovero&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Guillaume Smet&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Backbase&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dmitry Telegin (&lt;a href=&quot;https://github.com/dteleguin&quot; class=&quot;bare&quot;&gt;https://github.com/dteleguin&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Matthew Conners (&lt;a href=&quot;https://github.com/bb-matthewc&quot; class=&quot;bare&quot;&gt;https://github.com/bb-matthewc&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;And everybody that helped with the &lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/keycloak.x/configuration.md&quot;&gt;Configuration Design Document&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_references&quot;&gt;References&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/keycloak.x/configuration.md&quot;&gt;Configuration Design&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-containers/tree/master/server-x&quot;&gt;Container&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/&quot;&gt;Keycloak Site&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://quarkus.io/&quot;&gt;Quarkus Site&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://quarkus.io/guides/performance-measure&quot;&gt;Quarkus Measuring Performance&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2020/12/first-keycloak-x-release.adoc</guid>
        <pubDate>Wed, 16 Dec 2020 00:00:00 GMT</pubDate>
        
        <author>Keycloak Team</author>
      </item>
      <item>
        <title>New Account Console</title>
        <link>https://www.keycloak.org/2020/09/new-account-console.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak team is excited that our new Account Console is finally final!  The old account console is still available for those who need it, but the new version is the default from now on.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This new console is written as a Single Page Application with &lt;a href=&quot;https://reactjs.org/&quot;&gt;React&lt;/a&gt; and &lt;a href=&quot;https://www.patternfly.org/v4/&quot;&gt;PatternFly 4&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition to the modern look and feel, we make it really easy for organizations to personalize the console with custom themes and even custom pages that can have unlimited functionality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_screen_shots_of_new_account_management_console&quot;&gt;Screen shots of New Account Management Console&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/welcome-screen.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/main-screen.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/device-activity.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_theming&quot;&gt;Theming&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;PatternFly 4 makes it really easy to theme the new account console using its system of &lt;a href=&quot;https://www.patternfly.org/v4/documentation/overview/global-css-variables&quot;&gt;CSS variables&lt;/a&gt;.  All you have to do is tweak a few variables, add your own logo, and the console is perfectly skinned.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-css&quot; data-lang=&quot;css&quot;&gt;body {
  --pf-global--FontFamily--sans-serif: Comic Sans MS;
  --pf-global--FontFamily--heading--sans-serif: Comic Sans MS;
  --pf-global--BackgroundColor--dark-100: #2B9AF3;
  --pf-global--Color--100: #004080;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/keycloak-man-welcome-screen.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_create_your_own_sub_pages&quot;&gt;Create your own sub-pages&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You may have noticed the &quot;Keycloak Man&quot; section above. The new console includes one of our most requested features.  That is the ability to add and remove sub-pages.  So we&amp;#8217;ve made it very easy to develop and plug in your own React component and add it to the Account Console.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It&amp;#8217;s even possible to build new pages with nothing but an editor.  No build step is required unless you want to use more advanced tools like JSX and Typescript.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/who-is-keycloak-man.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/keycloak-man-overview.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/new-account-console/keycloak-man-jsx.png&quot; alt=&quot;alt&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Of course, this &quot;Keycloak Man&quot; theme is available online as a Keycloak Quick Start so you can check out all the source.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_the_home_for_new_keycloak_features&quot;&gt;The Home for New Keycloak Features&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New Account Console is the home for user configuration of new Keycloak features like &lt;a href=&quot;https://www.keycloak.org/2019/03/w3c-web-authentication-(webauthn).html&quot;&gt;WebAuthn support&lt;/a&gt;.  So look for new features to start showing up in the New Account Console instead of the old one.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2020/09/new-account-console.adoc</guid>
        <pubDate>Fri, 4 Sep 2020 00:00:00 GMT</pubDate>
        
        <author>Stan Silvert</author>
      </item>
      <item>
        <title>Sunsetting Louketo Project</title>
        <link>https://www.keycloak.org/2020/08/sunsetting-louketo-project.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After careful consideration, we have decided to pull the plug on Louketo and start the EOL procedure. The plan is during the next 3 months to fix only critical bugs and security issues. Everyone interested in capabilities provided by Louketo Proxy should look at &lt;a href=&quot;https://github.com/oauth2-proxy/oauth2-proxy&quot;&gt;OAuth2 Proxy&lt;/a&gt; project which is providing a similar set of capabilities and has a healthy and active community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://groups.google.com/g/keycloak-dev/c/oDyw94BWxM0/m/zc0J9R10BwAJ&quot;&gt;A few months ago&lt;/a&gt;, the Keycloak team started Louketo — a joint effort to build a generic OAuth2 Proxy and possibly also begin an umbrella project for a set of OIDC related integration libraries. The initial set of goals has not worked out. Keycloak Gatekeeper and OAuth2 Proxy projects hoped to merge and join efforts but for various reasons, this has not worked out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With Louketo and OAuth2 proxy providing similar features, OAuth Proxy being a more popular project with a bigger community we reached a conclusion there&amp;#8217;s no reason to put more effort into Louketo, when we can just contribute there.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What does it mean in practice?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_faq&quot;&gt;FAQ&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_will_louketo_proxy_be_no_longer_maintained_will_there_be_no_new_releases&quot;&gt;Will Louketo Proxy be no longer maintained? Will there be no new releases?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Critical bug fixes will be merged and micro releases provided for the next 3 months. It is up to community members to step up and take over maintaining and driving this project further if they wish to do so. Please comment on the &lt;a href=&quot;https://github.com/louketo/louketo-proxy/issues/683&quot;&gt;GitHub issue&lt;/a&gt; or contact the Keycloak team on the &lt;a href=&quot;https://groups.google.com/forum/#!forum/louketo&quot;&gt;mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_are_there_any_alternatives_i_should_use_instead&quot;&gt;Are there any alternatives I should use instead?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OAuth2 Proxy is very close in a set of capabilities to Louketo Proxy and we highly suggest you investigate it as a replacement.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_how_do_i_migrate_to_oauth2_proxy&quot;&gt;How do I migrate to OAuth2 Proxy?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’ll provide high-level guidance on how to migrate. Although unfortunately there is no comprehensive guide nor magical script. Some corner cases, specific configurations, and capabilities may not be fully covered or addressed in exactly the same way.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_why_are_you_abandoning_louketo_proxy_as_a_project&quot;&gt;Why are you abandoning Louketo Proxy as a project?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Initial goals failed. Which were merging with OAuth2 Proxy and creating a wider set of OAuth2/OIDC integration libraries. Some individuals originally interested in collaboration took a step back. The end result is the Louketo project duplicating efforts and capabilities of other much more popular projects - OAuth2 Proxy. As we believe in OpenSource we just don’t want to follow NIH syndrome :)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_i_would_like_to_keep_maintaining_louketo_what_should_i_do&quot;&gt;I would like to keep maintaining Louketo - what should I do?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please comment on the &lt;a href=&quot;https://github.com/louketo/louketo-proxy/issues/683&quot;&gt;GitHub issue&lt;/a&gt; so others can join the discussion. We’ll take it from there :)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_what_happens_if_nobody_will_step_up_to_maintain_louketo&quot;&gt;What happens if nobody will step up to maintain Louketo?&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After 3 months Louketo repository will be archived and made read-only.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2020/08/sunsetting-louketo-project.adoc</guid>
        <pubDate>Fri, 21 Aug 2020 00:00:00 GMT</pubDate>
        
        <author>Bruno Oliveira</author>
      </item>
      <item>
        <title>New Keycloak Admin Console Design</title>
        <link>https://www.keycloak.org/2020/04/new-admin-console-design.adoc</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are planning to completely re-vamp the Keycloak Admin Console, and have been lucky enough to get awesome help from
UXD professionals.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The designs are a work-in-progress, but some sections of the console are already ready. We would love to get feedback
from users of Keycloak in order to make the new admin console as good as it can be.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In order to make it as easy as possible for everyone to view the designs and provide feedback we have created a
&lt;a href=&quot;https://www.keycloak.org/keycloak-community/design/admin-console/&quot;&gt;dedicate website&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2020/04/new-admin-console-design.adoc</guid>
        <pubDate>Thu, 16 Apr 2020 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Introducing Keycloak.X</title>
        <link>https://www.keycloak.org/2019/10/keycloak-x</link>
        <description>

&lt;h2&gt;What are we trying to improve?&lt;/h2&gt;

&lt;p&gt;The first stable release of Keycloak was way back in 2014. As always when building software there are things that could
have been done better.&lt;/p&gt;

&lt;p&gt;With Keycloak.X we are aiming to introduce some bigger changes to make Keycloak leaner, easier and more future-proof.&lt;/p&gt;

&lt;p&gt;A few goals with Keycloak.X are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make it easier to configure&lt;/li&gt;
&lt;li&gt;Make it easier to scale, including multi-site support&lt;/li&gt;
&lt;li&gt;Make it easier to extend&lt;/li&gt;
&lt;li&gt;Reduce startup time and memory footprint&lt;/li&gt;
&lt;li&gt;Support zero-downtime upgrades&lt;/li&gt;
&lt;li&gt;Support continuous delivery&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This work will be broken into several parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A new and improved storage layer&lt;/li&gt;
&lt;li&gt;A new distribution powered by &lt;a href=&quot;https://quarkus.io&quot;&gt;Quarkus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A new approach to custom providers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Distribution&lt;/h2&gt;

&lt;p&gt;Building a new distribution powered by Quarkus will allow us to significantly reduce startup time and memory footprint.&lt;/p&gt;

&lt;p&gt;We will be able to create a leaner distribution in terms of size and dependencies as well. Reducing dependencies will
further reduce the number of CVEs in third-party libraries.&lt;/p&gt;

&lt;p&gt;We are also planning to introduce a proper Keycloak configuration file, where we will document directly how to configure
everything related to Keycloak. In the current WildFly based distribution the configuration file is very complex as
it contains everything to configure the underlying application server, and more often than not it is required to refer
to WildFly documentation to figure out how to configure things properly.&lt;/p&gt;

&lt;h2&gt;Storage&lt;/h2&gt;

&lt;p&gt;The current storage layer is complex, especially when deployed to multiple-sites. It has a number of scalability issues
like the number of realms and clients. Sessions are only kept in-memory, which can be good for performance, but not
so great for scaling when you consider a large portion of sessions are idle and unused most of the time.&lt;/p&gt;

&lt;p&gt;Exactly what the new storage layer will look like is still to be decided, but we know for sure that we want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce complexity with regards to configuring, SPIs and schema&lt;/li&gt;
&lt;li&gt;Support zero downtime upgrades&lt;/li&gt;
&lt;li&gt;Make sure we can scale to large number of realms and clients&lt;/li&gt;
&lt;li&gt;Make sure we can scale to millions of sessions, including support for persisting and passivation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Providers&lt;/h2&gt;

&lt;p&gt;Providers today have some issues that we would like to address. Including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deprecation and versioned approach to SPIs - breaking changes to APIs are horrible in a continuous delivery world&lt;/li&gt;
&lt;li&gt;Polyglot - not everyone is a JavaEE developer, let&#39;s embrace that and allow more options when it comes to extending Keycloak&lt;/li&gt;
&lt;li&gt;Sand-boxing - allow safe customizations in a SaaS world&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Continuous Delivery&lt;/h2&gt;

&lt;p&gt;We are aiming to make it easier to use Keycloak in a continuous delivery world. This should consider Keycloak upgrades,
custom providers as well as configuration.&lt;/p&gt;

&lt;p&gt;Keycloak upgrades should be seamless and there should not be any breaking changes, rather deprecation periods.&lt;/p&gt;

&lt;p&gt;It should be possible to more easily manage and reproduce the config of Keycloak, including realm config, in different
environments. A developer should be able to try some config changes in a dev environment, push to a test environment,
before finally making the changes live in a production environment.&lt;/p&gt;

&lt;h2&gt;Contributing&lt;/h2&gt;

&lt;p&gt;We would love help from the community on Keycloak.X. You can contribute with code, with discussions or simply just trying
it out and giving us feedback.&lt;/p&gt;

&lt;h2&gt;Migration to Keycloak.X&lt;/h2&gt;

&lt;p&gt;There will be a migration required to Keycloak.X. In fact there will be multiple migrations required as everything
mentioned earlier will not be ready in one go.&lt;/p&gt;

&lt;p&gt;It is an aim to make this migration as simple and painless as possible though.&lt;/p&gt;

&lt;h2&gt;Timing&lt;/h2&gt;

&lt;p&gt;We are staring with the Quarkus powered distribution. The aim is to have a fully functional stable distribution by the
end of 2019, but we already have &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/master/quarkus&quot;&gt;a prototype&lt;/a&gt; you can try out
and contribute to.&lt;/p&gt;

&lt;p&gt;In 2020 we are aiming to work on both the storage layer and providers. Hopefully, by the end of 2020 we will have most
if not everything sorted out.&lt;/p&gt;

&lt;p&gt;We will continue to support the current Keycloak version in parallel with Keycloak.X and will give everyone plenty of
time to do the migration before we eventually will pull the plug on the old.&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2019/10/keycloak-x</guid>
        <pubDate>Fri, 11 Oct 2019 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>What's Coming To Keycloak</title>
        <link>https://www.keycloak.org/2019/09/2019-roadmap</link>
        <description>
&lt;h3&gt;New Account Console and Account REST API&lt;/h3&gt;

&lt;p&gt;The current account console is getting dated. It is also having issues around usability and being hard
to extend. For this reason we had the UXD team at Red Hat develop
&lt;a href=&quot;https://marvelapp.com/c90dfi0/screen/59941600&quot;&gt;wireframes&lt;/a&gt; for a new account console. The new console
is being implemented with React.js providing a better user experience as well as making it easier to extend
and customise.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-6197&quot;&gt;JIRA - Account Console&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-7428&quot;&gt;JIRA - Account REST API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;WebAuthn&lt;/h3&gt;

&lt;p&gt;We are working towards adding WebAuthn support both for two factor authentication and passwordless experience.
This task is not as simple as adding an authenticator for WebAuth, but will also require
work on improving authentication flows and the account console.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/multi-factor-admin-and-step-up.md&quot;&gt;Design proposal - Authentication flow improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/web-authn-authenticator.md&quot;&gt;Design proposal - WebAuthn Authenticator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/web-authn-two-factor.md&quot;&gt;Design proposal - WebAuthn Two factor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-7159&quot;&gt;JIRA - Two factor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-9365&quot;&gt;JIRA - Passwordless&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Operator&lt;/h3&gt;

&lt;p&gt;Operators are becoming an important way to manage software running on Kubernetes and we are working on an operator for
Keycloak. The aim is to have an operator published on &lt;a href=&quot;https://operatorhub.io/&quot;&gt;OperatorHub.io&lt;/a&gt; soon which
provides basic install and seamless upgrade capabilities. This will be based on the awesome work done by the
Red Hat Integreatly team.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-7300&quot;&gt;JIRA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/integr8ly/keycloak-operator&quot;&gt;Integreatly Keycloak Operator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Vault&lt;/h3&gt;

&lt;p&gt;At the moment to keep credentials such as LDAP bind credentials more secure it is required to encrypt the whole
database. This can be complex and can also have a performance overhead.&lt;/p&gt;

&lt;p&gt;We are working towards enabling loading credentials, such as LDAP bind credential and SMTP password, from an external vault.
We&#39;re providing a built-in integration with Kubernetes secrets as well as an SPI allowing integrating with any vault provider.&lt;/p&gt;

&lt;p&gt;In the future we will also provide the option to encrypt other more dynamic credentials at rest in the database.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-3205&quot;&gt;JIRA - Vault&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-10774&quot;&gt;JIRA - Encryption at rest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;User Profile&lt;/h3&gt;

&lt;p&gt;Currently there&#39;s no single place to define user profiles for a realm. To resolve this we are planning to introduce the Profile SPI,
which will make it possible to define a user profile for a realm. It will be possible to define mandatory as well as
optional attributes and also add validation to the attributes.&lt;/p&gt;

&lt;p&gt;The built-in Profile SPI provider will make it possible to declaratively define the user profile for a realm and we
also aim to have an editor in the admin console.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-2966&quot;&gt;JIRA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Observerability&lt;/h3&gt;

&lt;p&gt;Keycloak already comes with basic support for metrics and health endpoints provided by the underlying WildFly container.
We plan to document how to enable this as well as extend with Keycloak specific metrics and health checks. If you would
like to try this out today check the WildFly documentation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-8288&quot;&gt;JIRA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Continuous Delivery&lt;/h3&gt;

&lt;p&gt;Over the last few months the team has invested a significant amount of time into automated testing and builds. This
will pay of in the long run as we will need to spend less time on releases and will also make sure Keycloak is always
release ready. In fact we&#39;re taking this as far as not allowing maintainers to manually merge PRs anymore, but rather
have created a bot called the Merge Monster that will merge PRs automatically after they have been both manually reviewed
and all tests have passed.&lt;/p&gt;


&lt;h3&gt;Keycloak.X&lt;/h3&gt;

&lt;p&gt;It&#39;s 5 years since the first Keycloak release so high time for some rearchitecting. More details coming soon!&lt;/p&gt;


&lt;h3&gt;Kanban Planning Board&lt;/h3&gt;

&lt;p&gt;For more insight and details into what we are working on and our backlog, check out our
&lt;a href=&quot;https://issues.jboss.org/secure/RapidBoard.jspa?rapidView=4740&amp;quickFilter=17938&amp;quickFilter=17950&quot;&gt;
Kanban Planning Board&lt;/a&gt;.</description>
        <guid>https://www.keycloak.org/2019/09/2019-roadmap</guid>
        <pubDate>Tue, 3 Sep 2019 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak and JDBC Ping</title>
        <link>https://www.keycloak.org/2019/08/keycloak-jdbc-ping</link>
        <description>
&lt;p&gt;
A few months back, we had a great article about clustering using &lt;a href=&quot;http://jgroups.org/manual/#JDBC_PING&quot;&gt;JDBC_PING&lt;/a&gt; protocol. Since then, we introduced some improvements for the &lt;a href=&quot;https://quay.io/repository/keycloak/keycloak?tab=tags&quot;&gt;Keycloak container image&lt;/a&gt; that can simplify the setup. So, before diving into this blog post, I highly encourage you to visit the &lt;a href=&quot;https://www.keycloak.org/2019/05/keycloak-cluster-setup.html&quot;&gt;Keycloak Cluster Setup&lt;/a&gt; article.
&lt;/p&gt;


&lt;h2&gt;What has changed in our Container Image?&lt;/h2&gt;
&lt;p&gt;
Probably the most important change is configuring the JGroups discovery protocol by using variables (see the &lt;a href=&quot;https://github.com/jboss-dockerfiles/keycloak/pull/151&quot;&gt;Pull Request&lt;/a&gt;). Once the change got in, we could configure the JGroups discovery by setting two properties:
&lt;ul&gt;
&lt;li&gt;JGROUPS_DISCOVERY_PROTOCOL&lt;/li&gt;
&lt;li&gt;JGROUPS_DISCOVERY_PROPERTIES&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;h2&gt;Let&#39;s apply the changes, shall we...&lt;/h2&gt;
&lt;p&gt;
The JDBC_PING-based setup works fine in all scenarios, where we connect all Keyclaok instances to the same database. Since JDBC_PING can be configured to obtain a database connection using JNDI binding, it can easily connect to the Keycloak database. All we need to do is to add two parameters to our docker image:
&lt;ul&gt;
&lt;li&gt;JGROUPS_DISCOVERY_PROTOCOL=JDBC_PING&lt;/li&gt;
&lt;li&gt;JGROUPS_DISCOVERY_PROPERTIES=datasource_jndi_name=java:jboss/datasources/KeycloakDS&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

You may find an end-to-end scenario &lt;a href=&quot;https://github.com/jboss-dockerfiles/keycloak/pull/204&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;Additional configuration&lt;/h2&gt;
&lt;p&gt;
In some scenarios, you may need additional configuration. All additional settings might be added to the JGROUPS_DISCOVERY_PROPERTIES. Here are some hints and common problems, that you may find:
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Problem description&lt;/td&gt;
&lt;td&gt;Possible solution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The initialization SQL needs to be adjusted&lt;/td&gt;
&lt;td&gt;In this case, you might want to look at &lt;tt&gt;initialize_sql&lt;/tt&gt; JDBC_PING property&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;When Keycloak crashes, the database is not cleared&lt;/td&gt;
&lt;td&gt;Turn &lt;tt&gt;remove_old_coords_on_view_change&lt;/tt&gt; property on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;When Keycloak crashes, the database is not cleared&lt;/td&gt;
&lt;td&gt;Also, when a cluster is not too large, you may turn the &lt;tt&gt;remove_all_data_on_view_change&lt;/tt&gt; property on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sometimes, Keycloak doesn&#39;t write its data into the database&lt;/td&gt;
&lt;td&gt;You may lower the &lt;tt&gt;info_writer_sleep_time&lt;/tt&gt; and &lt;tt&gt;info_writer_max_writes_after_view&lt;/tt&gt; property values&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;/br&gt;

&lt;p&gt;
Haven fun and don&#39;t forget to let us know what you think about this blog post using the &lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/keycloak-user&quot;&gt;User Mailing List&lt;/a&gt;.
&lt;/br&gt;
Sebastian Łaskawiec and the Keycloak Team
&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/08/keycloak-jdbc-ping</guid>
        <pubDate>Mon, 12 Aug 2019 00:00:00 GMT</pubDate>
        <category>Cluster, JDBC_PING</category>
        <author>Sebastian Łaskaiwec</author>
      </item>
      <item>
        <title>Keycloak Cluster Setup</title>
        <link>https://www.keycloak.org/2019/05/keycloak-cluster-setup</link>
        <description>
&lt;p xmlns=&quot;http://www.w3.org/1999/html&quot;&gt;This post shares some solutions to setup Keycloak cluster in various scenarios (e.g. cross-DC, docker cross-host, Kubernetes).&lt;/p&gt;

&lt;p&gt;If you&#39;d like to setup Keycloak cluster, this blog may give you some reference.&lt;/p&gt;

&lt;p&gt;Two cli script files are added to the &lt;a href=&quot;https://hub.docker.com/r/jboss/keycloak/&quot;&gt;Keycloak image&lt;/a&gt; as per the &lt;a href=&quot;https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md#adding-custom-discovery-protocols&quot;&gt;guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Dockerfile is below and these two files are the most important matter for this blog, you can find them from &lt;a href=&quot;https://raw.githubusercontent.com/fit2anything/keycloak-cluster-setup-and-configuration/master/src/TCPPING.cli&quot;&gt;TCPPING.cli&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/fit2anything/keycloak-cluster-setup-and-configuration/master/src/JDBC_PING.cli&quot;&gt;JDBC_PING.cli&lt;/a&gt;.&lt;/p&gt;

&lt;pre&gt;
FROM jboss/keycloak:latest

ADD cli/TCPPING.cli /opt/jboss/tools/cli/jgroups/discovery/
ADD cli/JDBC_PING.cli /opt/jboss/tools/cli/jgroups/discovery/
&lt;/pre&gt;

&lt;p&gt;First of all we should know that for a Keycloak cluster, all keycloak instances should use same database and this is very simple, another thing is about cache(generally there are two kinds of cache in Keycloaks, the 1st is persistent data cache read from database aim to improve performance like realm/client/user, the 2nd is the non-persistent data cache like sessions/clientSessions, the 2nd is very important for a cluster) which is a little bit complex to configure, we have to make sure the consistent of cache in a cluster view.&lt;/p&gt;

&lt;p&gt;Totally here are 3 solutions for clustering, and all of the solutions are base on the discovery protocols of &lt;a href=&quot;http://jgroups.org/&quot;&gt;JGroups&lt;/a&gt; (Keycloak use &lt;a href=&quot;http://infinispan.org/&quot;&gt;Infinispan&lt;/a&gt; cache and Infinispan use JGroups to discover nodes).&lt;/p&gt;

&lt;h3&gt;1. PING&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://jgroups.org/manual/#PING&quot;&gt;PING&lt;/a&gt; is the default enabled clustering solution of Keycloak using UDP protocol, and you don&#39;t need to do any configuration for this.&lt;/p&gt;
&lt;p&gt;But PING is only available when multicast network is enabled and port 55200 should be exposed, e.g. bare metals, VMs, docker containers in the same host.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/ping-deployment.jpg&quot;/&gt;
&lt;p&gt;We tested this by two Keycloak containers in same host.&lt;/p&gt;
&lt;p&gt;The logs show that the two Keycloak instances discovered each other and clustered.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/ping-log.png&quot;/&gt;

&lt;h3&gt;2. TCPPING&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://jgroups.org/manual/#TCPPING_Prot&quot;&gt;TCPPING&lt;/a&gt; use TCP protocol with 7600 port. This can be used when multicast is not available, e.g. deployments cross DC, containers cross host.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/tcp-ping-deployment.jpg&quot;/&gt;
&lt;p&gt;We tested this by two Keycloak containers cross host.&lt;/p&gt;
&lt;p&gt;And in this solution we need to set three below environment variables for containers.
&lt;pre&gt;
#IP address of this host, please make sure this IP can be accessed by the other Keycloak instances
JGROUPS_DISCOVERY_EXTERNAL_IP=172.21.48.39
#protocol
JGROUPS_DISCOVERY_PROTOCOL=TCPPING
#IP and Port of all host
JGROUPS_DISCOVERY_PROPERTIES=initial_hosts=&quot;172.21.48.4[7600],172.21.48.39[7600]&quot;
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;The logs show that the two Keycloak instances discovered each other and clustered.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/tcp-ping-log.png&quot;/&gt;

&lt;h3&gt;3. JDBC_PING&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://jgroups.org/manual/#_jdbc_ping&quot;&gt;JDBC_PING&lt;/a&gt; use TCP protocol with 7600 port which is similar as TCPPING, but the difference between them is, TCPPING requires you configure the IP and port of all instances,  for JDBC_PING you just need to configure the IP and port of current instance, this is because in JDBC_PING solution each instance insert its own information into database and the instances discover peers by the ping data read from database.&lt;/p&gt;
&lt;p&gt;We tested this by two Keycloak containers cross host.&lt;/p&gt;
&lt;p&gt;And in this solution we need to set two below environment variables for containers.
&lt;pre&gt;
#IP address of this host, please make sure this IP can be accessed by the other Keycloak instances
JGROUPS_DISCOVERY_EXTERNAL_IP=172.21.48.39
#protocol
JGROUPS_DISCOVERY_PROTOCOL=JDBC_PING
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;The ping data of all instances haven been saved in database after instances started.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/jdbc-ping-data.png&quot;/&gt;
&lt;p&gt;The logs show that the two Keycloak instances discovered each other and clustered.&lt;/p&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cluster-setup/jdbc-ping-log.png&quot;/&gt;

&lt;h3&gt;One more thing&lt;/h3&gt;
&lt;p&gt;The above solutions are available for most scenarios, but they are still not enough for some others, e.g.Kubernetes.&lt;/p&gt;
&lt;p&gt;The typical deployment on Kubernetes is one Deployment/ReplicateSet/StatefulSet contains multi Keycloak Pods, the Pods are really dynamic as they can scale up and down or failover to another node, which requires the cluster to discover and remove these dynamic members.&lt;/p&gt;
&lt;p&gt;On Kubernetes we can use &lt;a href=&quot;https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md#openshift-example-with-dnsdns_ping&quot;&gt;DNS_PING&lt;/a&gt; or &lt;a href=&quot;http://jgroups.org/manual/#_kube_ping&quot;&gt;KUBE_PING&lt;/a&gt; which work quite well in  &lt;a href=&quot;https://github.com/helm/charts/blob/master/stable/keycloak/templates/statefulset.yaml#L92&quot;&gt;practice&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Besides DNS_PING and KUBE_PING, JDBC_PING is another option for Kubernetes. &lt;/p&gt;
&lt;p&gt;On Kubernetes multicast is available only for the containers in the same node and a pod has no static ip which can be used to configure TCPPING or JDBC_PING. But in the JDBC_PING.cli mentioned above we have handled this, if you don&#39;t set the JGROUPS_DISCOVERY_EXTERNAL_IP env, the pod ip will be used, that means on Kubernetes you can simply set JGROUPS_DISCOVERY_PROTOCOL=JDBC_PING then your keycloak cluster is ok.&lt;/p&gt;

&lt;h3&gt;Discussion&lt;/h3&gt;
&lt;p&gt;Suggestions and comments can be discussed via &lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/keycloak-user&quot;&gt;Keycloak User Mail List&lt;/a&gt; or &lt;a href=&quot;https://github.com/fit2anything/keycloak-cluster-setup-and-configuration&quot;&gt;this GitHub Repository&lt;/a&gt;.&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/05/keycloak-cluster-setup</guid>
        <pubDate>Fri, 10 May 2019 00:00:00 GMT</pubDate>
        <category>Cluster</category>
        <author>张立强 liqiang@fit2cloud.com</author>
      </item>
      <item>
        <title>Keycloak Community Newsletter #2</title>
        <link>https://www.keycloak.org/2019/05/keycloak-newsletter-2</link>
        <description>

&lt;p&gt;
We have a lot of news to share in this second edition, so fasten your seatbelt and let&#39;s go!
&lt;/p&gt;


&lt;h2&gt;News from the community&lt;/h2&gt;
&lt;p&gt;
First of all, we would like to thank the whole community, which has contributed to this edition by sharing their links, tips, and so on.
&lt;/p&gt;
&lt;p&gt;
  An increasing number of API Management/Gateway solutions can now be integrated with Keycloak. Recently, &lt;a href=&quot;https://www.getambassador.io/&quot;&gt;Ambassador&lt;/a&gt;, an Open Source Kubernetes-Native API Gateway built on the Envoy Proxy, has added &lt;a href=&quot;https://www.getambassador.io/reference/idp-support/keycloak/&quot;&gt;support for Keycloak&lt;/a&gt;; it has also published a &lt;a href=&quot;https://www.getambassador.io/tutorials/github-sso/&quot;&gt;quickstart&lt;/a&gt; to show how Keycloak can be used to add Github as Identity provider.   
&lt;/p&gt;
&lt;p&gt;
We have some good news for Python users. Akhil Lawrence has created a &lt;a href=&quot;https://github.com/akhilputhiry/keycloak-client/releases&quot;&gt;Python Keycloak Adapter Client&lt;/a&gt;. Be sure to check out the really nice &lt;a href=&quot;https://keycloak-client.readthedocs.io/en/latest/&quot;&gt;documentation&lt;/a&gt; that comes with many usage examples.  
&lt;/p&gt;
&lt;p&gt;
Like any other project, setting up clustering can be somehow complex. Liqiang has shared with us his &lt;a href=&quot;https://github.com/fit2anything/keycloak-cluster-setup-and-configuration&quot;&gt;setup and configuration tips&lt;/a&gt;. Thanks again for sharing your knowledge with the community!
&lt;/p&gt;
&lt;P&gt;
The existing &lt;a href=&quot;https://github.com/helm/charts/tree/master/stable/keycloak&quot;&gt;Keycloak Helm Chart&lt;/a&gt; has now been deprecated and is now replaced by the &lt;a href=&quot;https://github.com/codecentric/helm-charts&quot;&gt;one&lt;/a&gt; managed by CodeCentric.
&lt;/p&gt;
&lt;p&gt;
Dmitry Telegin has created a really nice example on how you can dynamically brand your login theme for Keycloak. Check out the repository &lt;a href=&quot;https://github.com/dteleguin/keycloak-dynamic-branding&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Hayri Cicek has written a nice introductory &lt;a href=&quot;https://kodnito.com/posts/microprofile-jwt-with-keycloak/&quot;&gt;article&lt;/a&gt; on how to use Keycloak and MicroProfile. It even shows the usage of the brand new Client Scope &quot;microprofile-jwt,&quot; which has been added in Keycloak 6.0.0.
&lt;/p&gt;


&lt;h2&gt;News from the project&lt;/h2&gt;
&lt;p&gt;
Keycloak 6.0.1 has been &lt;a href=&quot;https://www.keycloak.org/2019/04/keycloak-601-released.html&quot;&gt;released&lt;/a&gt;. We know that some people were a bit confused by our new versioning schema. We hope that this &lt;a href=&quot;https://www.keycloak.org/2019/04/versioning.html&quot;&gt;blog post&lt;/a&gt; will clear it up. 
&lt;/p&gt;
&lt;p&gt;
We started the proposal process for Keycloak to be accepted into the Cloud Native Computing Foundation (CNCF). We hope that this effort will significantly boost our community adoption with our ultimate goal of becoming the de facto solution for OAuth2/OpenID Connect within Open Source and Cloud Native.
You can watch the presentation to the CNCF TOC (Technical Oversight Committee) &lt;a href=&quot;https://www.youtube.com/watch?v=cBrmcH9VFYE&amp;feature=youtu.be&amp;t=1032&quot;&gt;here&lt;/a&gt; and the slides are also available &lt;a href=&quot;https://docs.google.com/presentation/d/1bijEpuwaaa6jR1D5PAjyW731-j6Xc1TFHJuUh_FwwK8/edit?ts=5ca774e9#slide=id.g5628e016b1_15_112&quot;&gt;here&lt;/a&gt;.   
&lt;p&gt;
As mentioned in the previous newsletter, we will now discuss larger features openly on Github. It&#39;s community-focused and we have currently two open Pull Requests:
&lt;ul&gt;
&lt;li&gt;
 &lt;a href=&quot;https://github.com/keycloak/keycloak-community/pull/5&quot;&gt;Managing multi-factor authentication and Step-up authentication&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
 &lt;a href=&quot;https://github.com/keycloak/keycloak-community/pull/6&quot;&gt;Implementation of OAuth 2.0 Device Authorization Grant&lt;/a&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;h2&gt;Conferences / Webinars&lt;/h2&gt;
&lt;p&gt;
W-Jax has just posted a YouTube talk in German &lt;a href=&quot;https://t.co/GrBvLr6q5N?amp=1&quot;&gt;Secure Spring Applications with Keycloak&lt;/a&gt; delivered by Thomas Darimont.
&lt;p&gt;
&lt;p&gt;
In May, Sébastien Blanc will deliver a full-day workshop about Keycloak during &lt;a href=&quot;https://voxxeddays.com/minsk/&quot;&gt;VoxxedDays Minsk&lt;/a&gt;
&lt;/p&gt;


&lt;h2&gt;Contributing to Keycloak&lt;/h2&gt;

&lt;p&gt;We always welcome contributions to Keycloak. If you would like to contribute and have a great idea, tell us about it
on the developer mailing list. If you are unsure about what to work on, let us know and we can help!&lt;/p&gt;

&lt;p&gt;As a first time contributor, you may have a simpler idea to start, such as contributing a bug fix. This type of contribution will allow you to get to know the code base, the test suite, and the mechanics of creating a pull request. You can find a list of &lt;a href=&quot;https://issues.jboss.org/issues/?jql=project%20%3D%20Keycloak%20AND%20issuetype%20%3D%20bug%20AND%20fixVersion%20%3D%20%22Awaiting%20Volunteers%22%20&quot;&gt;open bugs here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We also have a list of &lt;a href=&quot;https://issues.jboss.org/issues/?jql=project%20%3D%20Keycloak%20AND%20fixVersion%20%3D%20%22Awaiting%20Volunteers%22%20&quot;&gt;open issues&lt;/a&gt; that
are awaiting contributions. Not all issues are properly reviewed, so we recommend that you start by sending an email to the developer mailing list before you begin.&lt;/p&gt;

&lt;p&gt;
For each newsletter, we will also highlight a few features for which we would especially like contributions. These features include:

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-953&quot;&gt;Allow user to delete account&lt;/a&gt; - In light of GDPR and the right to be forgotten a very useful feature is to allow users to delete their own accounts.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-2940&quot;&gt;OpenID Connect Backchannel Logout&lt;/a&gt; - Add support for OpenID Connect Back-Channel logout specification to Keycloak.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/05/keycloak-newsletter-2</guid>
        <pubDate>Mon, 6 May 2019 00:00:00 GMT</pubDate>
        
        <author>Sébastien Blanc</author>
      </item>
      <item>
        <title>Keycloak Releases and Versioning</title>
        <link>https://www.keycloak.org/2019/04/versioning</link>
        <description>
&lt;p&gt;
We are aiming to achieve a continuous delivery model with Keycloak. By that we mean it should be seamless to upgrade
between Keycloak releases and to keep up to date with the latest release.
&lt;/p&gt;

&lt;p&gt;
This requires no breaking changes, but rather deprecating old APIs allowing time to migrate to new APIs.
&lt;/p&gt;

&lt;p&gt;
Traditional semantic versioning does not fit very well with this model. By following the mantra of continuous delivery
we would forever be stuck on a major version and only update the minor version, and you could argue whether or not it
would be correct to update the major version when an API that has been deprecated for a long period of time is removed.
&lt;/p&gt;

&lt;p&gt;
With this in mind, we have made some slight changes to our release cadence and versioning schema.
&lt;/p&gt;

&lt;p&gt;
For now, we will have a new feature release roughly 4 times each year. Each release will bump the major version number.
That doesn&#39;t mean there are breaking changes, but until we perfect our continuous delivery model there may be some, so
always refer to the migration guide prior to upgrading!
&lt;/p&gt;

&lt;p&gt;
We have also decided to drop the Final suffix from releases. That is simply because it is not needed as we have not done
any beta or release candidates for a long time. In the spirit of continuous delivery, we will have individual features
marked as preview rather than whole releases.
&lt;/p&gt;

&lt;p&gt;
As a final note, with the reduced release cadence we are planning to do more micro releases. This will be focused on
critical bugs and security vulnerabilities. However, we may accept contributions to less critical bugs given the fix
is well tested and has low risk of regressions.
&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/04/versioning</guid>
        <pubDate>Wed, 24 Apr 2019 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak Community Newsletter #1</title>
        <link>https://www.keycloak.org/2019/04/keycloak-newsletter-1</link>
        <description>
&lt;p&gt;
This is the very first &quot;Keycloak Community Newsletter.&quot; The goal of this newsletter is to share news about the Keycloak project.
&lt;/p&gt;


&lt;h2&gt;News from the community&lt;/h2&gt;
&lt;p&gt;
Since the beginning of the year, the community has been really active. Each week several blog posts about Keycloak are published. Here is a short selection.
&lt;/p&gt;
&lt;p&gt;
Let&#39;s start with Philip Riecks who explains in &lt;a href=&quot;https://rieckpil.de/howto-microprofile-jwt-authentication-with-keycloak-and-react/&quot;&gt;this article&lt;/a&gt; how you can use Microprofile JWT Authentication with Keycloak and React.
&lt;/p&gt;
&lt;p&gt;
Ramandeep Singh has been &lt;a href=&quot;https://medium.com/@ramandeep.singh.1983/enterprise-web-app-authentication-using-keycloak-and-node-js-c10b0e26b80d&quot;&gt;blogging&lt;/a&gt; about Keycloak and NodeJS.
&lt;/p&gt;
&lt;p&gt;
Joshua Alfred Erney explains in this &lt;a href=&quot;https://www.jerney.io/secure-apis-kong-keycloak-1/&quot;&gt;blog series&lt;/a&gt; how to integrate Keycloak and &lt;a href=&quot;https://konghq.com/&quot;&gt;Kong&lt;/a&gt;, a popular API management platform.
&lt;/p&gt;
&lt;P&gt;
With Mohamed Aboullaite&#39;s blog post, you will learn how to &lt;a href=&quot;https://aboullaite.me/secure-kibana-keycloak/&quot;&gt;secure your Kibana dashboards using Keycloak&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Finally in &lt;a href=https://beyondthekube.com/identity-management-for-on-prem-clusters/?utm_sq=g0u3m590zf&quot;&gt;this three-part article&lt;/a&gt;, the process of installing Keycloak on Kubernetes will become very clear.
&lt;/p&gt;


&lt;h2&gt;News from the project&lt;/h2&gt;
&lt;p&gt;
Keycloak 5.0.0 has been &lt;a href=&quot;https://www.keycloak.org/2019/03/keycloak-500-released.html&quot;&gt;released&lt;/a&gt; and 6.0.0 is around the corner.
&lt;/p&gt;
&lt;p&gt;
From now on, new larger Keycloak&#39;s features will be openly discussed. For each new feature, a design document will be created and pushed to our Github repository as a simple MarkDown file. This strategy makes it easy for everyone to comment as well as contribute to the designs by opening Github issues and providing pull requests.
We have already three documents open for discussion:
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/web-authn-two-factor.md&quot;&gt;W3C Web Authentication - Two-Factor&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/application-initiated-actions.md&quot;&gt;Application-Initiated Actions&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/observerability.md&quot;&gt;Observerability&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;News from the Identity Management World&lt;/h2&gt;
&lt;p&gt;
The big announcement, two weeks ago, was that &lt;a href=&quot;https://www.yubico.com/webauthn/&quot;&gt;WebAuthn&lt;a/&gt; became an official W3C Standard. This event is a milestone in the world of authentication and Identity Management. The goal of WebAuthn, according to &lt;a href=&quot;https://en.wikipedia.org/wiki/WebAuthn&quot;&gt;Wikipedia&lt;/a&gt; is to: &lt;i&gt; standardize an interface for public-key authentication of users to web-based applications and services.&lt;/i&gt;
The Keycloak community is naturally really interested in this new standard. A design document is &lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/web-authn-two-factor.md&quot;&gt;available&lt;/a&gt; and the community has even started to work on a &lt;a href=&quot;https://github.com/webauthn4j/keycloak-webauthn-authenticator&quot;&gt;prototype&lt;/a&gt;.
&lt;/p&gt;


&lt;h2&gt;Conferences / Webinars&lt;/h2&gt;
&lt;p&gt;
In March, the Javaland conference was held in Germany. The conference had two talks about Keycloak. Sébastien blanc gave a talk about &lt;a href=&quot;https://docs.google.com/presentation/d/e/2PACX-1vSp6t8vo1LsWBVDmFmFVC43qtwSQK3_UrVfFIQcTpaEmGJohHbwsKj9UYUEZdogRMXWMMJJSskWRHyZ/pub?start=false&amp;loop=false&amp;delayms=3000&quot;&gt;Securing your Microservices with Keycloak&lt;/a&gt;. A Github repository contains the &lt;a href=&quot;https://github.com/sebastienblanc/quarkus-quickstart&quot;&gt;demo&lt;/a&gt;. Thomas Darimont also gave an &lt;a href=&quot;https://www.javaland.eu/formes/pubfiles/11145218/2019-nn-thomas_darimont-sichere_spring-anwendungen_mit_keycloak-praesentation.pdf&quot;&gt;introductory talk&lt;/a&gt; in German about Keycloak.
&lt;p&gt;
&lt;p&gt;
In April, at Devoxx France, Guillaume Gillon will talk in French about how to combine &lt;a href=&quot;https://cfp.devoxx.fr/2019/talk/BIP-1027/L&#39;open-source_a_la_rescousse_de_mes_APIS:_comment_les_securiser_grace_a_Gravitee.io_et_Keycloak&quot;&gt;Keycloak and Gravitee.io&lt;/a&gt;.
&lt;/p&gt;


&lt;h2&gt;Contributing to Keycloak&lt;/h2&gt;

&lt;p&gt;We always welcome contributions to Keycloak. If you would like to contribute and have a great idea, tell us about it
on the developer mailing list. If you are unsure about what to work on, let us know and we can help!&lt;/p&gt;

&lt;p&gt;As a first time contributor, you may have a simpler idea to start, such as contributing a bug fix. This type of contribution will allow you to get to know the code base, the test suite, and the mechanics of creating a pull request. You can find a list of &lt;a href=&quot;https://issues.jboss.org/issues/?jql=project%20%3D%20Keycloak%20AND%20issuetype%20%3D%20bug%20AND%20fixVersion%20%3D%20%22Awaiting%20Volunteers%22%20&quot;&gt;open bugs here&lt;/a&gt;&lt;/p&gt;.

&lt;p&gt;We also have a list of &lt;a href=&quot;https://issues.jboss.org/issues/?jql=project%20%3D%20Keycloak%20AND%20fixVersion%20%3D%20%22Awaiting%20Volunteers%22%20&quot;&gt;open issues&lt;/a&gt; that
are awaiting contributions. Not all issues are properly reviewed, so we recommend that you start by sending an email to the developer mailing list before you begin.&lt;/p&gt;

&lt;p&gt;
For each newsletter, we will also highlight a few features for which we would especially like contributions. These features include:

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-4593&quot;&gt;Support for large number of realms&lt;/a&gt; - Keycloak is not designed to handle large amount of realms. When over 50 realms exist, you start to experience issues.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-6073&quot;&gt;Support different URLs for front and back channel requests in adapters&lt;/a&gt; - When adapters are located alongside Keycloak, it&#39;s not always recommended to use the public URL of Keycloak; this issue concerns allowing adapters to use one URL for back-channel requests and a different URL for redirects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-2939&quot;&gt;OpenID Connect Front-Channel Logout&lt;/a&gt; - Add support for OpenID Connect Front-Channel logout specification to Keycloak.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://issues.jboss.org/browse/KEYCLOAK-2537&quot;&gt;SCIM 2&lt;/a&gt; - Add support for the SCIM 2 specification to Keycloak, which provides a standards-based interface for user management.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/04/keycloak-newsletter-1</guid>
        <pubDate>Mon, 1 Apr 2019 00:00:00 GMT</pubDate>
        
        <author>Sébastien Blanc</author>
      </item>
      <item>
        <title>W3C Web Authentication (WebAuthn)</title>
        <link>https://www.keycloak.org/2019/03/web-authn</link>
        <description>
&lt;p&gt;
W3C Web Authentication (WebAuthn) was recently made an official web standard. This is a great step towards making a safer and
simpler authentication experience for users.
&lt;/p&gt;

&lt;p&gt;
Where traditional authentication, such as password and OTP, rely on having shared secrets between the user and the
web application, this is not the case with WebAuthn. WebAuthn uses public key-based credentials resulting in the web
application not having access to the users secrets anymore. The keys are also unique per web application which eliminates
the risk of phishing attacks.
&lt;/p&gt;

&lt;p&gt;
WebAuthn provides a standard protocol for web applications to authenticate via a number of devices through a relatively
simple challenge/response. All major browser vendors now have support for WebAuthn and FIDO2, where FIDO2 is the specification
that enables the browser to communicate with different hardware devices.
&lt;/p&gt;

&lt;p&gt;
WebAuthn can be used both as a two factor mechanism as well as enable passwordless authentication. There are already
an healthy amount of devices that can be used together with WebAuthn. There are a number of security keys like
&lt;a href=&quot;https://www.yubico.com/&quot;&gt;YubiKey&lt;/a&gt;, &lt;a href=&quot;https://thinc.ensurity.com/&quot;&gt;ThinC&lt;/a&gt; and
&lt;a href=&quot;https://cloud.google.com/titan-security-key/&quot;&gt;Titan&lt;/a&gt;. A lot of new laptops also come with built-in
fingerprint scanners, and it Android also recently made it possible to use the fingerprint scanners on Android 7+ devices with WebAuthn.
&lt;/p&gt;

&lt;p&gt;
We are of course planning on bringing WebAuthn support to Keycloak in the near future. The team behind &lt;a href=&quot;https://github.com/webauthn4j/webauthn4j&quot;&gt;webauthn4j&lt;/a&gt;
has been hard at work greating a quality Java library for WebAuthn and will hopefully soon have an extension to
Keycloak ready.
&lt;/p&gt;

&lt;p&gt;
We will first focus on two-factor authentication with WebAuth and as part of this we will bring a number of improvements
to Keycloak around two-factor authentication. For more details check the
&lt;a href=&quot;https://github.com/keycloak/keycloak-community/blob/master/design/web-authn-two-factor.md&quot;&gt;design document&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Later, we will also bring the passwordless experience to Keycloak. This will also introduce Keycloak to the identity
first login flows. By asking for the users identity first Keycloak can provide smarter decisions on how to authenticate
a user based on the users preferences. For example requesting the user to press the button on their security key instead
of asking for a password.
&lt;/p&gt;

&lt;p&gt;
Resources:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/webauthn/&quot;&gt;W3C Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fidoalliance.org/w3c-and-fido-alliance-finalize-web-standard-for-secure-passwordless-logins/&quot;&gt;W3C and FIDO Alliance Finalize Web Standard for Secure, Passwordless Logins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/android-passwordless-login-fido2/&quot;&gt;Android is helping kill passwords on a billion devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2019/03/web-authn</guid>
        <pubDate>Wed, 6 Mar 2019 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak on Kubernetes</title>
        <link>https://www.keycloak.org/2018/06/keycloak-on-kubernetes</link>
        <description>
&lt;p&gt;
If you&#39;d like to get started with using Keycloak on Kubernetes check out &lt;a href=&quot;https://youtu.be/A_BYZ7hHWXE&quot;&gt;this screencast&lt;/a&gt;.
If you&#39;d rather try it out yourself check out &lt;a href=&quot;https://github.com/stianst/demo-kubernetes&quot;&gt;this GitHub repository&lt;/a&gt; that contains the instructions as well as all the bits you&#39;ll need to reproduce what is shown in the screencast.
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/06/keycloak-on-kubernetes</guid>
        <pubDate>Wed, 27 Jun 2018 00:00:00 GMT</pubDate>
        <category>Kubernetes</category>
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak Cordova Browser Tabs support</title>
        <link>https://www.keycloak.org/2018/06/keycloak-cordova-browser-tabs-support</link>
        <description>
&lt;p&gt;
Thanks to &lt;a href=&quot;https://github.com/gtudan&quot;&gt;gtudan&lt;/a&gt; we finally have support for browser tabs for Cordova in our JavaScript adapter. This enables using a system browser tab to do the login flows to Keycloak, which brings better security and also single sign-on and single sign-out to mobile applications secured with Keycloak.
&lt;/p&gt;

&lt;p&gt;
This will be included in Keycloak 4.1.0.Final which will be released soon. In the meantime check this &lt;a href=&quot;https://youtu.be/HKulxXDYJSs&quot;&gt;screen-cast&lt;/a&gt; to see this in action!
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/06/keycloak-cordova-browser-tabs-support</guid>
        <pubDate>Thu, 21 Jun 2018 00:00:00 GMT</pubDate>
        <category>Cordova</category>
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Red Hat Single Sign-On in Keynote demo on Red Hat Summit!</title>
        <link>https://www.keycloak.org/2018/06/red-hat-single-sign-on-in-keynote-demo</link>
        <description>
&lt;p&gt;Red Hat Summit is one of the most important events during the year. Many geeks, Red Hat employees and customers have great opportunity to meet, learn new things and attend lots of interesting presentations and trainings. During the summit this year, there were few breakout sessions, which were solely about Keycloak and Red Hat SSO. You can take a look at &lt;a href=&quot;http://blog.keycloak.org/2018/05/red-hat-single-sign-on-red-hat-summit.html&quot;&gt;this blogpost&lt;/a&gt; for more details.

&lt;p&gt;One of the most important parts of Red Hat Summit are Keynote demos, which show the main bullet points and strategies going forward. Typically they also contain the demos of the most interesting technologies, which Red Hat uses.

&lt;p&gt;On the Thursday morning keynote, there was &lt;a href=&quot;https://www.youtube.com/watch?v=hu2BmE1Wk_Q&amp;feature=youtu.be&amp;t=385&quot;&gt;this demo&lt;/a&gt; to show the Hybrid Cloud with 3 clouds (Azure, Amazon, Private) in action! There were many technologies and interesting projects involved. Among others, let&#39;s name &lt;a href=&quot;https://www.redhat.com/en/technologies/jboss-middleware/data-grid&quot;&gt;Red Hat JBoss Data Grid (JDG)&lt;/a&gt;, &lt;a href=&quot;https://openwhisk.apache.org/&quot;&gt;OpenWhisk&lt;/a&gt; or &lt;a href=&quot;https://www.gluster.org/&quot;&gt;Gluster FS&lt;/a&gt;. The &lt;a href=&quot;https://access.redhat.com/products/red-hat-single-sign-on&quot;&gt;RH-SSO&lt;/a&gt; (Red Hat product based on Keycloak project) had a honor to be used as well.

&lt;h2&gt;Red Hat SSO setup details&lt;/h2&gt;

&lt;p&gt;The frontend of the demo was the simple mobile game. RH-SSO was used at the very first stage to authenticate users to the mobile game. Each attendee had an opportunity to try it by yourself. In total, we had 1200 players of the game.

&lt;p&gt;There was loadbalancer up-front and every user was automatically forwarded to one of the 3 clouds. The mobile application used &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/securing_applications_and_services_guide/openid_connect_3#javascript_adapter&quot;&gt;RH-SSO Javascript adapter&lt;/a&gt; (keycloak.js) to communicate with RH-SSO.

&lt;p&gt;With Javascript application, whole OpenID Connect login flow happens within browser and hence can rely on sticky session. So since Javascript adapter is used, you may think that we can do just &quot;easy&quot; setup and let the RH-SSO instances across all 3 clouds to be independent of each other and have each of them to use separate RDBMS and infinispan caches. See the image below  for what such a setup would look like:

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cross-dc-blog-architecture-rhsso.png&quot; /&gt;

&lt;p&gt;With this setup, every cloud is aware just about the users and sessions created on itself. This is fine with sticky session, but it won’t work for failover scenarios in case if one of the 3 clouds is broken/removed. There are also other issues with it - for example that admins and users see just sessions created on particular cloud. There are also potential security issues. For example when admin disables user on one cloud, user would still be enabled on other clouds as changes to user won’t be propagated to other clouds.

&lt;p&gt;So we rather want to show more proper setup aware of the replication. Also because one part of the demo was showing failover in action. One of the 3 clouds (Amazon) was killed and users, who were previously logged in Amazon, were redirected to one of the remaining 2 clouds. The point was that the end user won&#39;t be able to recognize any change. Hence users previously logged in Amazon must be still able to refresh their tokens in Azure or Private cloud. This in turn meant that the data (both users, user sessions and caches) need to be aware of all 3 clouds.

&lt;p&gt;In Keycloak 3.X, we added support for &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/server_installation_and_configuration_guide/operating-mode#crossdc-mode&quot;&gt;Cross-datacenter (Cross-site) setup&lt;/a&gt; with usage of external JDG servers to replicate data among datacenters (tech preview in RH-SSO 7.2). The demo was using exactly this setup. Each site had JDG server and all 3 sites communicate with each other through those JDG servers. This is standard JDG Cross-DC setup. See the picture below for what the demo looked like:

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/cross-dc-blog-actual-setup-architecture-rhsso.png&quot; /&gt;

&lt;p&gt;The JDG servers were not used during the demo just for the purpose of the RH-SSO, but also for the purpose of other parts of the demo. The details are described in the &lt;a href=&quot;https://developers.redhat.com/blog/2018/06/19/red-hat-data-grid-on-three-clouds/&quot;&gt;JDG setup blog by  Sebastian Łaskawiec&lt;/a&gt;. The JDG servers were setup with ASYNC backups, which was more effective and was completely fine for the purpose of the demo due the fact that mobile application was using keycloak.js adapter. See &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/server_installation_and_configuration_guide/operating-mode#backups&quot;&gt;RH-SSO docs&lt;/a&gt; for more details.

&lt;h2&gt;Red Hat SSO customizations&lt;/h2&gt;

&lt;p&gt;The RH-SSO was using standard &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_jboss_middleware_for_openshift/3/html/red_hat_single_sign-on_for_openshift/&quot;&gt;RH-SSO openshift image&lt;/a&gt; . For Cross-DC setup, we needed to do configuration changes as described in the &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/server_installation_and_configuration_guide/operating-mode#crossdc-mode&quot;&gt;RHSSO documentation&lt;/a&gt; . Also few other customizations were done.

&lt;h3&gt;JDG User Storage&lt;/h3&gt;

&lt;p&gt;RH-SSO Cross-DC setup currently requires both replicated RDBMS and replicated JDG server. When preparing to demo, we figured that using the clustered RDBMS in OpenShift replicated across all 3 clouds, is not very straightforward thing to setup.

&lt;p&gt;Fortunately RH-SSO is highly customizable platform and among other things, it provides supported &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/server_administration_guide/user-storage-federation&quot;&gt;User Storage SPI&lt;/a&gt; , which allows customers to plug their own storage for RH-SSO users. So instead of setup of replicated RDBMS, we created custom JDG User Storage. So users of the example realm were saved inside JDG instead of the RDBMS Database.

&lt;p&gt;Lessons learned is, that we want to make the Keycloak/RH-SSO Cross-DC setup simpler for administrators. Hence we&#39;re considering removing the need for replicated RDBMS entirely and instead store all realms and users metadata within JDG. So just replicated JDG would be a requirement for Cross-DC setup.

&lt;h3&gt;Other customizations&lt;/h3&gt;

&lt;p&gt;For the purpose of the demo, we did custom login theme. We also did Email-Only authenticator, which allows to register user just by providing their email address. This is obviously not very secure, but it&#39;s pretty neat for the example purpose. Keynote users were also able to login with &lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html/server_administration_guide/identity_broker#google&quot;&gt;Google Identity Provider&lt;/a&gt;  or &lt;a href=&quot;https://developers.redhat.com/&quot;&gt;Red Hat Developers OpenID Connect Identity Provider&lt;/a&gt;, which was useful for users, who already had an account in those services.

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/login-screen.png&quot; /&gt;

&lt;p&gt;If you want to try all these things in action, you can try to checkout our &lt;a href=&quot;https://github.com/rhdemo/rh-sso&quot;&gt;Demo Project on Github&lt;/a&gt; and deploy it to your own openshift cluster! If you have 3 clouds, even better! You can try the full setup including JDG to try exactly the setup we used during keynote demo.








</description>
        <guid>https://www.keycloak.org/2018/06/red-hat-single-sign-on-in-keynote-demo</guid>
        <pubDate>Sun, 17 Jun 2018 00:00:00 GMT</pubDate>
        <category>Red Hat Summit</category>
        <author>Marek Posolda</author>
      </item>
      <item>
        <title>Keycloak on OpenShift</title>
        <link>https://www.keycloak.org/2018/05/keycloak-on-openshift</link>
        <description>

&lt;p&gt;
In this post you&#39;ll see how to deploy Keycloak on OpenShift. You&#39;ll also learn how to deploy a Node.js based REST service and an HTML5 application to OpenShift and secure these with Keycloak.
&lt;/p&gt;

&lt;p&gt;
There is also a screencast showing this example at &lt;a href=&quot;https://youtu.be/9zUWqbK3BqI&quot;&gt;https://youtu.be/9zUWqbK3BqI&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
If you don&#39;t already have OpenShift available a good place to start is by using &lt;a href=&quot;https://github.com/minishift/minishift&quot;&gt;MiniShift&lt;/a&gt;.

&lt;h2&gt;Deploying Keycloak&lt;/h2&gt;

&lt;p&gt;
First of all create a new project in OpenShift with oc by running:
&lt;pre&gt;
oc new-project keycloak
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
The next thing to do is to import the Keycloak template into OpenShift, by running:
&lt;pre&gt;
oc replace --force -f &quot;https://raw.githubusercontent.com/jboss-dockerfiles/keycloak&quot;\
&quot;/master/openshift-examples/keycloak-https.json&quot;
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
Now open the OpenShift console and open the keycloak project.
&lt;/p&gt;

&lt;p&gt;
Click on Add to Project and Browse Catalog. In the catalog you should find Keycloak. Click on it.
&lt;/p&gt;

&lt;p&gt;
Click next on the information. Under configuration set a username and password that you can remember in the Keycloak Administrator Username and Keycloak Administrator Password fields. Then click on create. Click on Continue to project overview.
&lt;/p&gt;

&lt;p&gt;
Wait for the deployment to complete then click on the link to the application. Your browser will complain about the certificate as it is a self-signed certificate. Ignore this and proceed. Click on Administration Console, then login with the username and password you entered previously. Keep this tab open as you will need it later.
&lt;/p&gt;

&lt;p&gt;
You have now deployed Keycloak onto OpenShift.
&lt;/p&gt;

&lt;h2&gt;Configure Clients in Keycloak&lt;/h2&gt;

&lt;p&gt;
We need to create clients for the service and the application we will secure.
&lt;/p&gt;

&lt;p&gt;
Open the tab with the Keycloak admin console. Click on Clients and Create. For Client ID enter service and click Save. Under Access Type select bearer-only and click on Save.
&lt;/p&gt;

&lt;p&gt;
Click on Clients then Create again. For Client ID enter app and click Save. For Valid Redirect URIs and Web Origins enter *. In production environment it is very important that you enter the correct URL for your application, but since this is a demonstration we will simply allow all URLs for simplicity. You can easily update these to the correct URLs for the application after it has been deployed.
&lt;/p&gt;

&lt;p&gt;
Keep the Keycloak admin console tab open as again you will need it later.
&lt;/p&gt;

&lt;h2&gt;Deploy the Service&lt;/h2&gt;

&lt;p&gt;
Go back to the tab with the OpenShift console and click on Add to Project and Browse Catalog again. This time click on Node.js. Click next on Information, then click on advanced options under Configuration.
&lt;/p&gt;

&lt;p&gt;
Make the following changes:
&lt;ul&gt;
&lt;li&gt;Name: service&lt;/li&gt;
&lt;li&gt;Git Repository URL: https://github.com/stianst/misc.git&lt;/li&gt;
&lt;li&gt;Context Dir: openshift/service
&lt;li&gt;Secure route: enable
&lt;li&gt;TLS Termination: Edge
&lt;li&gt;Insecure Traffic: Redirect
&lt;li&gt;
Deployment Config
&lt;ul&gt;&lt;li&gt;KEYCLOAK_URL=https://secure-keycloak-keycloak.192.168.42.52.nip.io/auth&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

Replace the value for KEYCLOAK_URL with the URL for Keycloak. You can find this by going back to the tab with the Keycloak admin console (copy the URL up to and including &quot;/auth&quot;).
&lt;/p&gt;

&lt;p&gt;
Click on Create then Continue to the project overview. Wait for the build and deployment to complete then click on the link to the application. You should see &quot;Not found!&quot;. Add &quot;/service/public&quot; to the url and you should see &quot;message: public&quot; in JSON.
&lt;/p&gt;

&lt;p&gt;
You have now deployed and secured the service. Keep this tab open as well as you need it later.
&lt;/p&gt;

&lt;h2&gt;Deploy the Application&lt;/h2&gt;

&lt;p&gt;
Go back to the tab with the OpenShift console and click on Add to Project and Browse Catalog again. This time click on PHP. Click next on Information, then click on advanced options under Configuration.
&lt;/p&gt;

&lt;p&gt;
Make the following changes:
&lt;ul&gt;
&lt;li&gt;Name: app&lt;/li&gt;
&lt;li&gt;Git Repository URL: https://github.com/stianst/misc.git&lt;/li&gt;
&lt;li&gt;Context Dir: openshift/app
&lt;li&gt;Secure route: enable
&lt;li&gt;TLS Termination: Edge
&lt;li&gt;Insecure Traffic: Redirect
&lt;li&gt;
Deployment Config
&lt;ul&gt;&lt;li&gt;KEYCLOAK_URL=https://secure-keycloak-keycloak.192.168.42.52.nip.io/auth&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;SERVICE_URL=https://service-keycloak.192.168.42.240.nip.io/service&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

Replace the value for KEYCLOAK_URL with the URL for Keycloak. You can find this by going back to the tab with the Keycloak admin console (copy the URL up to and including &quot;/auth&quot;). Also, replace the value for SERVICE_URL with the URL for the Service. You can find this by going back to the tab with the service (copy the URL up to and including &quot;/service&quot;).
&lt;/p&gt;

&lt;p&gt;
Click on Create then Continue to the project overview. Wait for the build and deployment to complete then click on the link to the application. You should already be logged-in. You can now invoke the service by clicking on Invoke Public to invoke the unsecured endpoint or Invoke Admin to invoke the endpoint secured with the admin role. If you click on Invoke Secured it will fail as the admin user you are logged in with does not have the user role. To be able to invoke this endpoint as well go back to the Keycloak admin console. Create a realm role named user. Then go to users find your admin user and under role mappings add the user role to the user.
&lt;/p&gt;

&lt;p&gt;
You have now deployed and secured the application as well as seen how the application can securely invoke the service you deployed previously.
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/05/keycloak-on-openshift</guid>
        <pubDate>Thu, 31 May 2018 00:00:00 GMT</pubDate>
        <category>OpenShift</category>
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Red Hat Single Sign-On @ Red Hat Summit</title>
        <link>https://www.keycloak.org/2018/05/red-hat-single-sign-on-red-hat-summit</link>
        <description>
&lt;p&gt;At Red Hat Summit this year there are no less than 4 sessions about Red Hat Single Sign-On! If you are going to Summit make sure to join us.&lt;/p&gt;

&lt;h3&gt;OpenShift + single sign-on = Happy security teams and happy users&lt;/h3&gt;

&lt;p&gt;Dustin Minnich, Joshua Cain, Jared Blashka, Brian Atkisson. Tuesday 4 PM.&lt;/p&gt;

&lt;p&gt;One username and password to rule them all.&lt;/p&gt;

&lt;p&gt;In this lab, we&#39;ll discuss and demonstrate single sign-on technologies and how to implement them using Red Hat products. We&#39;ll take you through bringing up an OpenShift cluster in a development environment, installing Red Hat single sign-on on top of it, and then integrating that with a variety of example applications.&lt;/p&gt;

&lt;h3&gt;Securing service mesh, microservices, and modern applications with JSON Web Token (JWT)&lt;/h3&gt;

&lt;p&gt;Stian Thorgersen, Sébastien Blanc. Wednesday 10:30 AM.&lt;/p&gt;

&lt;p&gt;Sharing identity and authorization information between applications and services should be done with an open industry standard to ensure interoperability in heterogeneous environments. Javascript Object Signing and Encryption (JOSE) is a framework for securely sharing such information between heterogeneous applications and services.&lt;/p&gt;

&lt;p&gt;In this session, we’ll cover the specifications of the JOSE framework, focusing especially on JSON Web Token (JWT). We’ll discuss practical applications of the JOSE framework, including relevant specifications, such as OpenID Connect. After this session, you’ll have an understanding of the specifications and how to easily adopt them using Red Hat single sign-on or another OpenID Connect provider.&lt;/p&gt;


&lt;h3&gt;Red Hat single sign-on: Present and future&lt;/h3&gt;

&lt;p&gt;Boleslaw Dawidowicz, John Doyle. Wednesday 3:30 PM.&lt;/p&gt;

&lt;p&gt;Red Hat single sign-on (SSO) provides web SSO with modern, token-based protocols, such as OAuth and OpenID Connect. This session will highlight the features of the latest release and show the future direction of the technology within the Red Hat portfolio.&lt;/p&gt;


&lt;h3&gt;Securing apps and services with Red Hat single sign-on&lt;/h3&gt;

&lt;p&gt;Sébastien Blanc, Stian Thorgersen. Thursday 1:00 PM.&lt;/p&gt;

&lt;p&gt;If you have a number of applications and services, the applications may be HTML5, server-side, or mobile, while the services may be monolithic or microservices, deployed on-premise or to the cloud. You may have started looking at using a service mesh. Now, you need to easily secure all these applications and services.&lt;/p&gt;

&lt;p&gt;Securing applications and services is no longer just about assigning a username and password. You need to manage identities. You need two-factor authentication. You need to integrate with legacy and external authentication systems. Your list of other requirements may be long. But you don’t want to develop all of this yourself—nor should you.&lt;/p&gt;

&lt;p&gt;In this session, we’ll demonstrate how to easily secure all your applications and services—regardless of how they&#39;re implemented and hosted—with Red Hat single sign-on. After this session, you&#39;ll know how to secure your HTML5 application or service, deployed to a service mesh and everything in between. Once your applications and services are secured with Red Hat single sign-on, you&#39;ll know how to easily adopt single sign-on, two-factor authentication, social login, and other security capabilities.&lt;/p&gt;
</description>
        <guid>https://www.keycloak.org/2018/05/red-hat-single-sign-on-red-hat-summit</guid>
        <pubDate>Wed, 2 May 2018 00:00:00 GMT</pubDate>
        <category>Red Hat Summit</category>
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak Questionnaire</title>
        <link>https://www.keycloak.org/2018/04/keycloak-questionnaire</link>
        <description>
&lt;p&gt;Are you using Keycloak? If so we would greatly appreciate it if you can take some time and answer some questions at &lt;a href=&quot;https://goo.gl/forms/TRSmCCU6eX25prhH2&quot;&gt;https://goo.gl/forms/TRSmCCU6eX25prhH2&lt;/a&gt;.&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/04/keycloak-questionnaire</guid>
        <pubDate>Thu, 19 Apr 2018 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak and Istio</title>
        <link>https://www.keycloak.org/2018/02/keycloak-and-istio</link>
        <description>
&lt;p&gt;This short blog post is to share the first trials of combining Keycloak with Istio.&lt;/p&gt;

&lt;h3&gt;What is Istio?&lt;/h3&gt;

&lt;p&gt;Istio is an platform that provides a common way to manage your service mesh. You may wonder what a service mesh is, well, it&#39;s an infrastructure layer dedicated to connect, secure and make reliable your different services.&lt;/p&gt;

&lt;p&gt;Istio, in the end, will be replacing all of our circuit-breakers, intelligent load balancing or metrics librairies, but also the way how two services will communicate in a secure way. And this is of course the interesting part for Keycloak.&lt;/p&gt;

&lt;p&gt;As you know Keycloak uses adapters for each of the application or service that it secures. These adapters make sure to perform the redirect if needed, to retrieve the public keys, to verify the JWT signature etc ...&lt;/p&gt;

&lt;p&gt;There are a lot of different adapters depending on the type of application or technology that is used : there are Java EE adapters, JavaScript adapters and we even have a NodeJS adapter.&lt;/p&gt;

&lt;h3&gt;The end of the adapters?&lt;/h3&gt;
&lt;p&gt;Following the Istio philosophy, these adapters would not be needed in the end because the Istio infrastructure will take care of the tasks the adapters were doing (signature verification etc ...). We are not yet there for now but in this post we will see what can already be done with Istio and how much it already can replace the role of the Adapters.&lt;/p&gt;

&lt;h3&gt;The Envoy Sidecar&lt;/h3&gt;

&lt;p&gt;We won&#39;t dive into the details on how Istio works but there is one main concept to understand around which Istio is articulated : the Envoy Sidecar. Envoy is a high performance proxy deployed alongside with each deployed service and this is the reason we call it a &quot;sidecar&quot;.&lt;/p&gt;

&lt;p&gt;Envoy captures all incoming and outgoing traffic of its &quot;companion&quot; service, it can then apply some basic operations and also collect data and send it to a central point of decision, called the &quot;mixer&quot; in Istio. The conifugration of Envoy itself happens through the &quot;pilot&quot; an other Istio component.&lt;/p&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/istio-architecture.png&quot;/&gt;&lt;div&gt;

&lt;h3&gt;Envoy Filters&lt;/h3&gt;

&lt;p&gt;To make it easier to add new functionnality to the Envoy Proxy, there is the concept of filters that you can stack up. Again, these filters can be congifured by the Pilot and they can gather information for the Mixer:&lt;/p&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/envoydetails.png&quot; /&gt;

&lt;h3&gt;The JWT-Auth Filter&lt;/h3&gt;

&lt;p&gt;The Istio team has been developping a filter that interest us : the jwt-auth filter. As the name suggests, this filter is capable of performing checks on a JWT token that the Envoy Proxy will extract from the HTTP Request&#39;s headers.&lt;/p&gt;

&lt;p&gt;The details about this filters can be found &lt;a href=&quot;https://github.com/istio/proxy/tree/master/src/envoy/http/jwt_auth&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;The Keycloak-Istio Demo&lt;/h3&gt;

&lt;p&gt;Now that you have the big picture in mind let&#39;s take a look at the demo that has been developed by Kamesh Sampath (@kamesh_sampath) From the Red Hat Developer Experience Team to show how Keycloak and Istio can be combined:&lt;/p&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/bigpicure1.png&quot;/&gt;

&lt;p&gt;The demo will be running inside a Minishift instance, Minishift is a tool that helps to run OpenShift locally. Minishift has really nice support for Istio, as it takes only a few commands to install the Istio layer inside a Minishift instance.&lt;/p&gt;

&lt;p&gt;So inside our Minishift instance we will have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Keycloak Pod : a pod containing a Keycloak Server.&lt;/li&gt;
&lt;li&gt;A Web App Pod (Cars Web): this pod contains the Web App that will perform the authentification through the Keycloak login in order to obtain a JWT token&lt;/li&gt;
&lt;li&gt;Then we have the Istio related components :&lt;/li&gt;
    &lt;ul&gt;
    &lt;li&gt;The Pilot to configure the Envoy proxies&lt;/li&gt;
    &lt;li&gt;The Mixer to handle the attributes returned by Envoy&lt;/li&gt;
    &lt;/ul&gt;
&lt;li&gt;The API Service (Cars API) : this pod will have two containers :&lt;/li&gt;
    &lt;ul&gt;
    &lt;li&gt;The API service itself, in this case a simple Spring Boot Application&lt;/li&gt;
    &lt;li&gt;The Envoy Side-Car container&lt;/li&gt;
    &lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;The demo repository provides the Istio script to delpoy the Envoy Sidecar alongside the Spring Boot Api Service.&lt;/p&gt;

&lt;p&gt;Thi is how the Cars API Pod looks like after it is deployed:&lt;/p&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/carsapipod.png&quot; /&gt;

&lt;p&gt;Now, the Envoy Sidecar needs to be configured:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We indicate what needs to be configured, the kind of policy and implicitly the correct filter (in our case the jwt-auth filter) will be configured.&lt;/li&gt;
&lt;li&gt;It needs to know where to retrieve Keycloak&#39;s Public key in order to verify the JWT signature.&lt;/li&gt;
&lt;li&gt;The issuer : who has generated the token ? In this case it&#39;s also the Keycloak Server.&lt;/li&gt;
&lt;/ul&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/pilotscript.png&quot; /&gt;

&lt;p&gt;Now each incoming request to the API Service will be checked by the Envoy Sidecar to see if the JWT token contained in the header is valid or not. If it&#39;s valid the request be authorized otherwise an error message will be returned.&lt;/p&gt;

&lt;p&gt;The full instructions of the demo (including setting up Minishift with Istio) can be found &lt;a href=&quot;https://github.com/kameshsampath/istio-keycloak-demo&quot;&gt;here&lt;/a&gt;and again thanks to the awesome Kamesh for the work he delivered for this demo.&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/02/keycloak-and-istio</guid>
        <pubDate>Mon, 26 Feb 2018 00:00:00 GMT</pubDate>
        <category>Istio</category>
        <author>Sébastien Blanc</author>
      </item>
      <item>
        <title>Keycloak and Angular CLI</title>
        <link>https://www.keycloak.org/2018/02/keycloak-and-angular-cli</link>
        <description>
&lt;p&gt;So I made a &lt;a href=&quot;https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2&quot; target=&quot;_blank&quot;&gt;schematic&lt;/a&gt;&lt;/span&gt; that installs and configures &lt;a href=&quot;https://github.com/ssilvert/keycloak-schematic/wiki/Getting-Started&quot; target=&quot;_blank&quot;&gt;Keycloak in any Angular CLI application&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want to try it out, do this from the command line:&lt;/p&gt;

&lt;pre&gt;
npm install -g @ssilvert/keycloak-schematic
ng new myApp&lt;/span&gt;
cd myApp
ng generate keycloak --collection @ssilvert/keycloak-schematic --clientId=myApp
&lt;/pre&gt;

&lt;p&gt;Now Keycloak is integrated into your app.&amp;nbsp; Of course, you can do this with any existing Angular CLI application.&amp;nbsp; It doesn&#39;t have to be a new one.&lt;/p&gt;

&lt;p&gt;Then, go to the Keycloak Admin console (master realm) and go to Clients --&amp;gt; Add Client --&amp;gt; Select File.&lt;/p&gt;

&lt;p&gt;Select the client-import.json file that the &quot;ng generate keycloak&quot; command created in /myApp.&lt;/p&gt;

&lt;p&gt;Assuming your Keycloak server is running on localhost:8080, you are ready to go.&amp;nbsp; Start your application:&lt;/p&gt;
&lt;pre&gt;ng serve&lt;/pre&gt;

&lt;p&gt;Go to your browser to start the app and see this:&lt;/p&gt;

&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/login.png&quot;/&gt;

&lt;p&gt;Oh joy! myApp is protected with Keycloak!&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ssilvert/keycloak-schematic&quot; target=&quot;_blank&quot;&gt;keycloak-schematic&lt;/a&gt; installs a KeycloakService and a KeycloakGuard.&amp;nbsp; So you can easily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add login/logout buttons&lt;/li&gt;
&lt;li&gt;Access user self service (account management)&lt;/li&gt;
&lt;li&gt;Guard protected routes instead of the whole app&lt;/li&gt;
&lt;li&gt;Work with roles&lt;/li&gt;
&lt;li&gt;Lots more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/ssilvert/keycloak-schematic/wiki/Getting-Started&quot; target=&quot;_blank&quot;&gt;Click here&lt;/a&gt; for a comprehensive getting started guide, full documentation, and sample code.&lt;/p&gt;

&lt;p&gt;Note that this stuff is early alpha right now.&amp;nbsp; And it will move from&amp;nbsp;@ssilvert to @keycloak before long.&amp;nbsp; In the mean time, I&#39;d love to get feedback.&amp;nbsp; There is a lot to do to make Keycloak/Angular integration even better, but I think the &lt;a href=&quot;https://github.com/ssilvert/keycloak-schematic&quot; target=&quot;_blank&quot;&gt;keycloak-schematic&lt;/a&gt; is a big step forward.&lt;/p&gt;

&lt;p&gt;So long, and thanks for all the fish.&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/02/keycloak-and-angular-cli</guid>
        <pubDate>Fri, 9 Feb 2018 00:00:00 GMT</pubDate>
        <category>AngularJS</category>
        <author>Stan Silvert</author>
      </item>
      <item>
        <title>Keycloak, Apache and OpenID Connect</title>
        <link>https://www.keycloak.org/2018/01/keycloak-apache-and-openid-connect</link>
        <description>
&lt;p&gt;
&lt;a href=&quot;https://github.com/zmartzone/mod_auth_openidc&quot;&gt;mod_auth_openidc&lt;/a&gt; makes it easy to secure your applications running in Apache or when Apache is used as a reverse proxy. It can be used both for enabling SSO to web applications as well as to secure RESTful services. For more details check out &lt;a href=&quot;http://www.keycloak.org/docs/latest/securing_apps/index.html#_mod_auth_openidc&quot;&gt;our documentation&lt;/a&gt; as well as &lt;a href=&quot;https://github.com/zmartzone/mod_auth_openidc/wiki/Keycloak&quot;&gt;the guides from mod_auth_openidc&lt;/a&gt;.
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2018/01/keycloak-apache-and-openid-connect</guid>
        <pubDate>Thu, 4 Jan 2018 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>X.509 and Smartcard Authentication with Keycloak</title>
        <link>https://www.keycloak.org/2017/10/x509-and-smartcard-authentication-with</link>
        <description>
&lt;p&gt;
If you want to do X.509 and Smartcard authentication with Keycloak check out &lt;a href=&quot;https://sjhiggs.github.io/fuse/sso/x509/smartcard/2017/03/29/fuse-hawtio-keycloak.html&quot;&gt;this blog post&lt;/a&gt; from Stephen Higgs. It walks you through how to setup X.509 authentication with Keycloak and a Yubikey Neo device.
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2017/10/x509-and-smartcard-authentication-with</guid>
        <pubDate>Wed, 4 Oct 2017 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Easily secure your Spring Boot applications with Keycloak</title>
        <link>https://www.keycloak.org/2017/05/easily-secure-your-spring-boot</link>
        <description>
&lt;h2&gt;
What is Keycloak?&lt;/h2&gt;
Although security is a crucial aspect of any application, its implementation can be difficult. Worse, it is often neglected, poorly implemented and intrusive in the code. But lately, security servers have appeared which allow for outsourcing and delegating all the authentication and authorization aspects. Of these servers, one of the most promising is Keycloak, open-source, flexible, and agnostic of any technology, it is easily deployable/adaptable in its own infrastructure.

Moreover, Keycloak is more than just an authentication server, it also provides a complete Identity Management system, user federation for third parties like LDAP and a lot more ... Check it out on &lt;a href=&quot;http://www.keycloak.org/&quot;&gt;here&lt;/a&gt;.

The project can also be found on &lt;a href=&quot;https://github.com/sebastienblanc/spring-boot-keycloak-tutorial&quot;&gt;Github&lt;/a&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;!--more--&gt;&lt;h2&gt;
Spring Boot and Keycloak&lt;/h2&gt;
Keycloak provides adapters for an application that needs to interact with a Keycloak instance. There are adapters for WildFly/EAP, NodeJS, Javascript and of course for Spring Boot.
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Setting up a Keycloak server&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
You have different options to set up a Keycloak server but the easiest one is probably to grab a standalone distribution, unzip it and voila! Open a terminal and go to your unzipped Keycloak server and from the bin directory simply run:
&lt;br /&gt;
&lt;pre&gt;./standalone.sh(bat)
&lt;/pre&gt;
Then open a browser and go to &lt;em&gt;http://localhost:8080/auth.&lt;/em&gt;

Since it&#39;s the first time that the server runs you will have to create an admin user, so let&#39;s create an admin user with admin as username and admin for the password:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435383 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc1-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Now you can log in into your administration console and start configuring Keycloak.
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Creating a new Realm&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Keycloak defines the concept of a realm in which you will define your clients, which in Keycloak terminology means an application that will be secured by Keycloak, it can be a Web App, a Java EE backend, a Spring Boot etc.

So let&#39;s create a new realm by simply clicking the &quot;Add realm&quot; button:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435384 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc2-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Let&#39;s call it &quot;SpringBoot&quot;.
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Creating the client, the role, and the user&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Now we need to define a client, which will be our Spring Boot app. Go to the &quot;Clients&quot; section and click the &quot;create&quot; button. We will call our client &quot;product-app&quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435385 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc3-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
On the next screen, we can keep the defaults settings but just need to enter a valid redirect URL that Keycloak will use once the user is authenticated. Put as value: &quot;http://localhost:8081/*&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435387 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc4-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Don&#39;t forget to Save!

Now, we will define a role that will be assigned to our users, let&#39;s create a simple role called &quot;user&quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435388 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc5-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
And at last but not least let&#39;s create a user, only the username property is needed, let&#39;s call him &quot;testuser&quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435389 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc6-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
And finally, we need to set his credentials, so go to the credentials tab of your user and choose a password, I will be using &quot;password&quot; for the rest of this article, make sure to turn off the &quot;Temporary&quot; flag unless you want the user to have to change his password the first time he authenticates.

Now proceed to the &quot;Role Mappings&quot; tab and assign the role &quot;user&quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435390 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/kc8-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
We are done for now with the Keycloak server configuration and we can start building our Spring Boot App!
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Creating a simple app&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Let&#39;s create a simple Spring Boot application, you might want to use the &lt;a href=&quot;https://start.spring.io/&quot;&gt;Spring Initializr&lt;/a&gt; and choose the following options:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Web&lt;/li&gt;
&lt;li&gt;Freemarker&lt;/li&gt;
&lt;li&gt;Keycloak&lt;/li&gt;
&lt;/ul&gt;
Name your app &quot;product-app&quot; and download the generated project:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435391 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/sb1-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Import the application in your favorite IDE, I will be using IntelliJ.

Our app will be simple and will contain only 2 pages:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;An index.html which will be the landing page containing just a link to the product page.&lt;/li&gt;
&lt;li&gt;Products.ftl which will be our product page template and will be only accessible for authenticated user.&lt;/li&gt;
&lt;/ul&gt;
Let&#39;s start by creating in simple index.html file in &quot;/src/resources/static&quot;:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;My awesome landing page&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
   &amp;lt;h2&amp;gt;Landing page&amp;lt;/h2&amp;gt;
   &amp;lt;a href=&quot;/products&quot;&amp;gt;My products&amp;lt;/a&amp;gt;
 &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Now we need a controller:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;@Controller
class ProductController {

   @Autowired ProductService productService;

   @GetMapping(path = &quot;/products&quot;)
   public String getProducts(Model model){
      model.addAttribute(&quot;products&quot;, productService.getProducts());
      return &quot;products&quot;;
   }

   @GetMapping(path = &quot;/logout&quot;)
   public String logout(HttpServletRequest request) throws ServletException {
      request.logout();
      return &quot;/&quot;;
   }
}&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
As you can see, it&#39;s simple; we define a mapping for the product page and one for the logout action. You will also notice that we are calling a &quot;ProductService&quot; that will return a list of strings that will put in our Spring MVC Model object, so let&#39;s create that service:
&lt;br /&gt;
&lt;pre&gt;@Component
class ProductService {
   public List&amp;lt;String&amp;gt; getProducts() {
      return Arrays.asList(&quot;iPad&quot;,&quot;iPod&quot;,&quot;iPhone&quot;);
   }
}&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
We also need to create the product.ftl template, create this file in &quot;src/resources/templates&quot;:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;#import &quot;/spring.ftl&quot; as spring&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;h2&amp;gt;My products&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;#list products as product&amp;gt;
    &amp;lt;li&amp;gt;$amp{product}&amp;lt;/li&amp;gt;
&amp;lt;/#list&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;
    &amp;lt;a href=&quot;/logout&quot;&amp;gt;Logout&amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Here we simply iterate through the list of products that are in our Spring MVC Model object and we add a link to log out from our application.

All that is the left is adding some keycloak properties in our application.properties.
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Defining Keycloak&#39;s configuration&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Some properties are mandatory:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;keycloak.auth-server-url=http://localhost:8080/auth
keycloak.realm=springboot
keycloak.public-client=true
keycloak.resource=product-app&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Then we need to define some Security constraints as you will do with a Java EE app in your web.xml:
&lt;br /&gt;
&lt;pre&gt;keycloak.security-constraints[0].authRoles[0]=user
keycloak.security-constraints[0].securityCollections[0].patterns[0]=/products/*&lt;/pre&gt;
Here, we simply define that every request to /products/* should be done with an authenticated user and that this user should have the role &quot;user&quot;.

One last property is to make sure our application will be running on port 8081:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;server.port=8081&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
We are all set and we can run our app!

You have several options to run your Spring Boot application, with Maven you can simply do:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mvn clean spring-boot:run&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Now browse to &quot;http://localhost:8080&quot; and you should see the landing page, click the &quot;products&quot; links and you will be redirected to the Keycloak login page:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435401 size-large&quot; height=&quot;329&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/login-1024x526.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Login with our user &quot;testuser/password&quot; and should be redirected back to your product page:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;img alt=&quot;&quot; class=&quot;aligncenter wp-image-435402 size-large&quot; height=&quot;351&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/product-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have secured your first Spring Boot app with Keycloak. Now Log out and go back to the Keycloak administration console and discover how you can &quot;tune&quot; your login page. For instance, you can activate the &quot;Remember Me&quot;, the &quot;User Registration&quot;, hit the save button and go back to your login screen, you will see that these features have been added.
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Introducing Spring Security support&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
If you&#39;re a Spring user and have been playing around security, there is a big chance that you have been using Spring Security. Well, I have some good news: we also have a Keycloak Spring Security Adapter and it&#39;s already included in our Spring Boot Keycloak Starter.

Let&#39;s see how we can leverage Spring Security together with Keycloak.
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Adding Spring Security Starter&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
First, we need the Spring Security libraries, the easiest way to do that is to add the spring-boot-starter-security artifact in your pom.xml:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;dependency&amp;gt;
   &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt;
   &amp;lt;artifactId&amp;gt;spring-boot-starter-security&amp;lt;/artifactId&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/pre&gt;
&lt;h3&gt;
Creating a SecurityConfig class&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Like any other project that is secured with Spring Security, a configuration class extending WebSecurityConfigurerAdapter is needed. Keycloak provides its own subclass that you can again subclass:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;@Configuration
@EnableWebSecurity
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
 class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter
{
   /**
    * Registers the KeycloakAuthenticationProvider with the authentication manager.
    */
   @Autowired
   public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
      KeycloakAuthenticationProvider keycloakAuthenticationProvider = keycloakAuthenticationProvider();
      keycloakAuthenticationProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper());
      auth.authenticationProvider(keycloakAuthenticationProvider);
   }

   @Bean
   public KeycloakConfigResolver KeycloakConfigResolver() {
      return new KeycloakSpringBootConfigResolver();
   }

   /**
    * Defines the session authentication strategy.
    */
   @Bean
   @Override
   protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
      return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl());
   }

   @Override
   protected void configure(HttpSecurity http) throws Exception
   {
      super.configure(http);
      http
            .authorizeRequests()
            .antMatchers(&quot;/products*&quot;).hasRole(&quot;user&quot;)
            .anyRequest().permitAll();
   }
}
&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Let&#39;s have a closer look at the most important methods:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;configureGlobal: Here we change the Granted Authority Mapper, by default in Spring Security, roles are prefixed with &lt;strong&gt;ROLE_,&lt;/strong&gt; we could change that in our Realm configuration but it could be confusing for other applications that do not know this convention, so here we assign a SimpleAuthorityMapper that will make sure no prefix is added.&lt;/li&gt;
&lt;li&gt;keycloakConfigResolver: By default, the Keycloak Spring Security Adapter will look up for a file named keycloak.json present on your classpath. But here we want to leverage the Spring Boot properties file support.&lt;/li&gt;
&lt;li&gt;configure: Here is where we define our security constraints, pretty simple to understand we secure the path &quot;/products&quot; with role &quot;user&quot;&lt;/li&gt;
&lt;/ul&gt;
Now we can remove the security constraints that we had defined previously in our application.properties file and let&#39;s add another property to map the Principal name with our Keycloak username:
&lt;br /&gt;
&lt;pre&gt;keycloak.principal-attribute=preferred_username
&lt;/pre&gt;
Now we can even inject the principal in our controller method and put the username in the Spring MVC model:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;@GetMapping(path = &quot;/products&quot;)
public String getProducts(Principal principal, Model model){
   model.addAttribute(&quot;principal&quot;,principal);
   model.addAttribute(&quot;products&quot;, productService.getProducts());
   return &quot;products&quot;;
}&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Finally, we update the product.ftl template to print out the username:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;#import &quot;/spring.ftl&quot; as spring&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;h2&amp;gt;Hello $amp{principal.getName()}&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;#list products as product&amp;gt;
    &amp;lt;li&amp;gt;$amp{product}&amp;lt;/li&amp;gt;
&amp;lt;/#list&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;
    &amp;lt;a href=&quot;/logout&quot;&amp;gt;Logout&amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
Restart your app, authenticate again, it should still work and you should also able to see your username printed on the product page:&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;img alt=&quot;&quot; class=&quot;size-large wp-image-435410 aligncenter&quot; src=&quot;https://developers.redhat.com/blog/wp-content/uploads/2017/05/springsec-1024x562.png&quot; style=&quot;border: 1px solid grey;&quot; /&gt;&lt;br /&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
We saw in this article how to deploy and configure a Keycloak Server and then secure a Spring Boot app, first by using Java EE security constraints and then by integrating Spring Security. In the next article, we will decompose this monolith application, which will give us the opportunity to:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;See how to secure a microservice.&lt;/li&gt;
&lt;li&gt;How microservices can securely &quot;talk&quot; to each other.&lt;/li&gt;
&lt;li&gt;How a Pure Web App build with AngularJS can be secured with Keycloak and call secured microservices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Screencast&lt;/h2&gt;
This article is also available in &quot;screencast&quot; format :
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=UUWyu1kG6YI&quot;&gt;https://www.youtube.com/watch?v=UUWyu1kG6YI&lt;/a&gt; (Part 1)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Yc5Qe5C3Xn4&quot;&gt;https://www.youtube.com/watch?v=Yc5Qe5C3Xn4&lt;/a&gt; (Part 2)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sebastienblanc/spring-boot-keycloak-tutorial&quot;&gt;Github Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.keycloak.org/&quot;&gt;Keycloak website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/java/spring-boot-adapter.html&quot;&gt;Spring Boot Keycloak Adapter Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/java/spring-security-adapter.html&quot;&gt;Spring Security Keycloak Adapter Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://start.spring.i/&quot;&gt;Spring Initializr Site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;

&lt;br /&gt;
&lt;hr /&gt;
</description>
        <guid>https://www.keycloak.org/2017/05/easily-secure-your-spring-boot</guid>
        <pubDate>Mon, 29 May 2017 00:00:00 GMT</pubDate>
        <category>Spring Boot</category>
        <author>Sébastien Blanc</author>
      </item>
      <item>
        <title>Criticial vulnerability fixed in Keycloak Node.js adapters</title>
        <link>https://www.keycloak.org/2017/05/criticial-vulnerability-fixed-in</link>
        <description>
&lt;p&gt;
A criticial vulnerability was discovered in Keycloak Node.js adapters. We highly recommend everyone upgrades to version 3.1.0 of the adapter immediately. This adapter will work with Keycloak 2 and upwards.
&lt;/p&gt;

&lt;p&gt;
For more details see &lt;a href=&quot;https://access.redhat.com/security/cve/cve-2017-7474&quot;&gt;CVE-2017-7474&lt;/a&gt;.
&lt;/p&gt;</description>
        <guid>https://www.keycloak.org/2017/05/criticial-vulnerability-fixed-in</guid>
        <pubDate>Thu, 11 May 2017 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>How to Setup MS AD FS 3.0 as Brokered Identity Provider in Keycloak</title>
        <link>https://www.keycloak.org/2017/03/how-to-setup-ms-ad-fs-30-as-brokered</link>
        <description>
&lt;p&gt;&lt;span&gt;This document guides you through initial setup of Microsoft Active Directory Federation Services 3.0 as a brokered identity provider Keycloak.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Two server hosts:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft Windows Server 2012 with Active Directory Federation Services (AD FS) installed. The AD domain will be named &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;DOMAIN.NAME &lt;/span&gt;&lt;span&gt;in this post.&lt;/li&gt;
&lt;li&gt;Keycloak server. This can be generally placed anywhere but here it is expected to be running on separate host&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;DNS setup:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;The Windows host name will be &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;fs.domain.name&lt;/span&gt;&lt;span&gt; in this post&lt;/li&gt;
&lt;li&gt;The Keycloak host name will be &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;kc.domain.name&lt;/span&gt;&lt;span&gt; in this post&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h2&gt;
&lt;span style=&quot;font-size: 16pt; white-space: pre-wrap;&quot;&gt;Setup Keycloak Server&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;Keycloak server has configured for SSL/TLS transport - this is mandatory for AD FS to communicate with it. This comprises two steps:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setup keycloak for incoming HTTPS&lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt; &lt;/span&gt;&lt;span&gt;connections - steps are provided &lt;/span&gt;&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_installation/index.html#enabling-ssl-https-for-the-keycloak-server&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;in Server Installation guide&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/li&gt;
&lt;li&gt;Export AD FS certificate into a Java truststore to enable outgoing HTTPS connections:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;In the AD FS management console, go to &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Service → Certificates&lt;/span&gt;&lt;span&gt; node in the tree and export the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Service communications &lt;/span&gt;&lt;span&gt;certificate.&lt;/li&gt;
&lt;li&gt;Import the certificate into a Java truststore (JKS format) using Java keytool utility.&lt;/li&gt;
&lt;li&gt;Setup the truststore in Keycloak as described &lt;/span&gt;&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_installation/index.html#_truststore&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;in Server Installation guide&lt;/span&gt;&lt;/a&gt;&lt;span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h2&gt;
&lt;span style=&quot;font-size: 16pt; white-space: pre-wrap;&quot;&gt;Setup Identity Provider in Keycloak&lt;/span&gt;&lt;/h2&gt;
&lt;h3 style=&quot;margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;
&lt;span style=&quot;color: #434343; font-size: 14pt; white-space: pre-wrap;&quot;&gt;Setup Basic Properties of Brokered Identity Provider&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;In the Identity Providers, create a new SAML v2.0 identity provider. In this post, the identity provider will be known under alias &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;adfs-idp-alias&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now scroll to the bottom and enter the AD FS descriptor URL into &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Import from URL&lt;/span&gt;&lt;span&gt; field. For AD FS 3.0, this URL is &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;https://fs.domain.name/FederationMetadata/2007-06/FederationMetadata.xml&lt;/span&gt;&lt;span&gt;. Once you click “Import”, check the settings. Usually, you would at least enable &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Validate signature&lt;/span&gt;&lt;span&gt; option. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If the authentication requests sent to the AD FS instance are expected to be signed, which is also usually the case, you have to enable &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Want AuthnRequests Signed&lt;/span&gt;&lt;span&gt; option. Importantly, then the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;SAML Signature Key Name&lt;/span&gt;&lt;span&gt; field that shows after enabling the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Want AuthnRequests Signed&lt;/span&gt;&lt;span&gt; option has to be set to CERT_SUBJECT as AD FS expects the signing key name hint to be the subject of the signing certificate.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The AD FS will be set up in the next step to respond with name ID in Windows Domain Qualified Name format, hence set the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;NameID Policy Format&lt;/span&gt;&lt;span&gt; field accordingly.&lt;/span&gt;&lt;/p&gt;
&lt;b id=&quot;docs-internal-guid-d7a78233-f66d-5bde-d887-549caec7811b&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img height=&quot;640&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/0-adfs.png&quot; width=&quot;617&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;
&lt;span style=&quot;color: #434343; font-size: 14pt; white-space: pre-wrap;&quot;&gt;Setup Mappers&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;In the steps setting AD FS below, AD FS will be set up to send email and group information in SAML assertion. To transform these details from SAML document issued by AD FS to Keycloak user store, we’ll need to set up two corresponding mappers in the Mappers tab of Identity Provider:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mapper named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Group: managers&lt;/span&gt;&lt;span&gt; will be of type &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;SAML Attribute to Role&lt;/span&gt;&lt;span&gt;, and will map attribute named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;http://schemas.xmlsoap.org/claims/Group&lt;/span&gt;&lt;span&gt;, if that has attribute value &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;managers,&lt;/span&gt;&lt;span&gt; to role &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;manager&lt;/span&gt;&lt;span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;img height=&quot;266&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/1-adfs.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Mapper named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Attribute: email&lt;/span&gt;&lt;span&gt; will be of type &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Attribute Importer&lt;/span&gt;&lt;span&gt;, and will map attribute named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress&lt;/span&gt;&lt;span&gt; into user attribute named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;email&lt;/span&gt;&lt;span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img height=&quot;200&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/2-adfs.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;
&lt;span style=&quot;color: #434343; font-size: 14pt; white-space: pre-wrap;&quot;&gt;Obtain information for the AD FS configuration&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Now we determine SAML service provider descriptor URI that will be used in AD FS setup from the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Redirect URI&lt;/span&gt;&lt;span&gt; field in the identity provider detail by adding “/descriptor” to the URI in this field. The URI will be similar to &lt;/span&gt;&lt;span style=&quot;font-weight: 700&quot;&gt;https://kc.domain.name:8443/auth/realms/master/broker/adfs-idp-alias/endpoint/descriptor&lt;/span&gt;&lt;span&gt;. You can check whether you got the URI right by entering the URI into the browser - you should receive a SAML service provider XML descriptor.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;
&lt;span style=&quot;font-size: 16pt; white-space: pre-wrap;&quot;&gt;Setup Relying Party Trust in AD FS&lt;/span&gt;&lt;/h2&gt;
&lt;h4 style=&quot;margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;
&lt;span style=&quot;color: #666666; font-size: 12pt; white-space: pre-wrap;&quot;&gt;Setup Relying Party&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span&gt;In AD FS Management console, right-click Tr&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;ust relationships → Relying Party Trusts&lt;/span&gt;&lt;span&gt; and select &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Add Relying Party Trust&lt;/span&gt;&lt;span&gt; from the menu:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/adfs/3-adfs.png&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;At the beginning of the wizard, enter the SAML descriptor URL obtained in the previous step into the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Federation metadata address &lt;/span&gt;&lt;span&gt;field, and let AD FS import the settings. Proceed with the wizard, and adjust the settings where appropriate. Here we use only the default settings. Note that you will need to edit the claim rules so when asked to do so at the last page of the wizard, you can leave the checkbox checked on.&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;
&lt;span style=&quot;color: #666666; font-size: 12pt; white-space: pre-wrap;&quot;&gt;Setup Claim Mapping&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span&gt;Now the SAML protocol would proceed correctly, AD FS would be able to correctly authenticate the users according to requests from Keycloak, but the requested name ID format is not yet recognized and SAML response would not contain any additional information like e-mail. It is hence necessary to map claims from AD user details into SAML document.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We will set up three rules: one for mapping user ID, second for mapping standard user attributes, and third for a user group. All start by clicking the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Add Rule&lt;/span&gt;&lt;span&gt; button in the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Edit Claim Rules for kc.domain.name&lt;/span&gt;&lt;span&gt; window:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img height=&quot;400&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/4-adfs.png&quot; width=&quot;365&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;The first rule will map user ID in Windows Qualified Domain name to the SAML response. In the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Add Transform Claim Rule&lt;/span&gt;&lt;span&gt; window, select &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Transform an incoming claim &lt;/span&gt;&lt;span&gt;rule type:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img height=&quot;515&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/5-adfs.png&quot; width=&quot;640&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;The example above targets windows account name ID format. Other name ID formats are supported but out of scope of this post. See e.g. &lt;a href=&quot;https://blogs.msdn.microsoft.com/card/2010/02/17/name-identifiers-in-saml-assertions/&quot;&gt;this blog&lt;/a&gt; on how to setup name IDs for persistent and transient formats.&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;The second rule will map user e-mail to the SAML response. In the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Add Transform Claim Rule&lt;/span&gt;&lt;span&gt; window, select &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Send LDAP attributes as Claims &lt;/span&gt;&lt;span&gt;rule type. You can add other attributes as needed:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/adfs/6-adfs.png&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;The third rule would send a group name if the user is member of a named group. Start again in the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Add Transform Claim Rule&lt;/span&gt;&lt;span&gt; window, and select &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Send Group Membership as a Claim &lt;/span&gt;&lt;span&gt;rule type. Then enter the requested values in the field:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span&gt;&lt;img height=&quot;515&quot; src=&quot;https://www.keycloak.org/resources/images/blog/adfs/7-adfs.png&quot; width=&quot;640&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;This setup would send an attribute named &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Group &lt;/span&gt;&lt;span&gt;in the SAML assertion with value &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;managers&lt;/span&gt;&lt;span&gt; if the authenticated user is member of the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;DOMAIN\Managers&lt;/span&gt;&lt;span&gt; group.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;
&lt;span style=&quot;font-size: 16pt; white-space: pre-wrap;&quot;&gt;Troubleshooting&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;As a first-hand tool, you should check SAML messages sent back and forth between Keycloak and AD FS in your browser. The SAML decoders are available as browser extensions (e.g. SAML Tracer for Firefox, SAML Chrome Panel for Chrome). From the captured communication, you might see error status codes as well as the actual attribute names and values in SAML assertion necessary for setting up mappers. For example, if name ID format is not recognized, AD FS would return a SAML response containing &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-weight: 400&quot;&gt;&lt;i&gt;urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy&lt;/i&gt;&lt;/span&gt;&lt;span&gt; status code.&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;As a second resort, check the logs. For AD FS, the logs are available in the &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-weight: 400&quot;&gt;&lt;i&gt;Event viewer&lt;/i&gt;&lt;/span&gt;&lt;span&gt; under &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic&quot;&gt;Applications and Services Logs → AD FS → Admin&lt;/span&gt;&lt;span&gt;. In Keycloak, you can enable tracing of the SAML processing by connecting to the running Keycloak instance via jboss-cli.sh and entering the following commands:&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;courier new&amp;quot;; font-size: 11pt; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;courier new&amp;quot;; font-size: 11pt; white-space: pre-wrap;&quot;&gt;/subsystem=logging/logger=org.keycloak.saml:add(level=DEBUG)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;courier new&amp;quot;; font-size: 11pt; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;courier new&amp;quot;; font-size: 11pt; white-space: pre-wrap;&quot;&gt;/subsystem=logging/logger=org.keycloak.broker.saml:add(level=DEBUG)&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;Then you will be able to find the SAML messages and broker-related SAML processing messages in the Keycloak server log.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;
&lt;span style=&quot;color: #434343; font-size: 14pt; white-space: pre-wrap;&quot;&gt;Common issues&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;span style=&quot;font-weight: 700&quot;&gt;Q:&lt;/span&gt;&lt;span&gt; I cannot log out! When I click logout in my app, it seems I’m logged out from Keycloak but when I return to the app, AD FS login form never displays and I’m redirected back authenticated as the same user as previously!&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-weight: 700&quot;&gt;A:&lt;/span&gt;&lt;span&gt; Don’t panic. This is not a Keycloak issue, rather AD FS settings of authentication policy. Try &lt;/span&gt;&lt;a href=&quot;https://blogs.msdn.microsoft.com/josrod/2014/10/15/enabled-forms-based-authentication-in-adfs-3-0/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;disabling Windows Authentication&lt;/span&gt;&lt;/a&gt;&lt;span&gt; before reporting an issue.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt; font-style: normal&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;Q:&lt;/b&gt; While using AD FS in Windows 2016, the following error appeared in Keycloak log after importing the descriptor from URL: R&lt;i&gt;ESTEASY002010: Failed to execute: javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: https://kc.domain.name/auth/realms/master/broker/adfs-idp-alias/endpoint/descriptor/FederationMetadata/2007-06/FederationMetadata.xml&lt;/i&gt;. Does it cause any harm?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;A:&lt;/b&gt; It is harmless. It seems that Windows 2016 version first checks for AD FS-like descriptor URL by adding &lt;i&gt;FederationMetadata/2007-06/FederationMetadata.xml&lt;/i&gt; to the entered URL. Such resource does not exist in Keycloak, so it reports error. AD FS however seems to import using the entered URL when this happens. Please see also the &lt;a href=&quot;http://lists.jboss.org/pipermail/keycloak-user/2017-March/010138.html&quot;&gt;original email discussion&lt;/a&gt; on this issue.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;span style=&quot;font-size: 16pt; white-space: pre-wrap;&quot;&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;If you get stuck, do not hesitate to write a question to &lt;/span&gt;&lt;a href=&quot;https://keycloak.discourse.group/&quot;&gt;&lt;b&gt;Keycloak user forum&lt;/b&gt;&lt;/a&gt;&lt;span&gt; mailing list.&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span&gt;As there is always room for improvement, if you find any issue or have any suggestion on this text, feel free to leave a comment!&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
</description>
        <guid>https://www.keycloak.org/2017/03/how-to-setup-ms-ad-fs-30-as-brokered</guid>
        <pubDate>Thu, 23 Mar 2017 00:00:00 GMT</pubDate>
        <category>Active Directory</category>
        <author>Hynek Mlnařík</author>
      </item>
</channel>

</rss>
