<?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>Organization Groups: Structure Your Organizations with Hierarchical Group Management</title>
        <link>https://www.keycloak.org/2026/04/org-groups</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Introduced in Keycloak 26.6.0, Organization Groups bring hierarchical group management to the Organizations feature. While Organizations already let you model Business-to-Business (B2B) relationships where external companies, partners, or departments each manage their own users, Organization Groups take this further by letting you organize members within each organization into logical teams, departments, or any structure that fits your needs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_why_organization_groups&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_why_organization_groups&quot;&gt;&lt;/a&gt;Why Organization Groups?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before Organization Groups, structuring members within an organization required workarounds using realm-level groups, which are shared across the entire realm. This creates problems in multi-tenant scenarios: if Organization A and Organization B both need an &quot;Engineering&quot; group, they&amp;#8217;d collide at the realm level.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organization Groups solve this by giving each organization its own isolated group hierarchy. Organization A&amp;#8217;s &lt;code&gt;/Engineering/Backend&lt;/code&gt; and Organization B&amp;#8217;s &lt;code&gt;/Engineering/Backend&lt;/code&gt; are completely separate groups with their own members, attributes, and identifiers. No naming conflicts, no cross-organization leakage.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_creating_a_group_hierarchy&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_creating_a_group_hierarchy&quot;&gt;&lt;/a&gt;Creating a Group Hierarchy&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Groups can be nested to mirror real-world organizational structures:&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;/Engineering
  /Engineering/Backend
  /Engineering/Frontend
/Sales
  /Sales/APAC
  /Sales/EMEA
  /Sales/LATAM
  /Sales/NA&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Creating groups is straightforward: navigate to your organization, click the &lt;strong&gt;Groups&lt;/strong&gt; tab, and click &lt;strong&gt;Create group&lt;/strong&gt;. To build hierarchies, select a parent group before creating a child group, or use &lt;strong&gt;Move to&lt;/strong&gt; to reorganize existing groups.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_automatic_group_assignment_via_identity_providers&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_automatic_group_assignment_via_identity_providers&quot;&gt;&lt;/a&gt;Automatic Group Assignment via Identity Providers&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the most powerful capabilities is automatic group assignment during federated authentication. When an identity provider is linked to an organization, two mapper types are available:&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;Hardcoded Group&lt;/strong&gt; assigns every user authenticating through the IdP to a specific organization group. Useful for scenarios like &quot;everyone from this corporate IdP goes into the Engineering team.&quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Advanced Claim to Group&lt;/strong&gt; maps users to groups based on claim values from the external IdP. For example, you can map users with a &lt;code&gt;department=backend&lt;/code&gt; claim to &lt;code&gt;/Engineering/Backend&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;When selecting target groups in these mappers, Keycloak automatically shows both realm groups and groups from the organization linked to the IdP.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_groups_in_tokens&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_groups_in_tokens&quot;&gt;&lt;/a&gt;Groups in Tokens&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organization group memberships can be included in both OIDC tokens and SAML assertions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_oidc&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_oidc&quot;&gt;&lt;/a&gt;OIDC&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Add the &lt;strong&gt;Organization Group Membership&lt;/strong&gt; mapper to a scope that also contains the &lt;strong&gt;Organization Membership&lt;/strong&gt; mapper (the built-in &lt;code&gt;organization&lt;/code&gt; scope is the easiest choice). When a user authenticates and requests the &lt;code&gt;organization&lt;/code&gt; scope, groups appear within the organization claim:&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;acme-corp&quot;: {
      &quot;id&quot;: &quot;f8d3c4e1-...&quot;,
      &quot;groups&quot;: [&quot;/Engineering/Backend&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Group paths are relative to the organization, and multiple organizations can be included using &lt;code&gt;scope=organization:*&lt;/code&gt; or by specifying multiple aliases like &lt;code&gt;scope=organization:org-a organization:org-b&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_saml&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_saml&quot;&gt;&lt;/a&gt;SAML&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Add the &lt;strong&gt;Organization Group Membership&lt;/strong&gt; mapper to the built-in &lt;code&gt;saml_organization&lt;/code&gt; scope (which already includes the Organization Membership mapper). Groups are automatically included in assertions for all organizations the user is a member of:&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;Attribute Name=&quot;organization.acme-corp.groups&quot;&amp;gt;
  &amp;lt;AttributeValue&amp;gt;/Engineering/Backend&amp;lt;/AttributeValue&amp;gt;
&amp;lt;/Attribute&amp;gt;&lt;/code&gt;&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;_viewing_a_members_group_memberships&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_viewing_a_members_group_memberships&quot;&gt;&lt;/a&gt;Viewing a Member&amp;#8217;s Group Memberships&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To see which organization groups a specific member belongs to, use the kebab menu next to the member in the organization&amp;#8217;s &lt;strong&gt;Members&lt;/strong&gt; tab and select &lt;strong&gt;Show group memberships&lt;/strong&gt;. This provides a quick overview without navigating away from the member list.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_organization_groups_differ_from_realm_groups&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_organization_groups_differ_from_realm_groups&quot;&gt;&lt;/a&gt;How Organization Groups Differ from Realm Groups&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;table class=&quot;tableblock frame-all grid-all stretch&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 33.3333%;&quot;&gt;
&lt;col style=&quot;width: 33.3333%;&quot;&gt;
&lt;col style=&quot;width: 33.3334%;&quot;&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Organization Groups&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Realm Groups&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Scope&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Belong to a single organization&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Shared across the entire realm&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;Isolation&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Same paths can exist in different organizations&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Paths must be unique within the realm&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;Authorization policies&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Cannot be used in Keycloak authorization policies&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Supported in authorization policies&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;Token mapping&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Appear within the &lt;code&gt;organization&lt;/code&gt; claim context&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;Available via standard group mappers&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_rest_api&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_rest_api&quot;&gt;&lt;/a&gt;REST API&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organization groups are fully manageable via the Admin REST API under &lt;code&gt;/admin/realms/{realm}/organizations/{orgId}/groups&lt;/code&gt;. The API supports creating, listing, updating, moving, and deleting groups, as well as managing group members. This makes it straightforward to automate organization structure provisioning from external systems.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_getting_started&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_getting_started&quot;&gt;&lt;/a&gt;Getting Started&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organization Groups are available starting with Keycloak 26.6.0 as part of the Organizations feature. Enable Organizations in your realm settings, create an organization, and start building your group hierarchy from the &lt;strong&gt;Groups&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For full details, see the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-organizations_server_administration_guide&quot;&gt;Organizations documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/04/org-groups</guid>
        <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
        
        <author>Vlasta Ramik</author>
      </item>
      <item>
        <title>Keycloak JS 26.2.4 released</title>
        <link>https://www.keycloak.org/2026/04/keycloak-js-2624-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release of Keycloak JS addresses two regressions in the Cordova adapter that were introduced in version &lt;code&gt;26.2.1&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_bug_fixes&quot;&gt;Bug Fixes&lt;/h4&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_cordova_adapter_no_longer_triggers_duplicate_authentication_requests&quot;&gt;Cordova adapter no longer triggers duplicate authentication requests&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression introduced in version &lt;code&gt;26.2.1&lt;/code&gt; caused the Cordova in-app browser to fire multiple &lt;code&gt;loadstart&lt;/code&gt; events before the token exchange completed, resulting in concurrent authentication requests that could fail the login flow. The &lt;code&gt;completed&lt;/code&gt; flag is now set before awaiting the token exchange, preventing duplicate processing of the redirect URI.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/208&quot;&gt;keycloak/keycloak-js#208&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_cordova_in_app_browser_now_closes_before_awaiting_token_exchange&quot;&gt;Cordova in-app browser now closes before awaiting token exchange&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression introduced in version &lt;code&gt;26.2.1&lt;/code&gt; caused the Cordova in-app browser to remain open during the asynchronous token exchange, resulting in a brief &quot;Web page not available&quot; error flashing on Android before the browser eventually closed. The browser is now closed immediately after the redirect URI is captured, before the token exchange begins.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/209&quot;&gt;keycloak/keycloak-js#209&lt;/a&gt;&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/#_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/2026/04/keycloak-js-2624-released</guid>
        <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
        <category>Keycloak JS Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.9 released</title>
        <link>https://www.keycloak.org/2026/04/keycloak-client-2609-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/203&quot;&gt;#203&lt;/a&gt; Sync after Keycloak server 26.6.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/205&quot;&gt;#205&lt;/a&gt; Update dependencies &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/2026/04/keycloak-client-2609-released</guid>
        <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.6.1 released</title>
        <link>https://www.keycloak.org/2026/04/keycloak-2661-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47276&quot;&gt;#47276&lt;/a&gt; CVE-2026-4366 Blind Server-Side Request Forgery (SSRF) via HTTP Redirect Handling &lt;code&gt;core&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47619&quot;&gt;#47619&lt;/a&gt; CVE-2026-4633 Keycloak user enumeration via identity-first login &lt;code&gt;core&lt;/code&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/47839&quot;&gt;#47839&lt;/a&gt; Update CloudNativePG to 1.29 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47909&quot;&gt;#47909&lt;/a&gt; Database data at rest encryption &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/47435&quot;&gt;#47435&lt;/a&gt; AuroraDB IT CI workflow not cleaning up databases &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/47737&quot;&gt;#47737&lt;/a&gt; deploy-testsuite profile is incomplete, causing discrete testsuite execution to 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/47776&quot;&gt;#47776&lt;/a&gt; False session type of access token in offline_access refresh token flow with scope parameter without offline_access 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/47827&quot;&gt;#47827&lt;/a&gt; az vm create fails with JSON parsing 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/47872&quot;&gt;#47872&lt;/a&gt; v26.6.0 Operator flood logs with warnings &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/47889&quot;&gt;#47889&lt;/a&gt; Not possible to sync latest keycloak-admin-client to keycloak-client &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/47904&quot;&gt;#47904&lt;/a&gt; @keycloak/keycloak-admin-client fails to install in version 26.6.0 &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/47905&quot;&gt;#47905&lt;/a&gt; invalid package reference 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/47908&quot;&gt;#47908&lt;/a&gt; MigrateTo26_6_0 modifies custom browser flows, breaking existing realm authentication &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/47929&quot;&gt;#47929&lt;/a&gt; User profile multiselect options not highlighted as selected in 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/47955&quot;&gt;#47955&lt;/a&gt; IdentityProviderAuthenticator creates an infinite redirect loop when an IdP returns an error (e.g. access_denied) and the login was initiated with kc_idp_hint &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/48015&quot;&gt;#48015&lt;/a&gt; Missing explicit docs anchor for organizations &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/48032&quot;&gt;#48032&lt;/a&gt; Endpoint Response Text during Bootstrap contains Typo: Boostrap &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/2026/04/keycloak-2661-released</guid>
        <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>SCIM Realm API as an Experimental Feature</title>
        <link>https://www.keycloak.org/2026/04/scim-as-experimental-feature</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have been following the latest blog posts, you may have noticed that we have been working on implementing the
System for Cross-domain Identity Management (SCIM) protocol in Keycloak.
We are excited to announce that the SCIM Realm API is now available as an experimental feature in Keycloak 26.6.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The SCIM Realm API allows you to manage users and groups in Keycloak using the SCIM protocol. This means that you can
use any SCIM client to manage the user and group resource types in your realm.
This is a great step towards improving the integrability of Keycloak with other (cross-domain) IAM solutions and
downstream applications, thereby enabling common cloud use cases for identity (de)provisioning.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In terms of integration, we focused on making the API as compatible as possible with Microsoft Entra ID,
which is the integration most &lt;a href=&quot;https://www.keycloak.org/2026/02/scim-support-survey-feedback&quot;&gt;demanded&lt;/a&gt; by the community.
To do that, we have used the &lt;a href=&quot;https://scimvalidator.microsoft.com/&quot;&gt;EntraID SCIM Validator&lt;/a&gt; to validate our implementation
and ensure that it meets the requirements of Microsoft Entra ID.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In essence, the SCIM Realm API is the Admin API but compliant with SCIM.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_to_try_it_out&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_to_try_it_out&quot;&gt;&lt;/a&gt;How to try it out?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since this is an experimental feature (not enabled by default), you need to enable it when 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;docker run --name kc-scim-api -d \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  -p 8080:8080 \
  quay.io/keycloak/keycloak:nightly \
  start-dev --features=scim-api&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us create a realm &lt;code&gt;myrealm&lt;/code&gt; and enable the SCIM API for it. To do that, you can use the &lt;code&gt;kcadm.sh&lt;/code&gt; script to create
the realm and enable the API. First, you need to configure the credentials for the &lt;code&gt;kcadm.sh&lt;/code&gt; script to be able to connect
to 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;./kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin --password admin&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Create the realm &lt;code&gt;myrealm&lt;/code&gt;:&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;./kcadm.sh create realms -s realm=myrealm -s enabled=true -s scimApiEnabled=true&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Using the administration console, go to the &lt;code&gt;Realm Settings&lt;/code&gt; page of your realm, and check that the &lt;code&gt;SCIM API&lt;/code&gt; setting is enabled.
Once the API is enabled, you can look up the SCIM base URL in the same page from the link &lt;code&gt;SCIM Endpoint&lt;/code&gt; at the bottom of the page.
When running on &lt;code&gt;localhost&lt;/code&gt;, you should see something like &lt;code&gt;&lt;a href=&quot;http://localhost:8080/realms/myrealm/scim/v2&quot; class=&quot;bare&quot;&gt;http://localhost:8080/realms/myrealm/scim/v2&lt;/a&gt;&lt;/code&gt; as the SCIM base URL.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_connecting_a_scim_client&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_connecting_a_scim_client&quot;&gt;&lt;/a&gt;Connecting a SCIM client&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us create a service account with enough permissions to access the SCIM API. To do that, you can create a client with
the &lt;code&gt;manage-users&lt;/code&gt; role, and use the credentials of this client to obtain an access token that you can use to make
requests to the SCIM API:&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;./kcadm.sh create clients -r myrealm -s clientId=scim-client -s serviceAccountsEnabled=true -s publicClient=false -s secret=secret&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To allow access to manage users and groups, grant the &lt;code&gt;manage-users&lt;/code&gt; role to the service account of the client. You also
need to grant &lt;code&gt;view-realm&lt;/code&gt; role to allow access to non-resource-type endpoints such as the &lt;code&gt;/ServiceProviderConfig&lt;/code&gt;,
&lt;code&gt;/Schemas&lt;/code&gt;, or &lt;code&gt;/ResourceTypes&lt;/code&gt; endpoints:&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;./kcadm.sh add-roles -r myrealm --uusername service-account-scim-client --cclientid realm-management --rolename manage-users
./kcadm.sh add-roles -r myrealm --uusername service-account-scim-client --cclientid realm-management --rolename view-realm&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;_understanding_scim_permissions&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_understanding_scim_permissions&quot;&gt;&lt;/a&gt;Understanding SCIM Permissions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, there is no specific role or permission for the SCIM API yet.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The SCIM API uses the same permissions as the Admin API, so you can use the same roles and permissions to control access
to the realm resources (users and groups) via the SCIM Realm API. For example, if you want to allow read-only access to users
via the SCIM API, you can grant them the &lt;code&gt;view-users&lt;/code&gt; role in the realm. The same is true if you are using Fine-Grained
Admin Permissions, where you can grant specific permissions to individual realm resources.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You should also be able to only allow a specific set of users or groups to be accessible and manageable via SCIM. For that,
consider enabling &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#_fine_grained_permissions&quot;&gt;Fine-Grained Admin Permissions&lt;/a&gt; to your realm.&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;_accessing_the_scim_realm_api&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_accessing_the_scim_realm_api&quot;&gt;&lt;/a&gt;Accessing the SCIM Realm API&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you have a client and subject with enough access to the SCIM API, you can use any SCIM client to manage users and
groups in your realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us obtain a token for the service account of the &lt;code&gt;scim-client&lt;/code&gt; client we created in the
previous step, and use it to make a request to the SCIM API. You can obtain a token for the service account with 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;ACCESS_TOKEN=$(curl -s -X POST &quot;http://localhost:8080/realms/myrealm/protocol/openid-connect/token&quot; \
  -H &quot;Content-Type: application/x-www-form-urlencoded&quot; \
  -d &#39;grant_type=client_credentials&amp;amp;client_id=scim-client&amp;amp;client_secret=secret&#39; \
  | jq -r .access_token)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now you can use this token to make a request to the SCIM API, for example, to create a user with 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;curl -v -X POST &quot;http://localhost:8080/realms/myrealm/scim/v2/Users&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot; \
  -H &quot;Content-Type: application/scim+json&quot; \
  -H &quot;Accept: application/scim+json&quot; \
  -d &#39;{
    &quot;schemas&quot;: [&quot;urn:ietf:params:scim:schemas:core:2.0:User&quot;],
    &quot;userName&quot;: &quot;jdoe&quot;,
    &quot;name&quot;: { &quot;givenName&quot;: &quot;John&quot;, &quot;familyName&quot;: &quot;Doe&quot; },
    &quot;displayName&quot;: &quot;John Doe&quot;,
    &quot;emails&quot;: [
      { &quot;value&quot;: &quot;jdoe@example.com&quot; }
    ]
  }&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The same is true for groups, where you can create a group with 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;curl -v -X POST &quot;http://localhost:8080/realms/myrealm/scim/v2/Groups&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot; \
  -H &quot;Content-Type: application/scim+json&quot; \
  -H &quot;Accept: application/scim+json&quot; \
  -d &#39;{
    &quot;schemas&quot;: [&quot;urn:ietf:params:scim:schemas:core:2.0:Group&quot;],
    &quot;displayName&quot;: &quot;mygroup&quot;
  }&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;And, for example, to add a user to a group with the following command. Make sure to replace &lt;code&gt;{group_id}&lt;/code&gt; and &lt;code&gt;{user_id}&lt;/code&gt; with the actual ID of the group and the user you want to add as a member of the group, respectively:&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;curl -v -X PATCH &quot;http://localhost:8080/realms/myrealm/scim/v2/Groups/{group_id}&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot; \
  -H &quot;Content-Type: application/scim+json&quot; \
  -H &quot;Accept: application/scim+json&quot; \
  -d &#39;{
    &quot;schemas&quot;: [&quot;urn:ietf:params:scim:api:messages:2.0:PatchOp&quot;],
    &quot;Operations&quot;: [
      {
        &quot;op&quot;: &quot;add&quot;,
        &quot;path&quot;: &quot;members&quot;,
        &quot;value&quot;: [
          { &quot;value&quot;: &quot;{user_id}&quot; }
        ]
      }
    ]
  }&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As mentioned before, the &lt;code&gt;view-realm&lt;/code&gt; role is required to access non-resource-type endpoints, so if you have granted
this role to the service account of the &lt;code&gt;scim-client&lt;/code&gt; client, you can access the &lt;code&gt;/ServiceProviderConfig&lt;/code&gt;, &lt;code&gt;/Schemas&lt;/code&gt;,
and &lt;code&gt;/ResourceTypes&lt;/code&gt; endpoints with the following 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;curl -v -X GET &quot;http://localhost:8080/realms/myrealm/scim/v2/ServiceProviderConfig&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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;curl -v -X GET &quot;http://localhost:8080/realms/myrealm/scim/v2/Schemas&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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;curl -v -X GET &quot;http://localhost:8080/realms/myrealm/scim/v2/ResourceTypes&quot; \
  -H &quot;Authorization: Bearer $ACCESS_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_mapping_user_attributes_to_scim_attributes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_mapping_user_attributes_to_scim_attributes&quot;&gt;&lt;/a&gt;Mapping User Attributes to SCIM Attributes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to the user profile feature, you can easily map user attributes to SCIM attributes. To do that, you can add a
&lt;code&gt;kc.scim.schema.attribute&lt;/code&gt; annotation to a user profile attribute where the value is the name of the SCIM attribute you want to map to.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By default, the user root attributes are automatically mapped to the corresponding SCIM attributes. For example,
the &lt;code&gt;username&lt;/code&gt; attribute is automatically mapped to the &lt;code&gt;userName&lt;/code&gt; SCIM attribute, and the &lt;code&gt;firstName&lt;/code&gt; attribute is automatically mapped to the &lt;code&gt;name.givenName&lt;/code&gt; SCIM attribute.
The same applies to the &lt;code&gt;lastName&lt;/code&gt; and &lt;code&gt;email&lt;/code&gt; attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The list of supported SCIM attributes can be found by querying the &lt;code&gt;/Schemas&lt;/code&gt; or &lt;code&gt;/ResourceTypes&lt;/code&gt; endpoints of the SCIM API.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For instance, if you want to map an attribute from the enterprise user schema, such as &lt;code&gt;employeeNumber&lt;/code&gt;, you can add
the &lt;code&gt;kc.scim.schema.attribute&lt;/code&gt; annotation to the corresponding user profile attribute with the value
&lt;code&gt;urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumber&lt;/code&gt;, and this attribute will be available as an
extension attribute in user resources in the SCIM API.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In future releases, we plan to add support for mapping custom attributes to SCIM attributes, so you will be able to map
any user profile attribute to a SCIM attribute, and create your own custom schemas and attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_mapping_group_attributes_to_scim_attributes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_mapping_group_attributes_to_scim_attributes&quot;&gt;&lt;/a&gt;Mapping Group Attributes to SCIM Attributes&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Unlike users, the group resource type is limited to only the &lt;code&gt;displayName&lt;/code&gt; and &lt;code&gt;members&lt;/code&gt; attributes, as per
the group core schema.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Groups do not have a user-profile-like feature, so there is no way to map custom attributes to SCIM attributes for groups
without using a different — not ideal — approach. This is one of the key design aspects we will be looking at in the next release,
so that we build a common mechanism for mapping both user and group attributes to SCIM attributes, and that we can
support custom schemas and attributes for both users and groups.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_being_delivered&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_being_delivered&quot;&gt;&lt;/a&gt;What is being delivered?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The capabilities delivered in 26.6 are based on the &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7643&quot;&gt;RFC 7643&lt;/a&gt; and
&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7644&quot;&gt;RFC 7644&lt;/a&gt; specifications, and include support for most of both specs.
We aimed to deliver this initial set of capabilities in a way that is compatible with Microsoft Entra ID, so that
SCIM clients can perform the following operations:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;POST, GET, PATCH, PUT, and DELETE operations for managing users and groups&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for the core user, enterprise user, and group schemas&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add and remove users from groups&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Search for users and groups using the SCIM filtering and pagination syntax&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Query the supported Service Provider Configuration, Schemas, and Resource Types&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There are missing capabilities from the RFCs, a highlight being:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bulk Operations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password Management&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sorting&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Manage service provider config settings&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Custom Schemas and Attributes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In regard to custom schemas and attributes, we have delivered support for mapping user profile attributes to
SCIM attributes, but there is no support for custom schemas and attributes yet. This means that you can only map user
profile attributes to the existing SCIM attributes defined in the core and enterprise user schemas, but you cannot
create your own custom schemas and attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The feature&amp;#8217;s roadmap includes additional capabilities such as UIs for the administration console, support for custom
schemas and attributes, support for organizations, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can find the full roadmap in GitHub issue &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45287&quot;&gt;#45287&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;_how_does_it_map_to_other_features&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_does_it_map_to_other_features&quot;&gt;&lt;/a&gt;How does it map to other features?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;scim-api&lt;/code&gt; feature turns a realm into an upstream or downstream (cross-domain) identity store. Thanks
to the &lt;code&gt;workflows&lt;/code&gt; feature, it will also be possible to enhance and automate administrative tasks when onboarding or
offboarding identities from different channels, using a different workflow if needed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In terms of authorization, being a SCIM-compliant version of the Admin API, it leverages the same mechanisms to enforce
access to realm resources such as users and groups. These mechanisms are based on the server/realm admin roles and
&lt;a href=&quot;https://www.keycloak.org/docs/latest/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;In terms of attribute management, mainly for users, the SCIM API leverages the user profile feature to centralize how
user attributes are managed. Unfortunately, we do not yet have a similar mechanism for groups.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_we_want_to_hear_from_you&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_we_want_to_hear_from_you&quot;&gt;&lt;/a&gt;We want to hear from you!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The next releases will also be based on the feedback we receive from the community, so we encourage you to try out the
SCIM Realm API and share your thoughts with us. While the feature remains experimental, we will be closely
monitoring the feedback and usage to understand how it is being used and what the most important
capabilities and fixes to deliver are.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Please, provide your feedback about the feature&amp;#8217;s roadmap on the following issue:&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/45287&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/45287&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;Or open issues with the &lt;code&gt;area/scim&lt;/code&gt; label if you encounter any problems or enhancements in the current set of capabilities.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is particularly important to help us prioritize the next capabilities to be added, and to ensure that we are
delivering the features that are most important to you.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks for your support and feedback (including contributions) during the last sprints!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/04/scim-as-experimental-feature</guid>
        <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
        
        <author>Keycloak Core IAM Team</author>
      </item>
      <item>
        <title>Keycloak 26.6.0 released</title>
        <link>https://www.keycloak.org/2026/04/keycloak-2660-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;paragraph&quot;&gt;
&lt;p&gt;This release features new capabilities for users and administrators of Keycloak. The highlights of this release are:&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;JWT Authorization Grant&lt;/strong&gt;, enabling external-to-internal token exchange using externally signed JWT assertions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Federated client authentication&lt;/strong&gt;, eliminating the need to manage individual client secrets in Keycloak.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Workflows&lt;/strong&gt;, enabling administrators to automate realm administrative tasks such as user and client lifecycle management.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Zero-downtime patch releases&lt;/strong&gt;, allowing rolling updates within a minor release stream without service downtime.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Keycloak Test Framework&lt;/strong&gt;, replacing the previous Arquillian-based solution.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All of these features are now fully supported and no longer in preview.
Read on to learn more about each new feature.
If you are upgrading from a previous release, &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html&quot;&gt;also review the changes listed in the upgrading guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_security_and_standards&quot;&gt;Security and Standards&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_jwt_authorization_grant_supported&quot;&gt;JWT Authorization Grant (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;JWT Authorization Grant (&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7523&quot;&gt;RFC 7523&lt;/a&gt;) is designed to implement external-to-internal token exchange use cases. This grant allows using externally signed JWT assertions to request OAuth 2.0 access tokens.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, JWT Authorization Grant is promoted from preview to supported. See the &lt;a href=&quot;https://www.keycloak.org/securing-apps/jwt-authorization-grant&quot;&gt;JWT Authorization Grant guide&lt;/a&gt; for additional details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_federated_client_authentication_supported&quot;&gt;Federated client authentication (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Federated client authentication allows clients to leverage existing credentials once a trust relationship with another issuer exists. It eliminates the need to assign and manage individual secrets for each client in Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Federated client authentication is now promoted to supported, including support for client assertions issued by external OpenID Connect identity providers and Kubernetes Service Accounts.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since the OAuth SPIFFE Client Authentication specification is still in draft status, this feature remains a preview feature in Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_guide_about_demonstrating_proof_of_possession_dpop&quot;&gt;New guide about Demonstrating Proof-of-Possession (DPoP)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new guide for OAuth 2.0 Demonstrating Proof-of-Possession (DPoP) in the Securing applications Guides provides information on how to mitigate the risk of stolen tokens by making tokens sender-constrained.&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/nightly/securing-apps/dpop&quot;&gt;Securing applications with DPoP&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;_identity_brokering_apis_v2_preview&quot;&gt;Identity Brokering APIs V2 (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new preview version 2 for the Identity Brokering APIs is introduced in this release. When brokering is used during the authentication process, Keycloak allows you to store tokens and responses issued by the external Identity Provider. Applications can call a specific endpoint to retrieve those tokens, which, in turn, can be used to get extra user information or invoke endpoints in the external trust domain. The new version improves the token retrieval endpoint to substitute the internal to external Token Exchange (use case for the &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_legacy-token-exchange&quot;&gt;legacy Token Exchange V1&lt;/a&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information, see the chapter &lt;a href=&quot;https://www.keycloak.org/docs/26.6.0/server_development/#_identity-brokering-apis&quot;&gt;Identity Brokering APIs&lt;/a&gt; in the Server Developer Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_step_up_authentication_for_saml_preview&quot;&gt;Step-up authentication for SAML (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The feature &lt;code&gt;step-up-authentication-saml&lt;/code&gt; extends the step-up authentication to include the SAML protocol and clients. This feature is in preview mode. Additional information is available in the &lt;a href=&quot;https://www.keycloak.org/docs/26.6.0/server_admin/#_step-up-authentication-saml&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_oauth_client_id_metadata_document_experimental&quot;&gt;OAuth Client ID Metadata Document (experimental)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-01.html&quot;&gt;OAuth Client ID Metadata Document (CIMD)&lt;/a&gt; is an emerging standard that defines a JSON document format for describing OAuth 2.0 client metadata. Since version 2025-11-25, the Model Context Protocol (MCP) requires an authorization server to comply with CIMD. Keycloak now includes experimental support for CIMD, allowing it to serve as an authorization server for MCP version 2025-11-25 or later.&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/securing-apps/mcp-authz-server&quot;&gt;Integrating with Model Context Protocol (MCP)&lt;/a&gt; for the updated guide including CIMD.&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&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_administration&quot;&gt;Administration&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_workflows_supported&quot;&gt;Workflows (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Workflows allow administrators to automate and orchestrate realm administrative tasks, bringing key capabilities of Identity Governance and Administration (IGA) to Keycloak. By defining workflows in YAML format, you can automate the lifecycle of realm resources such as users and clients based on events, conditions, and schedules.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, Workflows is promoted from preview to supported. This release also includes new built-in steps, a troubleshooting guide, and various improvements to the workflow engine.&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/26.6.0/server_admin/#_managing_workflows&quot;&gt;Managing workflows&lt;/a&gt; chapter in the Server Administration Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_organization_groups&quot;&gt;Organization groups&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organizations now support isolated group hierarchies, allowing each organization to manage its own teams and departments without naming conflicts across the realm. This update includes Identity Provider mappers to automatically assign federated users to organization groups based on external claims. Group membership is automatically included in OIDC tokens and SAML assertions when an organization context is requested.&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/26.6.0/server_admin/#_managing_groups_&quot;&gt;Managing organization groups&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_groups_scope_for_user_membership_changes&quot;&gt;New Groups scope for user membership changes&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Fine-Grained Admin Permissions (FGAP) now includes a new &lt;code&gt;Groups&lt;/code&gt; scope: &lt;code&gt;manage-membership-of-members&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This scope is now used as the group-side bridge for evaluating user-side &lt;code&gt;manage-group-membership&lt;/code&gt; permissions based on a user&amp;#8217;s current group memberships.
The existing &lt;code&gt;manage-membership&lt;/code&gt; scope keeps its current behavior for target group membership management operations.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_looking_up_client_secrets_via_the_vault_spi&quot;&gt;Looking up client secrets via the Vault SPI&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Secrets for clients can now be managed and looked up by the Vault SPI.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to &lt;a href=&quot;https://github.com/tsaarni&quot;&gt;Tero Saarni&lt;/a&gt; for contributing this change.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_forcing_password_change_for_ldap_users&quot;&gt;Forcing password change for LDAP users&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is now initial support for LDAP password policy control.
The support is limited to prompting users to update their password when the LDAP server indicates that the password must be changed.
Previously, Keycloak let the user in and ignored the mandatory password reset.
There is a new optional setting &amp;#8220;Enable LDAP password policy&amp;#8221; in the LDAP advanced settings to enable this.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to &lt;a href=&quot;https://github.com/tsaarni&quot;&gt;Tero Saarni&lt;/a&gt; for contributing this change.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuring_and_running&quot;&gt;Configuring and Running&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_java_25_support&quot;&gt;Java 25 support&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports running with OpenJDK 25.
The server container image continues to use OpenJDK 21 for now to support FIPS mode. For details, see the
note in the FIPS guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_zero_downtime_patch_releases_supported&quot;&gt;Zero-downtime patch releases (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Zero-downtime patch releases allow you to perform rolling updates when upgrading to a newer patch version within the same &lt;code&gt;major.minor&lt;/code&gt; release stream without service downtime.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, zero-downtime patch releases are promoted to supported and enabled by default.
When using the Keycloak Operator, set the update strategy to &lt;code&gt;Auto&lt;/code&gt; to benefit from this functionality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on the Operator configuration, see the &lt;a href=&quot;https://www.keycloak.org/operator/rolling-updates&quot;&gt;Avoiding downtime with rolling updates&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_installation_instructions_for_cloudnativepg&quot;&gt;Installation instructions for CloudNativePG&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For those running Keycloak on Kubernetes, there is now a guide on how to deploy a PostgreSQL database on Kubernetes by leveraging the CloudNativePG Operator and how to connect Keycloak to the database.&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/nightly/high-availability/single-cluster/deploy-cnpg&quot;&gt;Deploying CloudNativePG in multiple availability zones&lt;/a&gt; in the High Availability Guide for details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_simplified_database_operations&quot;&gt;Simplified database operations&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Several new command line options simplify the database operations for Keycloak and remove the need to use raw JDBC connection options:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Configure TLS for the database connection.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database connection timeouts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Transaction timeouts with production-ready defaults.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It also verifies the correct UTF-8 character encoding of the database at startup and prints a warning if this is not the case.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When running on orchestrators like Kubernetes, the startup and liveness probes return UP during database migrations, simplifying upgrades by removing the need to adjust the probes during upgrades.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See the migration guide for additional details on each aspect.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_graceful_shutdown_of_http_stack&quot;&gt;Graceful shutdown of HTTP stack&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To allow rolling updates for configuration changes or version updates, a graceful shutdown of Keycloak nodes prevents users from seeing error responses when logging in or refreshing their tokens when nodes shut down.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with this version, Keycloak supports a graceful shutdown of the HTTP stack.
This includes delaying a shutdown after receiving a termination signal, connection draining for HTTP/1.1 and HTTP/2 connections during that period, and a shutdown timeout to finish ongoing requests.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The defaults are a shutdown delay and a shutdown timeout of one second each.
This should be a good fit for setups where the reverse proxy is using TLS edge termination or re-encryption and the reverse proxy is notified about the Keycloak node shutting down at the same time as the Keycloak node.
This is a common setup, for example, in Kubernetes environments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Users should adjust those values depending on their proxy setup.
See the section &lt;a href=&quot;https://www.keycloak.org/server/reverseproxy#graceful-http-shutdown&quot;&gt;Graceful HTTP shutdown&lt;/a&gt; in the reverse proxy guide for more information.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_kcraw_prefix_for_environment_variables_to_preserve_literal_values&quot;&gt;New &lt;code&gt;KCRAW_&lt;/code&gt; prefix for environment variables to preserve literal values&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports a &lt;code&gt;KCRAW_&lt;/code&gt; prefix for environment variables to preserve values containing &lt;code&gt;$&lt;/code&gt; characters exactly as written, without expression evaluation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When using the standard &lt;code&gt;KC_&lt;/code&gt; prefix, Keycloak (via SmallRye Config) evaluates expressions in values (for example, &lt;code&gt;${some_key}&lt;/code&gt; is resolved and &lt;code&gt;$$&lt;/code&gt; is collapsed to &lt;code&gt;$&lt;/code&gt;).
This can silently modify passwords or secrets injected by a secrets manager or orchestration tool where manual escaping is not feasible.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Setting &lt;code&gt;KCRAW_&amp;lt;KEY&amp;gt;&lt;/code&gt; instead of &lt;code&gt;KC_&amp;lt;KEY&amp;gt;&lt;/code&gt; preserves the value exactly as provided.&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/configuration#kcraw-prefix&quot;&gt;Preserving literal values with the KCRAW_ prefix&lt;/a&gt; section in the Server Configuration guide for details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_automatic_reload_of_lists_with_disallowed_passwords&quot;&gt;Automatic reload of lists with disallowed passwords&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When a list of disallowed passwords (also known as blacklist) changes, it is automatically reloaded. This avoids the need for a server restart when the list changes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to &lt;a href=&quot;https://github.com/tsaarni&quot;&gt;Tero Saarni&lt;/a&gt; for contributing this change.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_automatic_truststore_initialization_on_kubernetes_and_openshift&quot;&gt;Automatic truststore initialization on Kubernetes and OpenShift&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now automatically discovers and trusts cluster certificate authorities when running on Kubernetes or OpenShift, without requiring the Operator to preconfigure the truststore.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If present in the container filesystem, the following certificates are added to the system truststore at startup:&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;/var/run/secrets/kubernetes.io/serviceaccount/ca.crt&lt;/code&gt; (Kubernetes service account CA)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt&lt;/code&gt; (OpenShift service CA)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This behavior is enabled by default and can be controlled with the server option &lt;code&gt;--truststore-kubernetes-enabled=true|false&lt;/code&gt; (default: &lt;code&gt;true&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Most deployments do not require any action. If you relied on the Operator to manage these truststore entries previously, the server now performs the same function directly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_client_certificate_lookup_providers_for_traefik_and_envoy&quot;&gt;Client certificate lookup providers for Traefik and Envoy&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now use new client certificate lookup providers for Traefik and Envoy proxies.
For details, see the &lt;a href=&quot;https://www.keycloak.org/server/reverseproxy#_enabling_client_certificate_lookup&quot;&gt;Enabling Client Certificate Lookup&lt;/a&gt; section of the documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_configurable_kubernetes_service_name_and_port_in_the_keycloak_operator&quot;&gt;Configurable Kubernetes Service name and port in the Keycloak Operator&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Operator now supports overriding the name and port of the Kubernetes Service it creates for a Keycloak deployment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previously, the Service name was always derived as &lt;code&gt;&amp;lt;cr-name&amp;gt;-service&lt;/code&gt; and the Service port always matched the container port.
You can now use the &lt;code&gt;spec.http.serviceName&lt;/code&gt;, &lt;code&gt;spec.http.serviceHttpsPort&lt;/code&gt;, and &lt;code&gt;spec.http.serviceHttpPort&lt;/code&gt; fields to
configure these independently.&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;Advanced configuration&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_sensitive_information_is_not_displayed_in_the_http_access_log&quot;&gt;Sensitive information is not displayed in the HTTP Access log&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are using the HTTP Access logging capability, sensitive information is omitted.
This means that tokens in the &#39;Authorization&#39; HTTP header and specific sensitive cookies are not shown.&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/server/logging#http-access-logging&quot;&gt;Configuring HTTP access logging&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_configurable_log_file_rotation&quot;&gt;Configurable log file rotation&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to configure log file rotation when using Keycloak&amp;#8217;s built-in file logging handler.
This includes a simple option to fully disable log rotation, which is useful when using an external log rotation solution such as &lt;code&gt;logrotate&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To disable log file rotation:&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/kc.sh start --log=&quot;console,file&quot; --log-file-rotation-enabled=false&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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/file&quot;&gt;File logging&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_http_access_logs_in_a_dedicated_file&quot;&gt;HTTP access logs in a dedicated file&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;HTTP access logs can now be written to a dedicated file, separate from the server logs.
This makes it easier to process and archive access logs independently for security auditing and compliance monitoring.&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/server/logging#http-access-logging&quot;&gt;Configuring HTTP access logging&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_customizable_service_fields_in_json_log_output&quot;&gt;Customizable service fields in JSON log output&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now provides native options to customize the &lt;code&gt;service.name&lt;/code&gt; and &lt;code&gt;service.environment&lt;/code&gt; fields in JSON log output across all log handlers (console, file, and syslog).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previously, when using the ECS format, &lt;code&gt;service.name&lt;/code&gt; and &lt;code&gt;service.environment&lt;/code&gt; could not be overridden through Keycloak configuration.
This made it difficult to align JSON log fields with OpenTelemetry resource attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now set these fields using &lt;code&gt;log-service-name&lt;/code&gt; and &lt;code&gt;log-service-environment&lt;/code&gt;.&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#customize-service-fields&quot;&gt;Configuring logging&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_and_updated_translations&quot;&gt;New and updated translations&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;New translations for Indonesian and Armenian were added. A warm welcome to the new language maintainers for these languages!
There are also new language maintainers for the Swedish translation, who translated all remaining message keys. Thank you so much!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Follow the translation progress on the &lt;a href=&quot;https://www.keycloak.org/translations&quot;&gt;translation status page&lt;/a&gt;, help translate, and read the translation guide on how to add additional languages.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_right_to_left_language_support_in_the_account_ui&quot;&gt;Right-to-left language support in the Account UI&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Support for right-to-left (RTL) languages was added to the Login UI, Admin UI, and email templates several releases ago. This release adds initial RTL support to the Account UI, which completes this effort.&lt;/p&gt;
&lt;/div&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;sect3&quot;&gt;
&lt;h4 id=&quot;_telemetry_configuration_via_the_keycloak_cr&quot;&gt;Telemetry configuration via the Keycloak CR&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports configuring the OpenTelemetry properties via the Keycloak CR when using the Operator.
These properties are shared among the available OpenTelemetry components - logs, metrics, and traces.&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/observability/telemetry&quot;&gt;Centralize your observability stack with OpenTelemetry&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_custom_request_headers_for_opentelemetry&quot;&gt;Custom request headers for OpenTelemetry&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to set request headers for exporting telemetry via OpenTelemetry Protocol (OTLP).
This is mainly useful for providing tokens in the request.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can specify these headers via the &lt;code&gt;telemetry-header-&amp;lt;header&amp;gt;&lt;/code&gt; wildcard option, which accepts any custom header name.
Alternatively, use &lt;code&gt;telemetry-logs-header-&amp;lt;header&amp;gt;&lt;/code&gt; for OpenTelemetry Logs or &lt;code&gt;telemetry-metrics-header-&amp;lt;header&amp;gt;&lt;/code&gt; for OpenTelemetry Metrics.&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/observability/telemetry&quot;&gt;Centralize your observability stack with OpenTelemetry&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_service_monitor_annotations_and_labels_via_the_keycloak_cr&quot;&gt;Service Monitor annotations and labels via the Keycloak CR&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to configure service monitor labels and annotations via the Keycloak CR when using the Operator.&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#_servicemonitor&quot;&gt;Advanced Configuration Operator&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_extension_development&quot;&gt;Extension Development&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_keycloak_test_framework_supported&quot;&gt;Keycloak Test Framework (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak Test Framework, based on JUnit 6, is now fully supported.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It replaces the previous solution built on top of Arquillian and JUnit 4.
Behind the scenes, the framework handles the lifecycle of Keycloak, the database, and any injected resources such as realms and clients.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Tests simply declare what they want, including specific configuration, and the framework takes care of the rest.&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://github.com/keycloak/keycloak/tree/main/test-framework#readme&quot;&gt;Keycloak Test Framework&lt;/a&gt;.&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;Deprecated features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45156&quot;&gt;#45156&lt;/a&gt; Deprecate Token Exchange v1 &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/10155&quot;&gt;#10155&lt;/a&gt; Step-up authentication for SAML clients &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/13102&quot;&gt;#13102&lt;/a&gt; Add support for specifying `client.secret` using vault &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/39888&quot;&gt;#39888&lt;/a&gt; Workflows &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42634&quot;&gt;#42634&lt;/a&gt; Federated client authentication &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43144&quot;&gt;#43144&lt;/a&gt; OAuth Identity and Authorization Chaining Across Domains &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43146&quot;&gt;#43146&lt;/a&gt; New test framework &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43152&quot;&gt;#43152&lt;/a&gt; Authorization Grants &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43252&quot;&gt;#43252&lt;/a&gt; Zero-downtime upgrades between patch releases of Keycloak &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43257&quot;&gt;#43257&lt;/a&gt; Support a Kubernetes Native Database &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43507&quot;&gt;#43507&lt;/a&gt; Add support for Organization-specific Groups &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43576&quot;&gt;#43576&lt;/a&gt; Authorization grant for social providers &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange/federated&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44833&quot;&gt;#44833&lt;/a&gt; [OID4VCI] Make natural_person configuration available in all formats &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/45106&quot;&gt;#45106&lt;/a&gt; OAuth Client ID Metadata Document &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45284&quot;&gt;#45284&lt;/a&gt; CIMD - Persistent CIMD &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/46633&quot;&gt;#46633&lt;/a&gt; keycloak operator: add support for different port and name for the kubernetes service definition in the keycloak CRD &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47011&quot;&gt;#47011&lt;/a&gt; Add debug helper utility to the test framework &lt;span class=&quot;badge bg-secondary&quot;&gt;test-framework&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/10618&quot;&gt;#10618&lt;/a&gt; Enhancements to logging 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/14523&quot;&gt;#14523&lt;/a&gt; Add support for enforced password change with LDAP federation &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/17904&quot;&gt;#17904&lt;/a&gt; Support RTL 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/19374&quot;&gt;#19374&lt;/a&gt; Allow absolute path for cache-config-file? &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/19453&quot;&gt;#19453&lt;/a&gt; The default database transaction timeout should not be applied to Liquibase or data migrations &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/20618&quot;&gt;#20618&lt;/a&gt; Support enabling access logs &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/27986&quot;&gt;#27986&lt;/a&gt; Remove Liquibase dependency version from Keycloak root pom &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33160&quot;&gt;#33160&lt;/a&gt; Add support for X509 client certificate lookup for Envoy &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33198&quot;&gt;#33198&lt;/a&gt; Introduce `resourcesCommonUrl` for E-Mail templates &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/33818&quot;&gt;#33818&lt;/a&gt; Request for Enhancement: Make x509cert-lookup SPI public &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34435&quot;&gt;#34435&lt;/a&gt; OTEL: Add tracing ID to user facing error message &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/35298&quot;&gt;#35298&lt;/a&gt; Reverse proxy provided context path not working despite setting X-Forwarded-Prefix header &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/36226&quot;&gt;#36226&lt;/a&gt; Provide a read only view of Identity Provider Mappers configuration screen to the Keycloak Admin UI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36710&quot;&gt;#36710&lt;/a&gt; Have a first-class CLI option to change Keycloak&#39;s transaction timeout &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/38884&quot;&gt;#38884&lt;/a&gt; Upgrade command rolling updates for patch releases / step 3: Infinispan/JGroups support &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38888&quot;&gt;#38888&lt;/a&gt; Avoid breaking DB changes during patch releases &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40902&quot;&gt;#40902&lt;/a&gt; More fully document operator upgrade scenarios, in particular with custom images &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/41330&quot;&gt;#41330&lt;/a&gt; Improve logging of JpaUserSessionPersisterProvider#expire &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41353&quot;&gt;#41353&lt;/a&gt; Provide HTTP access logs written to file with rotation &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/41629&quot;&gt;#41629&lt;/a&gt; Remove Tracing workaround in Infinispan/JGroups classes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42256&quot;&gt;#42256&lt;/a&gt; DB Connection Pool acquisition timeout errors on database failover  &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/42626&quot;&gt;#42626&lt;/a&gt; Provide a way to add custom labels to generated ServiceMonitor &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42747&quot;&gt;#42747&lt;/a&gt; Make DPoP docs more detailed &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/42876&quot;&gt;#42876&lt;/a&gt; dev mode should bind only to localhost if possible &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42900&quot;&gt;#42900&lt;/a&gt; Move the logic of scanning Kubernetes CA to 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/43589&quot;&gt;#43589&lt;/a&gt; Gracefully shutting down HTTP stack &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43701&quot;&gt;#43701&lt;/a&gt; Improve SimpleHttp API &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/43829&quot;&gt;#43829&lt;/a&gt; Add createdTimestamp filter (before/after) to /admin/realms/{realm}/users &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44090&quot;&gt;#44090&lt;/a&gt; ErrorId for error screens and logging &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44101&quot;&gt;#44101&lt;/a&gt; Allow re-using server when running tests with the new framework &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44364&quot;&gt;#44364&lt;/a&gt; Improve client creation with PKCE in admin console &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/44424&quot;&gt;#44424&lt;/a&gt; findClientSessionsClientIds performance 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/44459&quot;&gt;#44459&lt;/a&gt; Adding the log to the required action to show the cause of syntax violation of the LDAP policy &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/44846&quot;&gt;#44846&lt;/a&gt; [OID4VCI]: Ensure OID4VCI optional fields are saved cleanly and use defaults &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/44849&quot;&gt;#44849&lt;/a&gt; [OID4VCI] Add UI support for `vc.credential_signing_alg` in OID4VCI client scopes &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/44973&quot;&gt;#44973&lt;/a&gt; Hide Remember Me session settings when Remember Me is disabled in realm login settings &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45006&quot;&gt;#45006&lt;/a&gt; [OID4VCI] Add support for user did as subject id &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/45188&quot;&gt;#45188&lt;/a&gt; Upgrade to quarkus 3.30.5 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45220&quot;&gt;#45220&lt;/a&gt; OTEL: Ability to specify headers for exporters &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45231&quot;&gt;#45231&lt;/a&gt; [OID4VCI] Generate pre-authorized codes using the JWT 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/45254&quot;&gt;#45254&lt;/a&gt; Admin UI javascript bundle should have source mapping &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45278&quot;&gt;#45278&lt;/a&gt; Upgrade to Quarkus 3.33.x LTS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45281&quot;&gt;#45281&lt;/a&gt; Add missing Swedish translations for admin theme messages &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/45322&quot;&gt;#45322&lt;/a&gt; Linking user with idp fails with generic message if user is already linked &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/45337&quot;&gt;#45337&lt;/a&gt; Upgrade to Quarkus 3.31 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45348&quot;&gt;#45348&lt;/a&gt; OTEL: Add Telemetry options to Keycloak CR &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45360&quot;&gt;#45360&lt;/a&gt; Document that the the HA architectures are tested with Openshift 4.18 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45467&quot;&gt;#45467&lt;/a&gt; Management interface endpoint lists available 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/45620&quot;&gt;#45620&lt;/a&gt; Change default not-before validation to 10 second instead of 0 &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/45623&quot;&gt;#45623&lt;/a&gt; Avoid unnecessary warning logs during the operator tests execution &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/45629&quot;&gt;#45629&lt;/a&gt; HTTP access log written to file should be in a separate 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/45689&quot;&gt;#45689&lt;/a&gt; When a user joins a role or group, it should not read all existing roles and groups from the database &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45704&quot;&gt;#45704&lt;/a&gt; Invite existing users from Admin UI &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/45718&quot;&gt;#45718&lt;/a&gt; Improve error message when organization name cannot be used as alias &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45795&quot;&gt;#45795&lt;/a&gt; Promote Keycloak and KeycloakRealmImport CRDs to v2beta1 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45841&quot;&gt;#45841&lt;/a&gt; Add revert button to client credentials page &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45880&quot;&gt;#45880&lt;/a&gt; SAMLEndpoint - increase extensibility by increasing accessibility of some private fields/methods &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45882&quot;&gt;#45882&lt;/a&gt; Use GroupResource context in Groups so that Group components can be reused &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45884&quot;&gt;#45884&lt;/a&gt; Testframework core has dependency on testcontainers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45898&quot;&gt;#45898&lt;/a&gt; Supported Configurations guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45909&quot;&gt;#45909&lt;/a&gt; Add theme clarification blurb to Realm Settings &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45941&quot;&gt;#45941&lt;/a&gt; Do not use deprecated test containers in 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/45944&quot;&gt;#45944&lt;/a&gt; OTEL: Use suggested &#39;code.function.name&#39; for span attributes &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45965&quot;&gt;#45965&lt;/a&gt; [OID4VCI] Revisit and fix OAuthClient.credentialRequest() &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/45992&quot;&gt;#45992&lt;/a&gt; Clarify operator instructions involving Wildcard certificates and OpenShift &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45996&quot;&gt;#45996&lt;/a&gt; Enforce `LF` line endings on `*.tsx` files with `.gitattributes` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45999&quot;&gt;#45999&lt;/a&gt; [OID4VCI] Revisit and fix OAuthClient.credentialOfferUriRequest() &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/46001&quot;&gt;#46001&lt;/a&gt; [OID4VCI] Revisit and fix OAuthClient.credentialOfferRequest() &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/46043&quot;&gt;#46043&lt;/a&gt; Upgrade to Quarkus 3.31.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/46055&quot;&gt;#46055&lt;/a&gt; [OID4VCI] Confine test realm setup to TestCase.configureTestRealm() &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46156&quot;&gt;#46156&lt;/a&gt; Add node count and next-node selection to LoadBalancer API &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46164&quot;&gt;#46164&lt;/a&gt; Separate password and OTP brute force protection to prevent OTP bypass attacks by default &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46255&quot;&gt;#46255&lt;/a&gt; Upgrade to Quarkus 3.32.0.CR1 &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/46292&quot;&gt;#46292&lt;/a&gt; Allow to expose WellKnown provider via ServerMetadataResource &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46304&quot;&gt;#46304&lt;/a&gt; SPIFFE Identity Provider default TTL too low &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46355&quot;&gt;#46355&lt;/a&gt; [OID4VCI] Add support for CredentialScopeRepresentation &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/46395&quot;&gt;#46395&lt;/a&gt; X509 Certificates passed from Traefik PassTlsClientCert middleware broken since 26.5.0 &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/46421&quot;&gt;#46421&lt;/a&gt; Revisit Infinispan session idle and lifetime settings &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46429&quot;&gt;#46429&lt;/a&gt; Add username to BrokeredIdentityContext created from JWTBearer Grant &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange/federated&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46471&quot;&gt;#46471&lt;/a&gt; Aggregate client-id field for improved Infinispan query &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46494&quot;&gt;#46494&lt;/a&gt; Allow customizing federated identity lookup in JWTAuthorizationGrantType &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46531&quot;&gt;#46531&lt;/a&gt; Consider exposing UUID for admin api v2 resources &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46556&quot;&gt;#46556&lt;/a&gt; For MSSQL Server, set `sendStringParametersAsUnicode` to `false` by default &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/46557&quot;&gt;#46557&lt;/a&gt; Keycloak should check the Unicode setup of the database on startup &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46603&quot;&gt;#46603&lt;/a&gt; Add Database CLI options for TLS encryption for databases &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46617&quot;&gt;#46617&lt;/a&gt; MCP Documentation for 26.6 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46626&quot;&gt;#46626&lt;/a&gt; Allow to configure Client Assertion max expiration for Kubernetes Identity Provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46627&quot;&gt;#46627&lt;/a&gt; Allow to configure Client Assertion max expiration for OIDC Identity Provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46657&quot;&gt;#46657&lt;/a&gt; Passwords containing `$$` or `${` patterns are mangled when set via environment variables (SmallRye expression evaluation) &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/46671&quot;&gt;#46671&lt;/a&gt; Allow custom timeouts in DBLockProvider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46689&quot;&gt;#46689&lt;/a&gt; Remove user input reflection in Token Introspection error responses &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/46693&quot;&gt;#46693&lt;/a&gt; Group-level deny policies do not block `manage-group-membership` on group members &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/46699&quot;&gt;#46699&lt;/a&gt; CIMD - Performance: Avoid repeated convertContentFilledList() in verifyUri() &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46701&quot;&gt;#46701&lt;/a&gt; CIMD - Performance: Single-pass HTTP Cache-Control header lookup &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46703&quot;&gt;#46703&lt;/a&gt; CIMD - Performance: Eliminate double URI parsing in ClientIdUriSchemeCondition.applyPolicy() &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46708&quot;&gt;#46708&lt;/a&gt; CIMD - Performance: Avoid streaming the directive list multipul times &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46711&quot;&gt;#46711&lt;/a&gt; Upgrade to Quarkus 3.32.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/46728&quot;&gt;#46728&lt;/a&gt; Use quarkus properties ahead of keycloak defaults or map from values &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46757&quot;&gt;#46757&lt;/a&gt; Upgrade to jackson-core 2.21.1 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46765&quot;&gt;#46765&lt;/a&gt; Adding missing question mark &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46781&quot;&gt;#46781&lt;/a&gt; IdP alias is not clickable in organization&#39;s Identity Providers 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/46796&quot;&gt;#46796&lt;/a&gt; Document that export is not a backup &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46809&quot;&gt;#46809&lt;/a&gt; Set a default connection timeout for all databases types &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46872&quot;&gt;#46872&lt;/a&gt; Be more explicit on how to enable OTel Logs and Metrics in Operator &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46874&quot;&gt;#46874&lt;/a&gt; Be more explicit in using the OTel Logs level &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46890&quot;&gt;#46890&lt;/a&gt; Upgrade to Quarkus 3.32.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/46936&quot;&gt;#46936&lt;/a&gt; Reduce tightly coupling between client policy contexts and conditions/executors &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/46964&quot;&gt;#46964&lt;/a&gt; Adding more Hungarian translations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46972&quot;&gt;#46972&lt;/a&gt; Clarify credentials field availability in GET /admin/realms/{realm}/users documentation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47038&quot;&gt;#47038&lt;/a&gt; Translation support for UI theme descriptions &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/47081&quot;&gt;#47081&lt;/a&gt; Upgrade to Quarkus 3.32.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/47130&quot;&gt;#47130&lt;/a&gt; Upgrade to Quarkus 3.33.0.CR1 &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/47140&quot;&gt;#47140&lt;/a&gt; Add CLI option for database connection timeout and provide it into quarkus.datasource.jdbc.login-timeout &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47146&quot;&gt;#47146&lt;/a&gt; Keycloak: no native option to customize JSON log service.name and service.environment fields &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47163&quot;&gt;#47163&lt;/a&gt; Enhancement: Password denylist file changes should not require server restart &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47187&quot;&gt;#47187&lt;/a&gt; Asynchronous server initialization &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47229&quot;&gt;#47229&lt;/a&gt; Identity Provider redirection via kc_idp_hint in Pushed Authorization 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/47416&quot;&gt;#47416&lt;/a&gt; Async startup doesn&#39;t be enabled when the health check is not enabled &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47535&quot;&gt;#47535&lt;/a&gt; Polishing CNPG installation docs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47667&quot;&gt;#47667&lt;/a&gt; Update release-notes for CIMD &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/22569&quot;&gt;#22569&lt;/a&gt; Provide descriptions for default realm-management 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/26946&quot;&gt;#26946&lt;/a&gt; Multiple protocolMappers with the same 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/28970&quot;&gt;#28970&lt;/a&gt; Documention about the default db-schema is ambiguous &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/36593&quot;&gt;#36593&lt;/a&gt; Built-in authentication flows are not updated for KC 26 &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/37231&quot;&gt;#37231&lt;/a&gt; Set New Password Multiple Times via Password Reset Function &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/38991&quot;&gt;#38991&lt;/a&gt; [Test framework] Embedded server -&gt; dependency download error when no version is specified &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/39127&quot;&gt;#39127&lt;/a&gt; Incorrect return code with JWT algorithm set to none &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/40510&quot;&gt;#40510&lt;/a&gt; Organization flow do not redirect when credentials exist &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/40753&quot;&gt;#40753&lt;/a&gt; Resource leak: FileInputStream in Util.readProperties(File) is never closed .SAST &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/40921&quot;&gt;#40921&lt;/a&gt; Reject invalid resource IDs in permission creation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41165&quot;&gt;#41165&lt;/a&gt; Feishu login has been continuously failing as an 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/41630&quot;&gt;#41630&lt;/a&gt; Warning log message SRCFG01008: The value default has been converted by a Boolean Converter to &quot;false&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/41924&quot;&gt;#41924&lt;/a&gt; Internal server error after changing Admin UI theme to &quot;base&quot; - An old, persisted problem &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42222&quot;&gt;#42222&lt;/a&gt; Federation Cache Policy details not shown when editing provider in Keycloak 26.3+ &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42836&quot;&gt;#42836&lt;/a&gt; Organization selection changes after token refresh &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/42839&quot;&gt;#42839&lt;/a&gt; UserInfo endpoint returns incorrect organization claim &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/43198&quot;&gt;#43198&lt;/a&gt; Operator status patching of keycloak failed &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/43201&quot;&gt;#43201&lt;/a&gt; entity mappings not working on 26.4 &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/43356&quot;&gt;#43356&lt;/a&gt; Keycloak tests framework - issue to identify distribution directory inside ZIP file when version string uses suffix &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/43613&quot;&gt;#43613&lt;/a&gt; case insensitive match on organization identity provider domain - In case &#39;ANY&#39; option is chosen &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/43726&quot;&gt;#43726&lt;/a&gt; Slow evaluation of client roles with dots for role mapper and others &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/43757&quot;&gt;#43757&lt;/a&gt; Code Examples in Authentication SPI Documentation Don&#39;t Match Quickstarts Repository &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/43854&quot;&gt;#43854&lt;/a&gt; OID4VCI credentials have invalid subject id value &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/43949&quot;&gt;#43949&lt;/a&gt; MultivaluedString in mappers is not saved to backend with shown default 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/43991&quot;&gt;#43991&lt;/a&gt; Keycloak operator - Reconciliation failure &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/44099&quot;&gt;#44099&lt;/a&gt; Out of memory after 3-4 restarts of embedded 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/44100&quot;&gt;#44100&lt;/a&gt; Issue with starting server results in connection refused exception in test &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/44132&quot;&gt;#44132&lt;/a&gt; Bug -&gt; Keycloak preview feature &quot;scripts&quot; is enabled by default &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/44283&quot;&gt;#44283&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test06_addingUserToNewKeycloakGroup &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/44403&quot;&gt;#44403&lt;/a&gt; DCR endpoint ignores client&#39;s requested token_endpoint_auth_method &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/44425&quot;&gt;#44425&lt;/a&gt; [Keycloak JS CI] Admin UI E2E Firefox 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/44498&quot;&gt;#44498&lt;/a&gt; [quick-theme] Logo and Favicon problem &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/44574&quot;&gt;#44574&lt;/a&gt; Unable to find contextual data of type: org.keycloak.models.KeycloakSession &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/44598&quot;&gt;#44598&lt;/a&gt; SAML user created with null username when mapped attribute missing &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/44622&quot;&gt;#44622&lt;/a&gt; OID4VCI functionality should be disabled for the realm when &quot;Verified Credentials&quot; switch 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/44637&quot;&gt;#44637&lt;/a&gt; Fail to import the realm with OID4VCI 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/44670&quot;&gt;#44670&lt;/a&gt; CredentialEndpoint can be invoked with incorrect 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/44678&quot;&gt;#44678&lt;/a&gt; Inconsistent search when using wildcards &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/44699&quot;&gt;#44699&lt;/a&gt; Not able to find key for credential signature if client scope was saved from 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/44737&quot;&gt;#44737&lt;/a&gt; CredentialRequest requires that client scope is assigned as &#39;Optional&#39; &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/44784&quot;&gt;#44784&lt;/a&gt; link to reset-credentials ignores default locale AND ui_locales &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/44803&quot;&gt;#44803&lt;/a&gt; Unhandled IllegalArgumentException in SAMLRequestParser &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/44807&quot;&gt;#44807&lt;/a&gt; [OID4VCI] Default values are not set for ClientScope &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/44819&quot;&gt;#44819&lt;/a&gt; Missing validation error label on UI when editing a user &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/44824&quot;&gt;#44824&lt;/a&gt; Keycloak retains mapped firstName value and does not nullify it when upstream identity provider stops sending the claim &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/44875&quot;&gt;#44875&lt;/a&gt; [OID4VCI] CredentialSignerException: Proof Type null is not supported for format ldp_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/44905&quot;&gt;#44905&lt;/a&gt; Email is not updated based on upstream IdP email &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/44961&quot;&gt;#44961&lt;/a&gt; Authorization_details added to token-response even when should not be &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/45005&quot;&gt;#45005&lt;/a&gt; [OID4VCI] Revisit and fix /credential_offer_uri 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/45058&quot;&gt;#45058&lt;/a&gt; Base theme: &quot;user properties&quot; and &quot;register&quot; required mark is missing the required class &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/45069&quot;&gt;#45069&lt;/a&gt; Base theme: `login-config-totp`, `label`s have hardcoded `control-label` instead of `${properties.kcLabelClass!}` &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/45160&quot;&gt;#45160&lt;/a&gt; NullPointer when using JwsHeader.builder().withx5c(certificate) &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/45162&quot;&gt;#45162&lt;/a&gt; Missing icons in v2 keycloak 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/45163&quot;&gt;#45163&lt;/a&gt; Guide refers to no longer existing Docker Registry &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/45164&quot;&gt;#45164&lt;/a&gt; Base theme: `login-config-totp`, buttons are not wrapped in a `kcFormGroupClass` &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/45209&quot;&gt;#45209&lt;/a&gt; [OID4VCI] Issuer metadata contains unwanted &#39;id&#39; for credential_configurations_supported &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/45219&quot;&gt;#45219&lt;/a&gt; User REST Admin API - count and search returns different amount of users &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/45227&quot;&gt;#45227&lt;/a&gt; Accessibility: Improve authenticator selector for screen readers and keyboard navigation &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/45252&quot;&gt;#45252&lt;/a&gt; `.env.test` overrides values from environment &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/45272&quot;&gt;#45272&lt;/a&gt; EventOptionsTest failing due to missing verifiable_credential options &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/45324&quot;&gt;#45324&lt;/a&gt; Affirmative Aggregated Policies do not evaluate correctly for 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/45385&quot;&gt;#45385&lt;/a&gt; [OID4VCI] No key for id ... and algorithm ... available &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/45406&quot;&gt;#45406&lt;/a&gt; SearchDropdown clear button doesn&#39;t reset form fields, URI search broken &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/45422&quot;&gt;#45422&lt;/a&gt; Organizations login leaks IdP aliases when no Organization is resolved (IdP/tenant enumeration) &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/45425&quot;&gt;#45425&lt;/a&gt; OpenApiDistTest fails in CI &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/45428&quot;&gt;#45428&lt;/a&gt; Admin UI: Wrong redirect for permissions    accessed via resource details &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/45446&quot;&gt;#45446&lt;/a&gt; [OID4VCI] Default value for vc.credential_build_config.hash_algorithm causes _sd_alg to be invalid due to case sensitivity &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/45485&quot;&gt;#45485&lt;/a&gt; [OID4VCI] Inconsistencies in well-known OID4VC metadata (Same metadata for all formats) &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/45488&quot;&gt;#45488&lt;/a&gt; Filename not being displayed during imports &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45501&quot;&gt;#45501&lt;/a&gt; ConcurrentModificationException in KeycloakProcessor#configureProfile &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/45519&quot;&gt;#45519&lt;/a&gt; User profile Attribute multiselect inputType not working since 26.4.0 &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/45522&quot;&gt;#45522&lt;/a&gt; LoggingDistTest.httpAccessLogNotNamedPattern is not stable &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/45539&quot;&gt;#45539&lt;/a&gt; Avoid using some blacklist/whitelist wording in UI and docs &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45561&quot;&gt;#45561&lt;/a&gt; NPE in Authorization Evaluation when parentPolicy is null during concurrent authz deletes &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/45564&quot;&gt;#45564&lt;/a&gt; Wrong nesting of semaphore release handling in Argon2 hashing &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/45586&quot;&gt;#45586&lt;/a&gt; Missing help text in Admin UI for adding client policy conditions &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45587&quot;&gt;#45587&lt;/a&gt; SecureClientUrisExecutor doesn&#39;t allow for &quot;+&quot; weborigin &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/45606&quot;&gt;#45606&lt;/a&gt; Document back channel request limitations &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/45669&quot;&gt;#45669&lt;/a&gt; Unable to resolve current project as a dependency to test framework server config &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/45694&quot;&gt;#45694&lt;/a&gt; Unvalidated URL Construction in ResourceAdminManager via Matrix Parameter Injection &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/45724&quot;&gt;#45724&lt;/a&gt; [OID4VCI] Inconsistencies in OID4VCI metadata related to cryptographic bindings and proofs &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/45727&quot;&gt;#45727&lt;/a&gt; Refactor `SessionsResource` for better memory usage and performance &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/45733&quot;&gt;#45733&lt;/a&gt; Admin UI theme logo not displaying from theme 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/45738&quot;&gt;#45738&lt;/a&gt; clients-registrations/default GET endpoint does not rotate Registration Access Token as documented &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/45740&quot;&gt;#45740&lt;/a&gt; `client-access-type` condition in Client Policy does not trigger for token request events &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/45747&quot;&gt;#45747&lt;/a&gt; Confusing admin behavior when multiple IDPs in a realm have the same issuer URL &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/45748&quot;&gt;#45748&lt;/a&gt; [OID4VCI] OpenID4VCI User Attribute Mapper does not support nested claims &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/45750&quot;&gt;#45750&lt;/a&gt; Test framework doesn&#39;t stop running Keycloak instance if reuse is turned off &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/45760&quot;&gt;#45760&lt;/a&gt; Disabled organisation should not execute invitations &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/45812&quot;&gt;#45812&lt;/a&gt; ROPC: invalid_grant Error Response not RFC Compliant &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/45818&quot;&gt;#45818&lt;/a&gt; There is no save button on the TokenTab &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45829&quot;&gt;#45829&lt;/a&gt; Useless warning logged when querying credentials for a user in a realm with password history enabled &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/45859&quot;&gt;#45859&lt;/a&gt; [OID4VCI] Duplicate processing of authorization_details from AuthorizationDetailsProcessorManager &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/45875&quot;&gt;#45875&lt;/a&gt; Workflows execution bypasses admin permission boundaries (manage-realm -&gt; realm-admin) &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45877&quot;&gt;#45877&lt;/a&gt; UiPageProvider components not filtered by implementation in the 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/45881&quot;&gt;#45881&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.OfflineTokenTest#offlineTokenBrowserFlow &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/45888&quot;&gt;#45888&lt;/a&gt; ServiceMonitor is not created due to missing fields &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/45917&quot;&gt;#45917&lt;/a&gt; LDAP mapper of type &quot;group-ldap-mapper&quot; does not expose &quot;objectGUID&quot; for group in GUID 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/45921&quot;&gt;#45921&lt;/a&gt; `Config should not be initialized until profile is determined` throw from Maven using embedded 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/45922&quot;&gt;#45922&lt;/a&gt; Flaky test: org.keycloak.testsuite.forms.LevelOfAssuranceFlowTest#optionalClaimNotReachedSucceeds &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/45924&quot;&gt;#45924&lt;/a&gt; Make sure disabled organization is ignored when re-authenticating &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/45947&quot;&gt;#45947&lt;/a&gt; Selecting condition type when creating a client policy is too wide &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/45971&quot;&gt;#45971&lt;/a&gt; Paths with spaces are not decoded when trying to discover providers JAR file &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/45986&quot;&gt;#45986&lt;/a&gt; [KEYCLOAK CI] - AuroraDB IT - Run Aurora new database tests on EC2 &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/45993&quot;&gt;#45993&lt;/a&gt; [quarkus-next] Fix build failure due to missing build step ordering constraints &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/46006&quot;&gt;#46006&lt;/a&gt; JpaOrganizationProvider.searchGroupsByName ignores search parameter &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/46009&quot;&gt;#46009&lt;/a&gt; Client sessions pagination 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/46010&quot;&gt;#46010&lt;/a&gt; Missing anti-ID phishing check for getting 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/46015&quot;&gt;#46015&lt;/a&gt; Duplicate `{client-uuid}` path parameter in OpenAPI spec &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/46040&quot;&gt;#46040&lt;/a&gt; Assign realm users 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/46050&quot;&gt;#46050&lt;/a&gt; AuthorizationServices should prevent org group ids for group policies &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/46051&quot;&gt;#46051&lt;/a&gt; [OIDC4VCI] - Types in 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/46075&quot;&gt;#46075&lt;/a&gt; [quarkus-next] Tests fail due to missing build step ordering constraint on disableHealthCheckBean &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/46081&quot;&gt;#46081&lt;/a&gt; [Keycloak JS CI] `fetchWithError` throwing `NetworkError` &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/46084&quot;&gt;#46084&lt;/a&gt; [quarkus-next] DatasourcesDistTest fails due to Quarkus stdout/stderr capture changes &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/46089&quot;&gt;#46089&lt;/a&gt; Deleting a resource on page 2 shows &quot;No resources found&quot; empty state while resources still exist in Authorization Resources tab &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/46095&quot;&gt;#46095&lt;/a&gt; [quarkus-next] configureResteasy() missing Quarkus build step dependency &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/46110&quot;&gt;#46110&lt;/a&gt; Distribution server sometimes uses wrong pid for started Keycloak server &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/46121&quot;&gt;#46121&lt;/a&gt; Unable to initialize &#39;jakarta.el.ExpressionFactory&#39; when starting the server in Quarkus&#39; development 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/46159&quot;&gt;#46159&lt;/a&gt; Docs: authorization_services/topics/resource-server-default-config.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/46160&quot;&gt;#46160&lt;/a&gt; Keycloak from `quarkus/tests/junit5` doesn&#39;t throw exception when there&#39;s a startup 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/46175&quot;&gt;#46175&lt;/a&gt; AdminClient in MANAGED_REALM mode has bugs &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/46187&quot;&gt;#46187&lt;/a&gt; [quarkus-next] Update error message for invalid duration in certificate reload test &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/46192&quot;&gt;#46192&lt;/a&gt; Checking non-converted FROM address when sending emails &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/46193&quot;&gt;#46193&lt;/a&gt; [UI Bug] Microsoft/OIDC IdP &quot;Prompt&quot; dropdown saves human-readable label instead of technical 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/46235&quot;&gt;#46235&lt;/a&gt; Welcome screen URL is not correct with hostname set to 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/46297&quot;&gt;#46297&lt;/a&gt; [OID4VCI] Attribute did should be added to user profile just if OID4VCI is enabled for the realm &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46314&quot;&gt;#46314&lt;/a&gt; Bundle issue in 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/46321&quot;&gt;#46321&lt;/a&gt; [Keycloak CI] Azure and Aurora Migration tests 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/46322&quot;&gt;#46322&lt;/a&gt; [Keycloak CI] New database tests fail on Aurora and Azure &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/46350&quot;&gt;#46350&lt;/a&gt; The RestartLoginCookie does not allow for key rotation as it always uses the active key for verification &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/46366&quot;&gt;#46366&lt;/a&gt; Missing `parentId` in the GroupRepresentation of @keycloak/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/46374&quot;&gt;#46374&lt;/a&gt; [quick-theme] Background is not hot redeployed &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46384&quot;&gt;#46384&lt;/a&gt; Resource selection not displayed in scope-based permission creation when resource is not in initial results &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46403&quot;&gt;#46403&lt;/a&gt; Caching or role parsing should be realm specific &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/46413&quot;&gt;#46413&lt;/a&gt; [Admin UI] User&#39;s organizations list is delayed/empty until an N+1 cascade of API calls completes &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46445&quot;&gt;#46445&lt;/a&gt; Org Groups API does not return subGroupCount &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/46454&quot;&gt;#46454&lt;/a&gt; Organization groups not included in user&#39;s groups query. &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/46455&quot;&gt;#46455&lt;/a&gt; REST API doesn&#39;t allow moving org group to root &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/46493&quot;&gt;#46493&lt;/a&gt; show-config contains log related entries with null 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/46503&quot;&gt;#46503&lt;/a&gt; Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportUSB &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/46512&quot;&gt;#46512&lt;/a&gt; Identity provider display names are not localized 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/46517&quot;&gt;#46517&lt;/a&gt; Inconsistent authentication error ordering &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/46542&quot;&gt;#46542&lt;/a&gt; Update dynamic client scope timeout &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/46571&quot;&gt;#46571&lt;/a&gt; NPE when finding an org group by path when Organization feature disabled &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/46579&quot;&gt;#46579&lt;/a&gt; The PR not including arquillian integration tests does not pass GHA Testsuite Deprecation 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/46606&quot;&gt;#46606&lt;/a&gt; Admin Console Admin associated roles is not usable for a large number of 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/46614&quot;&gt;#46614&lt;/a&gt; Base theme template uses inline styles in delete-account-confirm.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/46628&quot;&gt;#46628&lt;/a&gt; When renaming the ClientPolicy, added conditions and profiles shouldn&#39;t disappear. &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/46639&quot;&gt;#46639&lt;/a&gt; [OID4VCI] Broken issuance due to errnoeous credential_identifier check &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/46644&quot;&gt;#46644&lt;/a&gt; Kiota fails silently when generation fails &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/46647&quot;&gt;#46647&lt;/a&gt; Rfc9440 cert lookup should not treat exceeding the cert length as an 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/46658&quot;&gt;#46658&lt;/a&gt; SCIM PUT endpoint allows resource modification via body ID override (IDOR) &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/46667&quot;&gt;#46667&lt;/a&gt; IntegrationTest sub class @TestSetup called before super class &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/46673&quot;&gt;#46673&lt;/a&gt; Raise minimum maximum number of `poolMaxSize` as value 3 shown in Keycloak example leads to acquisition timeout after switch to JDBC Ping &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/46695&quot;&gt;#46695&lt;/a&gt; CIMD - Config Description Corrections: wildcard instead of regex &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/46697&quot;&gt;#46697&lt;/a&gt; CIMD - typos in comment lines &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/46716&quot;&gt;#46716&lt;/a&gt; UMA permission grant accepts expired ID token claim_token and issues RPT &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/46717&quot;&gt;#46717&lt;/a&gt; UMA permission grant accepts ID token issued to a different 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/46718&quot;&gt;#46718&lt;/a&gt; UnsupportedOperationException in V1 Token Exchange Audience Validation (FGAPv2 Incompatibility) &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/46738&quot;&gt;#46738&lt;/a&gt; NullPointerException Crash in SessionCodeChecks When Client is Disabled During Authentication 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/46745&quot;&gt;#46745&lt;/a&gt; Enhance network validation for SAML metadata descriptor URLs &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/46750&quot;&gt;#46750&lt;/a&gt; OIDC error responses do not have no-cache headers set (at least not for the 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/46774&quot;&gt;#46774&lt;/a&gt; Drawer splitter does not extend full page height in organization 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/46775&quot;&gt;#46775&lt;/a&gt; &quot;Duplicate&quot; function does not work correctly for organization 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/46776&quot;&gt;#46776&lt;/a&gt; Cannot select a group from search results in &quot;Move to&quot; 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/46777&quot;&gt;#46777&lt;/a&gt; Organization group tree does not show expand toggles for groups with children &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46778&quot;&gt;#46778&lt;/a&gt; Stale search results persist after clearing search in organization group tree &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46780&quot;&gt;#46780&lt;/a&gt; Organization group tree search returns flat results instead of hierarchy &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/46792&quot;&gt;#46792&lt;/a&gt; Delete operation does not fire admin event v2 &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/46808&quot;&gt;#46808&lt;/a&gt; Mute noisy &quot;Unable to decode token, payload not found.&quot; log &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/46819&quot;&gt;#46819&lt;/a&gt; ArrayIndexOutOfBoundsException in ArtifactBindingUtils when SAMLart parameter is too short &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46848&quot;&gt;#46848&lt;/a&gt; NullPointerException in DPoPUtil &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/46857&quot;&gt;#46857&lt;/a&gt; Identity Provider mapper edit form loses ID and Name field values on 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/46860&quot;&gt;#46860&lt;/a&gt; Cannot run /testsuite anymore - value of org.keycloak.common.Profile.getInstance() is null &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/46861&quot;&gt;#46861&lt;/a&gt; Metadata check: cacheEmbedded.configFile always incompatible because of path &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/46883&quot;&gt;#46883&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.infinispan.EmbeddedInfinispanSplitBrainTest#testLocalCacheClearedOnMergeEvent &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/46933&quot;&gt;#46933&lt;/a&gt; Client-scopes client policy condition not triggered during resource-owner-password-credentials grant 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/46969&quot;&gt;#46969&lt;/a&gt; Authentication Failure with Mixed-Case Email Domain in 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/46997&quot;&gt;#46997&lt;/a&gt; Privilege Escalation via silent group resolution fallback in Identity Provider mappers when linked to 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/47002&quot;&gt;#47002&lt;/a&gt; [quarkus-next] Prometheus rejects user event metrics with inconsistent tag keys &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/47025&quot;&gt;#47025&lt;/a&gt; createCurlContainer method implicitly depends on DockerHub &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/47043&quot;&gt;#47043&lt;/a&gt; Searching for organization groups with `populateHierarchy=true` exposes internal org group &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/47045&quot;&gt;#47045&lt;/a&gt; [OID4VCI] Credential definition must not contain `@context` when not using JSON-LD &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/47047&quot;&gt;#47047&lt;/a&gt; Unused message keys from console based logins &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/47051&quot;&gt;#47051&lt;/a&gt; Search for organization group membership ignores search param &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/47055&quot;&gt;#47055&lt;/a&gt; `Include sub-group users` button does not work for org groups &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/47063&quot;&gt;#47063&lt;/a&gt; NPE when regenerating client secret when client policy with client-updater-context exists &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/47080&quot;&gt;#47080&lt;/a&gt; Do not allow managing invitations if not an invitation of 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/47084&quot;&gt;#47084&lt;/a&gt; Missing output encoding for organization name in login error messages &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/47085&quot;&gt;#47085&lt;/a&gt; Pin actions/checkout by commit SHA in translation-notify.yml &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/47108&quot;&gt;#47108&lt;/a&gt; Org Groups children API does not return subGroupCount &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/47110&quot;&gt;#47110&lt;/a&gt; LDAP federation configuratation vendor dependent default values not visible in form &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/47114&quot;&gt;#47114&lt;/a&gt; ImmutableAttributeValidator doesn&#39;t lowercase emails when checking for changes &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/47137&quot;&gt;#47137&lt;/a&gt; Ensure org group membership checks the org the user is member of &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/47139&quot;&gt;#47139&lt;/a&gt; Performance regression when editing authentication flows after cherry-picking #46654 (realm invalidation triggers expensive role reload) &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/47157&quot;&gt;#47157&lt;/a&gt; Composite client role mappings endpoint is slow and degrades under concurrency with many client roles &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/47162&quot;&gt;#47162&lt;/a&gt; Impersonation via Token Exchange fails after upgrade to KC 26.5 (form 26.3): java.lang.UnsupportedOperationException: Not supported in V2 	at org.keycloak.services.resources.admin.fgap.ClientPermissionsV2.canExchangeTo( &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/47164&quot;&gt;#47164&lt;/a&gt; New test framework DisabledForServers annotation does not work &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/47201&quot;&gt;#47201&lt;/a&gt; Env var default gets cut of at {} replacement &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/47203&quot;&gt;#47203&lt;/a&gt; [OID4VCI] Small inconsistencies in some events &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/47221&quot;&gt;#47221&lt;/a&gt; Kiota generate client in calls github &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/47251&quot;&gt;#47251&lt;/a&gt; [OID4VCI] Reduce log volume in CredentialScopeModelUtils &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/47271&quot;&gt;#47271&lt;/a&gt; Use of java.util.Random / Math.random() in OID4VC Nonce and Time Claim Generation &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/47321&quot;&gt;#47321&lt;/a&gt; [KEYCLOAK CI] - Account UI - unknown_error thrown by NetworkError &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/47332&quot;&gt;#47332&lt;/a&gt; Missing release notes entry for OpenTelemetry span attributes location change &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47379&quot;&gt;#47379&lt;/a&gt; RetryConfig is ignored &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/47398&quot;&gt;#47398&lt;/a&gt; When adding a ClientProfile the Save button functionality is inconsistent &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47412&quot;&gt;#47412&lt;/a&gt; Typos in docs: OpenTelementry &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/47418&quot;&gt;#47418&lt;/a&gt; Agroal: Login timeout should be smaller than acquisition timeout &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/47427&quot;&gt;#47427&lt;/a&gt; New link error in documentation to facebook &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/47444&quot;&gt;#47444&lt;/a&gt; Inaccuracies in client federation documentation and tooltips &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/47452&quot;&gt;#47452&lt;/a&gt; Deployed Javascript policy description not displayed in the Keycloak console &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/47454&quot;&gt;#47454&lt;/a&gt; Workflows editor uses proportional font instead of monospace &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47473&quot;&gt;#47473&lt;/a&gt; [quarkus-next] Fix operator controller stalling after JOSDK 5.3.0 event filtering upgrade &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/47495&quot;&gt;#47495&lt;/a&gt; JavaKeystoreKeyProvider generates a new random KID for symmetric keys (HMAC) on every restart or config change &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/47536&quot;&gt;#47536&lt;/a&gt; SCIM Authorization Bypass in User Group Management &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/47544&quot;&gt;#47544&lt;/a&gt; NullPointerException in OID4VCMapper when mapper configuration is missing or empty &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/47572&quot;&gt;#47572&lt;/a&gt; Possible NPE in DefaultKeycloakSession.getComponentProvider() &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/47587&quot;&gt;#47587&lt;/a&gt; [Operator CI] - Test remote - Waiting for more replicas timeout &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47646&quot;&gt;#47646&lt;/a&gt; Both Clusterless and Volatile-Session suites contains reference to removed test file. &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/47675&quot;&gt;#47675&lt;/a&gt; LDAP Federation:  time of the password change is not being read correctly for &quot;389 DS/RHDS&quot; ldap backend &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/47685&quot;&gt;#47685&lt;/a&gt; NPE when using HttpClient and enabled tracing &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47708&quot;&gt;#47708&lt;/a&gt; Failing test testNoConfigNoServerShowsV2Hint on Windows &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/47720&quot;&gt;#47720&lt;/a&gt; Release nightly build for API docs is broken &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/47753&quot;&gt;#47753&lt;/a&gt; Decorating LDAP user profile throws NPE preventing login &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/2026/04/keycloak-2660-released</guid>
        <pubDate>Wed, 8 Apr 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.5.7 released</title>
        <link>https://www.keycloak.org/2026/04/keycloak-2657-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45493&quot;&gt;#45493&lt;/a&gt; CVE-2025-14083 keycloak-server: Keycloak: Improper Access Control in Admin REST API leads to information disclosure &lt;code&gt;admin/api&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45569&quot;&gt;#45569&lt;/a&gt; CVE-2026-1002 - io.vertx/vertx-core: static handler component cache can be manipulated to deny the access to static files &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47069&quot;&gt;#47069&lt;/a&gt; CVE-2026-3429 Improper Access Control for LoA During Credential Deletion &lt;code&gt;account/api&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47716&quot;&gt;#47716&lt;/a&gt; CVE-2026-4634 Keycloak Application-Level DoS via Scope Processing &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47717&quot;&gt;#47717&lt;/a&gt; CVE-2026-4636 UMA Policy Resource Injection Allows Unauthorized Cross-User Permission Grants &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47718&quot;&gt;#47718&lt;/a&gt; CVE-2026-3872 Redirect URI validation bypass via ..;/ path traversal in OIDC auth endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47719&quot;&gt;#47719&lt;/a&gt; CVE-2026-4282 Privilege escalation via forged authorization codes due to SingleUseObjectProvider isolation flaw &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/46631&quot;&gt;#46631&lt;/a&gt; Upgrade to Quarkus 3.27.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/45204&quot;&gt;#45204&lt;/a&gt; Call without Host header throws uncaught error &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/2026/04/keycloak-2657-released</guid>
        <pubDate>Thu, 2 Apr 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.5.6 released</title>
        <link>https://www.keycloak.org/2026/03/keycloak-2656-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45645&quot;&gt;#45645&lt;/a&gt; CVE-2026-1180 - Blind Server-Side Request Forgery (SSRF) in Keycloak OIDC Dynamic Client Registration via jwks_uri &lt;code&gt;oidc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45647&quot;&gt;#45647&lt;/a&gt; CVE-2026-1035 - Keycloak Refresh Token Reuse Bypass via TOCTOU Race Condition &lt;code&gt;oidc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45650&quot;&gt;#45650&lt;/a&gt; CVE-2025-14777 - Keycloak IDOR in realm client creating/deleting &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45653&quot;&gt;#45653&lt;/a&gt; CVE-2025-14082 keycloak-server: Keycloak Admin REST API: Improper Access Control leads to sensitive role metadata information disclosure &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46719&quot;&gt;#46719&lt;/a&gt; CVE-2026-3121 - Keycloak: Privilege escalation via manage-clients permission &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46723&quot;&gt;#46723&lt;/a&gt; CVE-2026-3190 - Information Disclosure via improper role enforcement in UMA 2.0 Protection API &lt;code&gt;core&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46922&quot;&gt;#46922&lt;/a&gt; CVE-2026-3911 Keycloak: Information disclosure of disabled user attributes via administrative endpoint &lt;code&gt;user-profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/47062&quot;&gt;#47062&lt;/a&gt; CVE-2026-2366 Authorization Bypass: Unprivileged tokens can enumerate user organization memberships &lt;code&gt;organizations&lt;/code&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/45889&quot;&gt;#45889&lt;/a&gt; Federated user disabled when external DB unavailable, never re-enabled &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/46239&quot;&gt;#46239&lt;/a&gt; AUTH_SESSION_ID cookie reuse causes cross-user session contamination on re-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/46296&quot;&gt;#46296&lt;/a&gt; UsersResource.search briefRepresentation started to return 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/46379&quot;&gt;#46379&lt;/a&gt; Unexpected error when logging out with offline session and external IDP &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/46459&quot;&gt;#46459&lt;/a&gt; Operator-built DB config: targetServerType=primary not applied / connection validation not working after master-replica failover (26.5.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/46588&quot;&gt;#46588&lt;/a&gt; Partial LDAP sync duration does not follow the defined value in user federation &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/46605&quot;&gt;#46605&lt;/a&gt; 26.5.4 startup regression with many realms: RealmCacheSession.prepareCachedRealm() scans master admin role composites per realm (O(N²)) &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/46656&quot;&gt;#46656&lt;/a&gt; Em-Hyphens in SPI options on cache configuration 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/46663&quot;&gt;#46663&lt;/a&gt;  JGroups bind port configuration ignored when --cache-embedded-network-bind-port set &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/46669&quot;&gt;#46669&lt;/a&gt; SPIFFE Client assertion throws a NullPointerException if no client is found &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/47079&quot;&gt;#47079&lt;/a&gt; Do not allow fetching organizations of a member if not a member of the current organization &lt;span class=&quot;badge bg-secondary&quot;&gt;organizations&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2026/03/keycloak-2656-released</guid>
        <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Distribution Survey: The Results are In!</title>
        <link>https://www.keycloak.org/2026/03/distribution-surver-results</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Earlier this year, we conducted a survey to better understand how the community deploys and manages Keycloak in the real world.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With over &lt;strong&gt;360 respondents&lt;/strong&gt; (!!), the results provide a better understanding of the community&amp;#8217;s needs and wishes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_we_learned&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_we_learned&quot;&gt;&lt;/a&gt;What we learned&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The survey results highlight a community that is deeply invested in the containerized ecosystem but is facing specific challenges in day-to-day operations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_key_findings&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_key_findings&quot;&gt;&lt;/a&gt;Key Findings:&lt;/h3&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The Helm Charts:&lt;/strong&gt; A significant portion of the community explicitly requested &lt;strong&gt;official Helm Charts&lt;/strong&gt;, particularly for managing Keycloak installation and managing deployments via tools like ArgoCD.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Operator:&lt;/strong&gt; Adoption of the Keycloak Operator is not very high in the community, which is mainly caused by the fact that the Operator setup is hard to grasp, and do not provide the required functionality.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;GitOps &amp;amp; Configuration:&lt;/strong&gt; There is a strong desire for more robust GitOps flows, especially when it comes to managing Keycloak resources like Realms and Clients.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The whole Keycloak team is aware of these results and is discussing the next steps.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Thank you to everyone who shared their feedback in this survey!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_more_details&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_more_details&quot;&gt;&lt;/a&gt;More details:&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can browse the detailed breakdown of the survey results in the slides below:&lt;/p&gt;
&lt;/div&gt;
&lt;iframe src=&quot;https://www.keycloak.org/resources/images/blog/distribution-survey-results.pdf&quot; width=&quot;960&quot; height=&quot;590&quot; allowfullscreen mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/03/distribution-surver-results</guid>
        <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
        
        <author>Keycloak Cloud Native team</author>
      </item>
      <item>
        <title>Submit to KeycloakCon Japan Call-for-Papers!</title>
        <link>https://www.keycloak.org/2026/03/keycloakcon-26-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/kubecon-cloudnativecon-japan/co-located-events/keycloakcon/&quot;&gt;KeycloakCon Japan 2026&lt;/a&gt; is now open! Submit your talks to KeycloakCon in Japan.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeycloakCon Japan 2026 is a half-day single-track conference in Yokohama, Japan on July 28 where the community of Keycloak gathers.
It provides opportunities for technical presentations, growth, and networking with talks related to 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;Accepted session formats include presentations (25 min), panel discussions (35 min), and lightning talks (10 min).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The call for papers deadline is &lt;strong&gt;April 12, 2026 (23:59 JST)&lt;/strong&gt;.&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/co-located-events/cfp/&quot;&gt;Submit now!&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_registration&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_registration&quot;&gt;&lt;/a&gt;Registration&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeycloakCon is a co-located event at KubeCon + CloudNativeCon Japan and requires a separate &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/register/&quot;&gt;registration&lt;/a&gt; in addition to a KubeCon + CloudNativeCon Japan ticket.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Accepted speakers receive a full access pass to KubeCon + CloudNativeCon Japan and the co-located event.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_related_events&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_related_events&quot;&gt;&lt;/a&gt;Related Events&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The next day, on July 29-30, &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/&quot;&gt;KubeCon Japan 2026&lt;/a&gt; takes place in Yokohama 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 Yokohama!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/03/keycloakcon-26-japan-call-for-papers</guid>
        <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.5.5 released</title>
        <link>https://www.keycloak.org/2026/03/keycloak-2655-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46909&quot;&gt;#46909&lt;/a&gt; CVE-2026-3047 SAML broker: Authentication bypass due to disabled SAML client completing IdP-initiated login &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46910&quot;&gt;#46910&lt;/a&gt; CVE-2026-3009 Improper Enforcement of Disabled Identity Provider in IdentityBrokerService &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46911&quot;&gt;#46911&lt;/a&gt; CVE-2026-2603 Disabled SAML IdP still allows IdP-initiated broker login &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46912&quot;&gt;#46912&lt;/a&gt; CVE-2026-2092 saml broker encrypted assertion injection &lt;/li&gt;
&lt;/ul&gt;






</description>
        <guid>https://www.keycloak.org/2026/03/keycloak-2655-released</guid>
        <pubDate>Thu, 5 Mar 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Thanks for your feedback on SCIM support in Keycloak!</title>
        <link>https://www.keycloak.org/2026/02/scim-support-survey-feedback</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;First of all, we want to thank everyone who took the time to fill out our survey on SCIM support in Keycloak.
Your feedback is invaluable to us as we work on implementing this feature. We are currently in the early stages of
development, and we are using your feedback to guide our efforts.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The survey results have shown us that there is a strong demand for SCIM support in Keycloak, and one of the most common
use case is to use Keycloak as a SCIM service provider to manage user provisioning and deprovisioning for external applications.
We are prioritizing this use case and driving the design and implementation of SCIM support in Keycloak to meet core set
of requirements for this use case.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In parallel, we are also exploring other use cases and requirements for SCIM support in Keycloak, such as using Keycloak
as a SCIM client to integrate with external identity providers. As a result of this initial work, we are implementing a
SCIM client that will allow in the future to address use cases where Keycloak can act as a SCIM client to integrate
external SCIM service providers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Even though we are still delivering this feature as an experimental feature in the 26.6 release, the feedback we have received
should allow us to deliver a solid implementation that meets the core requirements for the most common use case of using Keycloak as a SCIM service provider,
and enable integrations any SCIM-compliant client, such as Microsoft Entra ID.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That said, we have identified the initial scope for SCIM support in Keycloak targeting the 26.6 release, which will include the following capabilities:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Expose realm users via the &lt;code&gt;/Users&lt;/code&gt; endpoint with support for &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;PATCH&lt;/code&gt;, &lt;code&gt;GET&lt;/code&gt;, and &lt;code&gt;DELETE&lt;/code&gt; operations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expose realm groups via the &lt;code&gt;/Groups&lt;/code&gt; endpoint with support for &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;PATCH&lt;/code&gt;, &lt;code&gt;GET&lt;/code&gt;, and &lt;code&gt;DELETE&lt;/code&gt; operations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for a limited set of SCIM filters for querying resource types&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for pagination of results when querying resource types&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for fine-grained permissions to control access to SCIM resource types and operations based on realm admin roles and FGAP&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for bearer-token authorization&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In regard to SCIM schemas, we are implementing support for the core SCIM schemas:&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:ietf:params:scim:schemas:core:2.0:User&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:ietf:params:scim:schemas:core:2.0:Group&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;urn:ietf:params:scim:schemas:core:2.0:EnterpriseUser&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;In regard to the &lt;code&gt;User&lt;/code&gt; resource type, we are leveraging the User Profile feature to allow for flexible mapping of
realm user attributes to SCIM user attributes. It should be possible to support custom extensions to the &lt;code&gt;User&lt;/code&gt; core schema
by defining custom user attributes and mapping them to SCIM user attributes via annotations in the attribute configuration
in the user profile.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In terms of schema validation, for now we are not respecting the metadata attributes in the SCIM schemas,
such as &lt;code&gt;required&lt;/code&gt;, &lt;code&gt;mutability&lt;/code&gt;, and &lt;code&gt;uniqueness&lt;/code&gt;. However, for the &lt;code&gt;User&lt;/code&gt; resource type, you should be able to leverage
the validations provided by the User Profile feature to enforce constraints on user attributes that are mapped
to SCIM user attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In terms of integration, the survey shown that one of the key integrations we should be considering is with Microsoft Entra ID.
Sometimes is hard to us to test capabilities of Keycloak that rely on Entra ID, and we would also appreciate any early feedback
on nightly builds to ensure that we are on the right track in terms of meeting the requirements for this integration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Last but not least, this work is also taking into account the amazing extensions (and their capabilities) that our
community is using today to provide SCIM support in Keycloak, such as the ones provided by:&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/Captain-P-Goldfish/scim-for-keycloak&quot; class=&quot;bare&quot;&gt;https://github.com/Captain-P-Goldfish/scim-for-keycloak&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Metatavu/keycloak-scim-server&quot; class=&quot;bare&quot;&gt;https://github.com/Metatavu/keycloak-scim-server&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;With this in mind, we are delivering a &lt;code&gt;scim&lt;/code&gt; module in the Keycloak codebase that should be flexible enough to allow
for custom extensions to be implemented on top of it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on the initial scope of SCIM support in Keycloak, please refer to the following issues:&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/45711&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/45711&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/46227&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/46227&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 additional comments and feedback, please comment on:&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/46227&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/46227&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;Follow-ups, after Keycloak 26.6, will be tracked by the following issue:&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/46229&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/46229&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/02/scim-support-survey-feedback</guid>
        <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
        
        <author>Keycloak Core IAM Team</author>
      </item>
      <item>
        <title>Deprecating Arquillian Testsuite, Keycloak Test Framework Full Support</title>
        <link>https://www.keycloak.org/2026/02/deprecating-arquillian-and-keycloak-test-framework-support</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_changing&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_changing&quot;&gt;&lt;/a&gt;What&amp;#8217;s changing?&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://github.com/keycloak/keycloak/tree/main/testsuite&quot;&gt;&lt;em&gt;testsuite&lt;/em&gt;&lt;/a&gt; module, with all related dependents, like &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/testsuite/integration-arquillian&quot;&gt;&lt;em&gt;Arquillian&lt;/em&gt;&lt;/a&gt; testsuite, is now officially &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/testsuite/DEPRECATED.md&quot;&gt;deprecated&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At the same time &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/test-framework&quot;&gt;&lt;em&gt;Test Framework&lt;/em&gt;&lt;/a&gt; full support is starting from the upcoming &lt;strong&gt;Keycloak 26.6.0&lt;/strong&gt; release.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_the_new_test_framework&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_the_new_test_framework&quot;&gt;&lt;/a&gt;The New Test Framework&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Based on JUnit 6, the Keycloak &lt;em&gt;Test Framework&lt;/em&gt; makes it easy to write tests for &lt;em&gt;Keycloak&lt;/em&gt; and extensions.
Behind the scenes the framework handles the lifecycle of &lt;em&gt;Keycloak&lt;/em&gt;, the database, and any injected resources such as realms and clients.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Tests simply declare what they want, including specific configuration, and the framework takes care of the rest.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Contributors are asked to start using new &lt;em&gt;Test Framework&lt;/em&gt; and write tests within the new &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/tests&quot;&gt;&lt;em&gt;tests&lt;/em&gt;&lt;/a&gt; module.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_new&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_new&quot;&gt;&lt;/a&gt;What&amp;#8217;s new?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since the initial &lt;a href=&quot;https://www.keycloak.org/2024/11/preview-keycloak-test-framework&quot;&gt;announcement&lt;/a&gt; these new features have been added:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Improved documentation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved registry with dependency graph&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hot deploy with external providers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Re-use support for distribution server, for faster execution times&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Re-use support for H2 database, for faster execution times&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managed OAuth client&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managed Admin client factory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for conditional execution (e.g.disable tests for certain databases)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;@TestSetup and @TestCleanup method annotation to configure a specific test class&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TimeOffset support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test framework unit and integration tests&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test framework injection validation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run on Server functionality&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TLS and mTLS with managed certificates&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FIPS with managed crypto keys&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managed Infinispan server&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managed Email server&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Managed HTTP client and HTTP server&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Events and Admin Events assertions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Custom providers support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub Actions summary report&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test suites support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clustering support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WebAuthn support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Migration util&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On top of that, the whole &lt;a href=&quot;https://github.com/keycloak/keycloak/tree/main/tests/base/src/test/java/org/keycloak/tests/admin&quot;&gt;&lt;em&gt;admin tests&lt;/em&gt;&lt;/a&gt; package has been migrated.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_my_first_test&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_my_first_test&quot;&gt;&lt;/a&gt;My first test&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following shows a very simply test that deploys a realm to Keycloak and creates a user within the realm.&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;@KeycloakIntegrationTest
public class MyInitialTest {

    @InjectRealm
    ManagedRealm realm;

    @InjectUser
    ManagedUser user;

    @Test
    public void myFirstTest() {
        Assertions.assertNotNull(realm.admin().users().get(user.getId()));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_oauth_access_token_request_example&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_oauth_access_token_request_example&quot;&gt;&lt;/a&gt;OAuth Access Token Request example&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This test shows on how to use the newly created user to get an access or refresh token, with checking the latest fired event.&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;@KeycloakIntegrationTest
public class OAuthRefreshTokenTest {

    @InjectRealm
    ManagedRealm realm;

    @InjectUser(config = OAuthUserConf.class)
    ManagedUser user;

    @InjectOAuthClient
    OAuthClient oAuthClient;

    @InjectEvents
    Events events;

    @Test
    public void testTokenRefresh() {
        AuthorizationEndpointResponse response = oAuthClient
            .doLogin(user.getUsername(), user.getPassword());

        AccessTokenResponse accessTokenResponse = oAuthClient
            .doAccessTokenRequest(response.getCode());

        EventAssertion.assertSuccess(events.poll()).userId(user.getId()).hasSessionId();

        AccessTokenResponse refreshTokenResponse = oAuthClient
            .doRefreshTokenRequest(accessTokenResponse.getRefreshToken());

        EventAssertion.assertSuccess(events.poll()).userId(user.getId()).hasSessionId();

        oAuthClient.doLogout(refreshTokenResponse.getRefreshToken());

        EventAssertion.assertSuccess(events.poll()).userId(user.getId()).hasSessionId();
    }

    private static class OAuthUserConf implements UserConfig {

        @Override
        public UserConfigBuilder configure(UserConfigBuilder builder) {
            return builder.username(&quot;oauth-user&quot;).name(&quot;OAuth&quot;, &quot;User&quot;)
                    .password(&quot;strong-password&quot;).email(&quot;oauth@user&quot;)
                    .emailVerified(true);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_looking_for_help&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_looking_for_help&quot;&gt;&lt;/a&gt;Looking for help?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Meet us on Slack or Email:&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/community&quot;&gt;Community&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;Github Discussion:&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/46604&quot;&gt;Link&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;Guidelines:&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/tree/main/test-framework#readme&quot;&gt;Test Framework&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/tests/MANUAL_MIGRATION.md&quot;&gt;Migrating Tests&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/2026/02/deprecating-arquillian-and-keycloak-test-framework-support</guid>
        <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
        
        <author>Lukas Hanusovsky</author>
      </item>
      <item>
        <title>Keycloak 26.5.4 released</title>
        <link>https://www.keycloak.org/2026/02/keycloak-2654-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45646&quot;&gt;#45646&lt;/a&gt; CVE-2026-1190 - Keycloak SAML brokering: Response delay due to unchecked NotOnOrAfter in SubjectConfirmationData &lt;code&gt;saml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45649&quot;&gt;#45649&lt;/a&gt; CVE-2026-0707: Keycloak Authorization Header Parsing Leading to Potential Security Control Bypass &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45776&quot;&gt;#45776&lt;/a&gt; CVE-2025-5416 keycloak-core: Keycloak Environment Information &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46372&quot;&gt;#46372&lt;/a&gt; CVE-2026-2575 - Denial of Service due to excessive SAMLRequest decompression &lt;code&gt;saml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46462&quot;&gt;#46462&lt;/a&gt; CVE-2026-2733 Missing Check on Disabled Client for Docker Registry Protocol &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/46090&quot;&gt;#46090&lt;/a&gt; New key affinity for session ids &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/44488&quot;&gt;#44488&lt;/a&gt; &quot;Update email&quot; AIA: &quot;Back to Application&quot; URL invokes OIDC callback with missing parameters &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/45065&quot;&gt;#45065&lt;/a&gt; Client deletion timeout due to large number of client roles &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/45680&quot;&gt;#45680&lt;/a&gt; auth_mellon (SAML) authentication fails after upgrade to 26.5.1 (from 26.4.6) &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/45728&quot;&gt;#45728&lt;/a&gt; Information Disclosure of Client Secret on Unauthenticated Config 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/45874&quot;&gt;#45874&lt;/a&gt; Disabled organizations still resolve in organization‑aware login flows &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/45966&quot;&gt;#45966&lt;/a&gt; KeycloakRealmImport: Realm created in DB but not visible in Admin Console until restart &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/45980&quot;&gt;#45980&lt;/a&gt; Keycloak cluster with 3 nodes and jdbc-ping stack fails to rejoin after temporary network partition &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/46100&quot;&gt;#46100&lt;/a&gt; Makes Database Query on Every Login Page Load Instead of Using Cache &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/46150&quot;&gt;#46150&lt;/a&gt; Move upgrading note for SAML to 26.5.4 &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/46178&quot;&gt;#46178&lt;/a&gt; Regression: cannot authenticate in keycloak-admin-client &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/46290&quot;&gt;#46290&lt;/a&gt; Incorrect code used error, leading to &quot;400 / Code already used&quot; during Infinispan state transfers &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/46303&quot;&gt;#46303&lt;/a&gt; JWT Authorization Grant: Always getting “Token was issued too far in the past to be used now” for EntraID issued 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/46312&quot;&gt;#46312&lt;/a&gt; io.fabric8:docker-maven-plugin:0.40.3:start failed: Cannot invoke &quot;com.google.gson.JsonElement.isJsonNull()&quot; because the return value of &quot;com.google.gson.JsonObject.get(String)&quot; is null &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/2026/02/keycloak-2654-released</guid>
        <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak tightened its security with the GitHub Secure Open Source Fund</title>
        <link>https://www.keycloak.org/2026/02/github-secure-open-source-fund</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is the open-source IAM backbone for countless applications, and provides single sign-on, strong authentication and user federation across organizations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We were part of the &lt;a href=&quot;https://github.com/open-source/github-secure-open-source-fund&quot;&gt;GitHub Secure Open Source Fund&lt;/a&gt; Session 3, participated in the three-week training and gained insights into how other projects handle incidents and implement security best practices.
&lt;a href=&quot;https://github.blog/open-source/maintainers/securing-the-ai-software-supply-chain-security-results-across-67-open-source-projects/&quot;&gt;67 projects were part of the training&lt;/a&gt;, so we received a lot of feedback.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_we_improved&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_we_improved&quot;&gt;&lt;/a&gt;What we improved&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For Keycloak, we strengthened several aspects of our security posture.
My personal highlights were:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Tighter control with CodeQL&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;We already had CodeQL running for Java and JavaScript sources.
The training gave us better insights into how it is working, and we cleaned up existing findings and enabled additional queries.
A key takeaway for us: &lt;strong&gt;CodeQL can scan your GitHub Actions&lt;/strong&gt;!&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Refreshing the incident response plan&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;An incident response plan (IRP) helps you to get things right when a vulnerability is reported, you suspect a leaked credential, or some other security incident happens.
We already had an IRP, but got feedback what other steps we wanted to add to it.
We might even &lt;strong&gt;make parts of it public&lt;/strong&gt; in the future to better collaborate with security researchers.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Asking GitHub Copilot&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;When analyzing for example CodeQL reports, it was helpful for us to &lt;strong&gt;ask GitHub Copilot to provide explanations&lt;/strong&gt; and tips how to mitigate it.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are a software developer or a user of Keycloak: When was the last time you reviewed your incident response plan?&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_looking_forward&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_looking_forward&quot;&gt;&lt;/a&gt;Looking forward&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to those who funded the training, and presented demos and tools.
Special thanks to the GitHub security team that delivered several trainings and acted as security buddies during the program and answered individual questions!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/02/github-secure-open-source-fund</guid>
        <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.5.3 released</title>
        <link>https://www.keycloak.org/2026/02/keycloak-2653-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46144&quot;&gt;#46144&lt;/a&gt; CVE-2026-1609 Disabled users can still obtain tokens via JWT Authorization Grant &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46145&quot;&gt;#46145&lt;/a&gt; CVE-2026-1529 Forged invitation JWT enables cross-organization self-registration &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46146&quot;&gt;#46146&lt;/a&gt; CVE-2026-1486 Logic Bypass in JWT Authorization Grant Allows Authentication via Disabled Identity Providers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/46147&quot;&gt;#46147&lt;/a&gt; CVE-2025-14778 Incorrect ownership checks in /uma-policy/ &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/45892&quot;&gt;#45892&lt;/a&gt; Upgrade minikube for CI tests &lt;span class=&quot;badge bg-secondary&quot;&gt;operator&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/44379&quot;&gt;#44379&lt;/a&gt; Node.js admin client does not refresh tokens &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/45459&quot;&gt;#45459&lt;/a&gt; k8s multiple restart (oomkilled) in v26.5.0-0 during startup because of RAM &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/45662&quot;&gt;#45662&lt;/a&gt; Increase in startup memory consumption in post 26.5 versions &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/45677&quot;&gt;#45677&lt;/a&gt; Hibernate Validator is enabled by default when not 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/45708&quot;&gt;#45708&lt;/a&gt; Unpexted value &#39;&#39; in mixed-cluster-compatibility-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/45745&quot;&gt;#45745&lt;/a&gt; mixed-cluster-compatibility-tests fail due to incorrectly masked content in 26.5 branch &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/45755&quot;&gt;#45755&lt;/a&gt; Broken YAML indentation in operator rolling updates doc &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/45780&quot;&gt;#45780&lt;/a&gt; Remove fatal log messages from `ConsistentHash` &lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2026/02/keycloak-2653-released</guid>
        <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Meet Keycloak at KubeCon EU, Amsterdam in March 2026</title>
        <link>https://www.keycloak.org/2026/02/keycloak-kubecon26-eu-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak project is back at &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/&quot;&gt;KubeCon EU Amsterdam&lt;/a&gt; with all highlights: Talks, our kiosk in the Project Pavilion, and this time also with &lt;strong&gt;KeycloakCon&lt;/strong&gt;, our very-own co-located event!
If you are new to Keycloak, or already a user, join us for this exciting event to learn and connect.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_half_day_keycloakcon_packed_with_all_things_keycloak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_half_day_keycloakcon_packed_with_all_things_keycloak&quot;&gt;&lt;/a&gt;Half-day KeycloakCon packed with all-things-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://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/keycloakcon/&quot;&gt;KeycloakCon&lt;/a&gt; is a co-located event happening on Monday, March 22 from 09:00 to 12:30. It brings together the Keycloak community with case studies and talks featuring the latest features. Join this event for technical talks, professional growth, and networking opportunities.&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-europe/co-located-events/keycloakcon/&quot;&gt;Book your ticket&lt;/a&gt; as part of the All-Access In-Person KubeCon + CloudNativeCon pass.&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-europe/&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kubecon-eu-26-amsterdam.png&quot; alt=&quot;KubeCon EU Artwork&quot; style=&quot;width: 100%; max-width: 1270px; object-fit: cover; height: 315px; object-fit: none; object-position: 10% 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;_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;/a&gt;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;This is the place 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;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &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/ahus1&quot;&gt;Alexander Schwartz&lt;/a&gt; from IBM, &lt;a href=&quot;https://github.com/slaskawi&quot;&gt;Sebastian Łaskawiec&lt;/a&gt; from Defense Unicorns, and other contributors will host 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;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak Kiosk (P-21A) in Halls 1-5 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, March 23: 15:10 - 19:00&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, March 24: 14:00 - 17:00&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thursday, March 25: 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;_technical_talks_about_agents_sovereign_identity_securing_proxies_and_spiffe&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_technical_talks_about_agents_sovereign_identity_securing_proxies_and_spiffe&quot;&gt;&lt;/a&gt;Technical talks about Agents, Sovereign Identity, Securing Proxies, and SPIFFE&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These talks are part of the main conference. Join the speakers on-site!&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://kccnceu2026.sched.com/event/2EF6o/sovereign-identities-for-your-cloud-native-architecture-with-keycloak-alexander-schwartz-ibm-sebastian-laskawiec-defense-unicorns&quot;&gt;Sovereign Identities for Your Cloud Native Architecture With Keycloak&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Alexander Schwartz, IBM &amp;amp; Sebastian Łaskawiec, Defense Unicorns&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Wednesday March 25, 2026 11:45 - 12:15 CET&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak serves as a central hub for managing human and machine identities across sovereign cloud-native architectures using OpenID Connect, SAML, and trust brokering. This talk shows how to implement strong authentication, use the latest OpenTelemetry features, and leverage Kubernetes service accounts to authenticate clients.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://kccnceu2026.sched.com/event/2CW56/signed-sealed-delivered-why-reverse-proxies-outperform-vpns-peter-oneill-teleport-boris-kurktchiev-independent&quot;&gt;Signed, Sealed, Delivered: Why Reverse Proxies Outperform VPNs&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Peter ONeill, Teleport &amp;amp; Boris Kurktchiev, Independent&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Wednesday March 25, 2026 17:30 - 18:00 CET&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Traditional VPNs often grant excessive network access once a user is &quot;inside,&quot; whereas reverse proxies provide a more secure, granular approach by verifying identity for every specific resource. This session will use a demo featuring Envoy and Keycloak to illustrate how reverse proxies enforce precise authorization and logging for modern, cloud-native systems.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://kccnceu2026.sched.com/event/2CW5g/spiffe-meets-oauth-federated-identity-for-cloud-native-workloads-yoshiyuki-tabata-hitachi-ltd&quot;&gt;SPIFFE Meets OAuth: Federated Identity for Cloud Native Workloads&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Yoshiyuki Tabata, Hitachi, Ltd.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Thursday March 26, 2026 11:00 - 11:30 CET&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This session explores federated identity patterns designed to solve the complexity of propagating authorization across multi-cluster Kubernetes environments. By combining SPIFFE JWT SVIDs with emerging OAuth Identity Chaining and assertion frameworks, the talk shows how to achieve secure, multi-hop identity propagation without relying on static credentials. Attendees will see a practical integration of Keycloak and SPIRE that enhances interoperability and security in dynamic cloud-native architectures.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://kccnceu2026.sched.com/event/2CVxt/when-an-agent-acts-on-your-behalf-who-holds-the-keys-mariusz-sabath-maia-iyer-ibm-research&quot;&gt;When an Agent Acts on Your Behalf, Who Holds the Keys?&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;&lt;strong&gt;Mariusz Sabath &amp;amp; Maia Iyer, IBM  Research&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Tuesday March 24, 2026 11:15 - 11:45 CET&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This session addresses the security risks of anonymous AI actions by introducing an architecture that cryptographically links agent identity with delegated user identity. By combining SPIRE for workload attestation, Keycloak for managing user context, and an MCP Gateway for policy enforcement, the framework ensures every action is fully traceable. Attendees will learn how to move beyond static API keys to create a verifiable audit trail for both the executing code and the authorizing user.&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;_see_you_soon&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_see_you_soon&quot;&gt;&lt;/a&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 &lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/&quot;&gt;KubeCon EU 2026&lt;/a&gt; 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 Amsterdam!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/02/keycloak-kubecon26-eu-announce</guid>
        <pubDate>Sat, 7 Feb 2026 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak JS 26.2.3 released</title>
        <link>https://www.keycloak.org/2026/02/keycloak-js-2623-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release of Keycloak JS addresses a regression that was introduced in version &lt;code&gt;26.2.2&lt;/code&gt; affecting applications that use hash-based routing in combination with the &lt;code&gt;fragment&lt;/code&gt; response mode.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_bug_fixes&quot;&gt;Bug Fixes&lt;/h4&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_url_hash_fragments_are_now_preserved_correctly_with_fragment_response_mode&quot;&gt;URL hash fragments are now preserved correctly with &#39;fragment&#39; response mode&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression was introduced in version &lt;code&gt;26.2.2&lt;/code&gt; that caused URL fragments with path-style routing (e.g., &lt;code&gt;#/admin/maintenance/scripts&lt;/code&gt;) to be URL-encoded after the OAuth callback, breaking applications that use hash-based routing. This issue affected Angular, React, and other applications that rely on the hash portion of the URL for client-side routing.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/241&quot;&gt;keycloak/keycloak-js#241&lt;/a&gt;&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/#_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/2026/02/keycloak-js-2623-released</guid>
        <pubDate>Thu, 5 Feb 2026 00:00:00 GMT</pubDate>
        <category>Keycloak JS Release</category>
        
      </item>
      <item>
        <title>Federated client authentication - no more secrets</title>
        <link>https://www.keycloak.org/2026/01/federated-client-authentication</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has from day one supported identity brokering, allowing users to authenticate via an
external OpenID Connect or SAML 2.0 identity provider. With federated client authentication it is
now possible to authenticate OpenID Connect clients through external identity providers as well.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Depending on the environment the clients is running in this can eliminate the need for managing
secrets for clients altogether.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A number of cloud vendors for example support injecting tokens automatically for workloads,
Kubernetes have support for service accounts, and last but not least there is SPIFFE that can be
leveraged in most environments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_how_does_federated_client_authentication_work&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_does_federated_client_authentication_work&quot;&gt;&lt;/a&gt;How does federated client authentication work?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The first step to setting up federated client authentication is to define a trust relationship
between Keycloak and the external identity providers. This is done by creating a new identity
provider in the realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak currently has three types of identity providers that support federated client authentication:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OpenID Connect&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SPIFFE&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Kubernetes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Clients can retrieve a token from the external identity providers that the client can then use to authenticate with
Keycloak. In many cases clients can retrieve these tokens automatically through workload identity capabilities enabled
for particular environments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s look at an example decoded JWT that can be used to authenticate a client:&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;{
  &quot;iss&quot; : &quot;https://my-external-idp&quot;
  &quot;aud&quot; : [
    &quot;http://my-keycloak/realms/myrealm&quot;
  ],
  &quot;exp&quot; : 1769149961,
  &quot;iat&quot; : 1769149661,
  &quot;sub&quot; : &quot;client-id-in-my-external-idp&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The most relevant claims are &lt;code&gt;iss&lt;/code&gt;, &lt;code&gt;aud&lt;/code&gt; and &lt;code&gt;sub&lt;/code&gt;. Keycloak uses the &lt;code&gt;iss&lt;/code&gt; claim to identity the external party
that issued the token as well as retrieving the external parties signing keys to verify the token.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;aud&lt;/code&gt; claim is to make sure the token was issued to be used by Keycloak and not other applications. It is important
that this contains a single audience that uniquely identifies Keycloak as the target audience, as leaking this token
to other parties can then allow them to authenticate as the client.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Finally, the &lt;code&gt;sub&lt;/code&gt; claim is used to lookup the local client associated with this external identifier. When configuring
a client in Keycloak it will have a local client id, as well as a reference to the external client id.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once the client has obtained the token it can now send the token in the &lt;code&gt;client_assertion&lt;/code&gt; parameter
instead of using &lt;code&gt;client_id&lt;/code&gt; and &lt;code&gt;client_secret&lt;/code&gt; parameters.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When Keycloak receives the token it verifies the signature using the registered identity providers
public keys and looks-up the associated client.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_openid_connect&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_openid_connect&quot;&gt;&lt;/a&gt;OpenID Connect&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Leverage any identity provider supporting OpenID Connect for federated client authentication
as long as it is able to issue signed json-web tokens with the following claims:&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;iss&lt;/code&gt; - Must uniquely identify the external identity provider.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;aud&lt;/code&gt; - Must be set to the Keycloak Realm issuer URL; alternatively there&amp;#8217;s an option to allow the ID of the client in the external identity provider.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sub&lt;/code&gt; - Must uniquely identify the client in the external identity provider.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;exp&lt;/code&gt; - Must contain a future time when the token expires.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;jti&lt;/code&gt; - May contain a unique identifier for the token, which is used by Keycloak to prevent re-use of tokens.&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 on how to configure an OpenID Connect identity provider check out the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_identity_broker_oidc&quot;&gt;Keycloak Documentation&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;_spiffe&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_spiffe&quot;&gt;&lt;/a&gt;SPIFFE&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Leverage any identity provider supporting SPIFFE APIs for federated client authentication
as long as it can issue SPIFFE JWT SVIDs and provides a SPIFFE Bundle Endpoint accessible by
Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One important distinction between SPIFFE and other providers is the lack of an &lt;code&gt;iss&lt;/code&gt; claim. Instead the &lt;code&gt;sub&lt;/code&gt; claim
contains both the SPIFFE Trust Domain as well as the client ID. An example &lt;code&gt;sub&lt;/code&gt; claim is
&lt;code&gt;spiffe://my-trust-domain/my-client&lt;/code&gt; where the first part is the trust-domain (&lt;code&gt;spiffe://my-trust-domain&lt;/code&gt;) that is
equivalent to the standard &lt;code&gt;iss&lt;/code&gt; claim.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to try out using Keycloak and SPIFFE/SPIRE together check out the demo available in the &lt;a href=&quot;https://github.com/keycloak/keycloak-playground/tree/main/federated-client-authentication/spiffe&quot;&gt;Keycloak Playground&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on how to configure a SPIFFE identity provider check out the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_identity_broker_spiffe&quot;&gt;Keycloak Documentation&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;_kubernetes_service_accounts&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_kubernetes_service_accounts&quot;&gt;&lt;/a&gt;Kubernetes Service Accounts&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For workloads running on Kubernetes, Kubernetes Service Accounts can be leveraged for federated
client authentication. Applications can retrieve service account tokens through the TokenRequest API
or Token Volume Projection.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One requirement for using Kubernetes Service Accounts is Keycloak needs to be able to access
the &lt;code&gt;&amp;lt;ISSUER URL&amp;gt;/.well-known/openid-configuration&lt;/code&gt; endpoint to retrieve the public keys used to sign the
service account tokens. By default, this endpoint requires authentication. If Keycloak is running
in the same Kubernetes cluster as the client, Keycloak leverages its own Kubernetes Service Account to authenticate to this endpoint. When Keycloak is running externally the Kubernetes cluster must
be configured with an &lt;code&gt;Issuer URL&lt;/code&gt; accessible by Keycloak, and Keycloak needs to be able to
reach the &lt;code&gt;.well-known/openid-configuration&lt;/code&gt; endpoint without requiring authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When clients retrieve service account tokens they must request the Keycloak Realm Issuer URL as
the audience, and additionally request short-lived tokens.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to try out using Keycloak and Kubernetes check out the demo available in the &lt;a href=&quot;https://github.com/keycloak/keycloak-playground/tree/main/federated-client-authentication/kubernetes&quot;&gt;Keycloak Playground&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on how to configure a Kubernetes identity provider check out the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_identity_broker_kubernetes&quot;&gt;Keycloak Documentation&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;_how_secure_is_federated_client_authentication&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_secure_is_federated_client_authentication&quot;&gt;&lt;/a&gt;How secure is federated client authentication?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is an implicit trust relationship with the external identity provider. If the external
identity provider is compromised attackers can potentially generate tokens to authenticate
as any clients in Keycloak leveraging this provider for authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Tokens used as client assertions can potentially be leaked or intercepted. As tokens are
short-lived the risk is reduced. For additional protection replay prevention can be leverage. However, bear in mind
there is a performance penalty replay prevention. For every request the client sends to Keycloak it must then retrieve
a new token from the external provider, additionally Keycloak has to keep track of previously used tokens until they
expire.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Neither SPIFFE or Kubernetes Service Accounts supports reuse protection. Both SPIFFE and Kubernetes limit how often a
client can retrieve new tokens. In both cases this is configurable, but make sure token lifespans are configured to be
shorted lived and not long lived. Recommendations here would be a maximum 10 minutes lifespan, which brings a good
balance between security and performance.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;End-to-end encryption between the client, the external identity provider, and Keycloak provides a
good level of protection against tokens being leaked. Combined with short-lived tokens and
preventing clients from sharing or storing tokens insecurely, a high level of security can be
achieved.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In general federated client authentication eliminates the need for clients to manage secrets to authenticate with Keycloak, are short-lived, and cryptographically signed, which provides a high
level of security compared to client secrets.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Compared to self-signed client assertions, where a client signs client assertions using its own
private keys it depends on the environment which is more secure. Federated client authentication
introduces a third-party into the mix as well as additional points where tokens can be leaked. On the
other hand how frequently are private keys for clients rotated and how securely are they stored?&lt;/p&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;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_next&quot;&gt;&lt;/a&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;We would love feedback on the preview federated client authentication feature, both the good
and the bad. Let us know if you&amp;#8217;ve successfully tried the feature out and with what environment,
or if you failed to get it working let us know. We&amp;#8217;ll try to help and improve the feature for the future.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To provide feedback go to the &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/45705&quot;&gt;GitHub Discussion&lt;/a&gt; or &lt;a href=&quot;https://github.com/keycloak/keycloak/issues&quot;&gt;report a bug&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Federated client authentication with OpenID Connect and Kubernetes Service Accounts is planned
to be fully supported in Keycloak 26.6. However, SPIFFE will remain preview until the
&lt;a href=&quot;https://datatracker.ietf.org/doc/draft-schwenkschuster-oauth-spiffe-client-auth/&quot;&gt;OAuth SPIFFE Client Authentication&lt;/a&gt; is finalized.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/federated-client-authentication</guid>
        <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Meet Keycloak at FOSDEM on Jan 30/Feb 01!</title>
        <link>https://www.keycloak.org/2026/01/preparing-fosdem-2026</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;&lt;a href=&quot;#talks&quot;&gt;Several Keycloak related talks happen at FOSDEM&lt;/a&gt; in Brussels on January 31st and February 1st, and &lt;a href=&quot;#meet&quot;&gt;meet us and help out&lt;/a&gt; at the stand.
To get the latest updates, &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/44308&quot;&gt;subscribe to our discussion on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;meet&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#meet&quot;&gt;&lt;/a&gt;Meet the community at the Sovereign Identity stand&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;On Saturday, January 31st 2026, the Keycloak project will co-host the &amp;#8220;Sovereign Identity for server, desktop, and a cloud&amp;#8221; stand together with the FreeIPA, SSSD and OpenWallet project. We&amp;#8217;ll be open from 1000 in the morning until around 1800 in the early evening.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be at &lt;a href=&quot;https://nav.fosdem.org/l/k1-c-02_sat/&quot;&gt;K building on level 1 in group C&lt;/a&gt;. Visit this stand to interact with the teams of several popular solutions in this space.&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&quot;&gt;Keycloak&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Extensible self-hosted Single-Sign-On for your applications. Supporting Passkeys, OpenID Connect, OAuth 2.0, SAML 2.0 and Kerberos. Integrating with other Identity Providers through brokerage via SAML or OpenID Connect, or via LDAP.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://www.freeipa.org&quot;&gt;FreeIPA&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Manage Linux users and client hosts in your realm from one central location, define Kerberos authentication and authorization policies for your identities, create mutual trust with other Identity Management systems. Issue certificates to your users and services.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://sssd.io/&quot;&gt;SSSD&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Open Source Client for Enterprise Identity Management. Enroll your Linux machine into an Active Directory, FreeIPA or LDAP domain. Use remote identities, policies and various authentication and authorization mechanisms to access your computer.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://openwallet.foundation/&quot;&gt;OpenWallet Foundation&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;We drive global adoption of open, secure and interoperable digital wallet solutions. We set best practices for digital wallet technology through collaboration on standards-based OSS components that issuers, wallet providers and relying parties can use to bootstrap implementations that preserve user choice, security and privacy.&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;talks&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#talks&quot;&gt;&lt;/a&gt;Talks about Keycloak and related topics&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. Submit by November 30th to be part it!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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/2026/schedule/track/identity-and-access-management/&quot;&gt;Identity and Access Management Devroom&lt;/a&gt; (Sunday)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;This is all about identity, integration of identities and the various open source technologies available for that.
There are two Keycloak-related talks on the schedule:&lt;/p&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&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/2026/schedule/event/ATMQVL-intro-to-shared-signals-framework/&quot;&gt;An Introduction to the OpenID Shared Signals Framework&lt;/a&gt; by Thomas Darimont (Sunday, 09:05)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;As security threats become more sophisticated, the need for efficient, real-time communication between identity providers and relying parties is essential. The Shared Signals Framework (SSF) and related specifications such as CAEP and RISC address this challenge by providing a standardised way for systems to exchange security related signals, such as session revocations, credential breaches, and other identity-related incidents, in a secure and scalable manner. This talk introduces the Shared Signals Framework and explains how it enhances security and operational efficiency in modern identity ecosystems. We&amp;#8217;ll explore how SSF can be supported in Keycloak to enable real-time event-driven communication between providers and relying parties. Attendees will learn how Keycloak can help to detect and mitigate threats, and improve overall system security with SSF.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2026/schedule/event/ZRDQYN-keep-applications-secure-by-evolving-oidc-oauth2/&quot;&gt;Keeping applications secure by evolving OAuth 2.0 and OpenID Connect&lt;/a&gt; by Alexander Schwartz (Sunday, 10:05)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;OAuth 2.0 and OpenID Connect have been around for years to secure web and mobile applications alike with growing popularity.&lt;/p&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To keep your applications and their data secure, these standards are evolving to align with security best practices.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Join this talk to see how the FAPI 2.0 Security Profile and the upcoming OAuth 2.1 standard promotes and enforces best practices, how to adapt your applications, and how Keycloak as an Open Source IAM can help you. Expect a demo and examples for some of the enhancements.&lt;/p&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2026/schedule/track/security/&quot;&gt;Security Devroom&lt;/a&gt; (Saturday)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;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/2026/schedule/track/open-source-eu-policy/&quot;&gt;Open Source &amp;amp; EU Policy Devroom&lt;/a&gt; (Sunday)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Connecting developers and EU lawmakers from the European institutions to discuss the impact of past, ongoing, and upcoming EU laws affecting the Open Source community. The day will feature interventions from lawmakers from the European Commission and Parliament, as well as from the community, and will include presentations, workshops, short talks and Q&amp;amp;As.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;a href=&quot;https://fosdem.org/2026/schedule/track/building-europes-public-digital-infrastructure/&quot;&gt;Building Europe’s Public Digital Infrastructure&lt;/a&gt; (Saturday)&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;The Building Europe’s Public Digital Infrastructure devroom is for
discussing topics and issues related to full-stack digital sovereignty,
from secure and interoperable digital workspaces to sovereign cloud
infrastructure, including standards, technologies, and best practices
for designing, deploying, and operating independent and resilient
digital ecosystems for the public sector.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&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 in 2025 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;_stay_in_touch_with_our_latest_activities&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_stay_in_touch_with_our_latest_activities&quot;&gt;&lt;/a&gt;Stay in touch with our latest activities&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&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 class=&quot;paragraph&quot;&gt;
&lt;p&gt;To get the latest updates, &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/44308&quot;&gt;subscribe to our discussion on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/preparing-fosdem-2026</guid>
        <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>JWT Authorization Grant and Identity Chaining in Keycloak 26.5</title>
        <link>https://www.keycloak.org/2026/01/jwt-authorization-grant</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Modern applications and AI agents increasingly operate across distributed trust domains, where each domain is protected by its own OAuth 2.0 Authorization Server. A single request may also traverse multiple resource servers to complete a task.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This raises an important challenge: every protected resource must understand &lt;strong&gt;who initiated the request&lt;/strong&gt;, which &lt;strong&gt;authorization&lt;/strong&gt; was granted, and optionally which other resources were accessed before making an authorization decision. Preserving this information across domains is critical.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak 26.5&lt;/strong&gt; introduces &lt;strong&gt;preview&lt;/strong&gt; support for the new feature &lt;strong&gt;JWT Authorization Grant&lt;/strong&gt;, implementing &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7523&quot;&gt;RFC 7523&lt;/a&gt;. This feature allows a client to present a signed JWT from an external issuer and obtain a Keycloak access token, providing a &lt;strong&gt;standard and secure way to authorize requests based on external assertions&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, exchanging a token alone does not fully solve the problem of propagating identity and authorization context across multiple trust domains.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The IETF draft &lt;strong&gt;OAuth Identity and Authorization Chaining Across Domains&lt;/strong&gt; defines a standardized flow that combines &lt;strong&gt;JWT Authorization Grant (RFC 7523)&lt;/strong&gt; with &lt;strong&gt;OAuth 2.0 Token Exchange (RFC 8693)&lt;/strong&gt;, &lt;strong&gt;which Keycloak already supports&lt;/strong&gt;, to preserve the original user’s identity, claims, and authorization throughout the chain.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_jwt_authorization_grant&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_jwt_authorization_grant&quot;&gt;&lt;/a&gt;JWT Authorization Grant&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The JWT Authorization Grant feature allows a client to present a signed JWT assertion to the token endpoint and obtain an access token without an interactive authorization step. To initiate this flow, the client sends a request to the &lt;strong&gt;token endpoint&lt;/strong&gt; with the &lt;code&gt;grant_type&lt;/code&gt; set to &lt;strong&gt;&lt;code&gt;urn:ietf:params:oauth:grant-type:jwt-bearer&lt;/code&gt;&lt;/strong&gt; and the external token passed in the &lt;strong&gt;&lt;code&gt;assertion&lt;/code&gt;&lt;/strong&gt; parameter.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It provides a standard and secure alternative to the preview feature External-to-Internal Token Exchange V1 which will be deprecated.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Trust relationships in Keycloak are defined through Identity Providers. The JWT Authorization Grant can be enabled and configured in a dedicated section of the existing OpenID Connect v1.0 Identity Provider, or via a new dedicated JWT Authorization Grant Identity Provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A confidential client can request a JWT Authorization Grant by enabling the dedicated option in the client settings and selecting the allowed identity providers.&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
The JWT Authorization Grant is a preview feature. Full configuration details are available in a dedicated guide:
&lt;a href=&quot;https://www.keycloak.org/securing-apps/jwt-authorization-grant&quot;&gt;JWT Authorization Grant&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_oauth_identity_and_authorization_chaining_across_domains&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_oauth_identity_and_authorization_chaining_across_domains&quot;&gt;&lt;/a&gt;OAuth Identity and Authorization Chaining Across Domains&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Although the JWT Authorization Grant allows a client to obtain a Keycloak access token based on an external JWT, it does not by itself solve the broader problem of propagating identity and authorization context across multiple trust domains.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To propagate identity across multiple trust domains, the &lt;a href=&quot;https://www.keycloak.org/securing-apps/jwt-authorization-grant&quot;&gt;&lt;strong&gt;JWT Authorization Grant&lt;/strong&gt;&lt;/a&gt; (RFC 7523) is combined with &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_standard-token-exchange&quot;&gt;&lt;strong&gt;Standard Token Exchange&lt;/strong&gt;&lt;/a&gt; (RFC 8693), already supported by Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This integration implements the flow defined in the IETF draft &lt;a href=&quot;https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-chaining&quot;&gt;&lt;strong&gt;OAuth Identity and Authorization Chaining Across Domains&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A typical scenario involves &lt;strong&gt;Domain A&lt;/strong&gt; (an external IdP or Keycloak realm) and &lt;strong&gt;Domain B&lt;/strong&gt; (an internal Keycloak realm). The goal is to allow a client in Domain A to access resources in Domain B while preserving the original user&amp;#8217;s identity.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_1_token_exchange_in_domain_a&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_1_token_exchange_in_domain_a&quot;&gt;&lt;/a&gt;Step 1: Token Exchange in Domain A&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this first step, the client requests a token for Domain B using a Token Exchange request.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The client in Domain A must be configured to allow the target audience, typically by assigning a &lt;strong&gt;Client Scope&lt;/strong&gt; with an &lt;strong&gt;Audience Mapper&lt;/strong&gt; if you are using Keycloak for Domain A. The &lt;code&gt;audience&lt;/code&gt; parameter in the request is then used to &lt;strong&gt;restrict&lt;/strong&gt; the resulting token to that specific target, ensuring it contains the correct &lt;code&gt;aud&lt;/code&gt; claim for Domain B.&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;# Request to Domain A
POST /realms/domain-a/protocol/openid-connect/token
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&amp;amp;subject_token=$ORIGINAL_ACCESS_TOKEN
&amp;amp;audience=http://localhost:8080/realms/domain-b&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Domain A issues a new JWT access token, which acts as the assertion for Domain B.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_step_2_jwt_authorization_grant_in_domain_b&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_step_2_jwt_authorization_grant_in_domain_b&quot;&gt;&lt;/a&gt;Step 2: JWT Authorization Grant in Domain B&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The client uses this token to authenticate with Domain B using the &lt;strong&gt;JWT Authorization Grant&lt;/strong&gt;.&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;# Request to Domain B
POST /realms/domain-b/protocol/openid-connect/token
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
&amp;amp;assertion=$TOKEN_FROM_STEP_1&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Domain B validates the token and issues a local access token. Identity and authorization context are now securely propagated from Domain A to Domain B.&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
This flow can be fully configured with Keycloak. For more configuration details check the dedicated guide:
&lt;a href=&quot;https://www.keycloak.org/nightly/securing-apps/oauth-identity-authorization-chaining-across-domains&quot;&gt;OAuth Identity and Authorization Chaining Across Domains&lt;/a&gt;.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_why_this_new_feature&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_why_this_new_feature&quot;&gt;&lt;/a&gt;Why this new feature?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The JWT Authorization Grant solves an important problem in cross-domain OAuth flows. It lets an Authorization Server issue tokens based on a &lt;strong&gt;signed JWT assertion&lt;/strong&gt;, making authorization decisions explicit and verifiable. Combined with Identity Chaining, it allows each domain to check and extend authorization context in a standards-based way.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;JWT Authorization Grant brings several advantages:&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;Preserves user identity&lt;/strong&gt;. Cross-domain access often relies on generic service accounts to call APIs. With a signed JWT assertion, a service can request tokens on behalf of a user, keeping identity and intent clear when moving across domains.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Standards-based cross-domain support&lt;/strong&gt;. The JWT Authorization Grant with the support of the RFC 7523 is part of ongoing OAuth work on cross-domain identity and authorization chaining, including
&lt;a href=&quot;https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-chaining&quot;&gt;OAuth Identity and Authorization Chaining Across Domains&lt;/a&gt; and
&lt;a href=&quot;https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant&quot;&gt;Identity Assertion Authorization Grant&lt;/a&gt;.
This allows workflows that are traceable, constrained, and aligned with least-privilege principles, ideal for distributed systems and AI agents.&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;_next_steps&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_next_steps&quot;&gt;&lt;/a&gt;Next Steps&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;Promote JWT Authorization Grant from preview to a fully supported feature in the next Keycloak release&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deprecate Token Exchange version 1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable JWT Authorization Grant for social Identity Providers (e.g., Google)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Monitor and follow the evolution of the Identity Chaining draft to ensure full compliance&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;_try_it_out&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_try_it_out&quot;&gt;&lt;/a&gt;Try It Out&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As the &lt;strong&gt;JWT Authorization Grant&lt;/strong&gt; is currently in &lt;strong&gt;preview&lt;/strong&gt;, your feedback is helpful to help to refine the feature before it reaches full support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We encourage you to test this new feature and share your experience. Feedback and contributions from the community are always welcome.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/jwt-authorization-grant</guid>
        <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Giuseppe Graziano</author>
      </item>
      <item>
        <title>Keycloak 26.5.2 released</title>
        <link>https://www.keycloak.org/2026/01/keycloak-2652-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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44994&quot;&gt;#44994&lt;/a&gt; CVE-2025-67735 - netty-codec-http: Request Smuggling via CRLF Injection &lt;code&gt;dependencies&lt;/code&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/43443&quot;&gt;#43443&lt;/a&gt; Keycloak should warn when ISPN or JGROUPS is running in debug level logging &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45498&quot;&gt;#45498&lt;/a&gt; Ignore OpenAPI artifacts when disabled &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/44785&quot;&gt;#44785&lt;/a&gt; Can not get through SSO login if using a custom attribute with default 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/45015&quot;&gt;#45015&lt;/a&gt; Deadlock in Infinispan virtual threads &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/45250&quot;&gt;#45250&lt;/a&gt; IDToken contains duplicate address claims &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/45333&quot;&gt;#45333&lt;/a&gt; User admin events don&#39;t show role, group mapping, reset password like events &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45396&quot;&gt;#45396&lt;/a&gt; Database Migration fails when updating to 26.5.0 on MS SQL &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/45415&quot;&gt;#45415&lt;/a&gt; cache-remote-host becomes mandatory at build time when using clusterless feature &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/45417&quot;&gt;#45417&lt;/a&gt; Unmanaged Attributes Type (Only administrators can view) allows admin API to set Unmanaged 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/45474&quot;&gt;#45474&lt;/a&gt; Admin REST API document is not up to date &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/45526&quot;&gt;#45526&lt;/a&gt; Regression (26.5.1): Organizations domain resolution fails on MariaDB/MySQL due to ORG/ORG_DOMAIN collation 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/45533&quot;&gt;#45533&lt;/a&gt; Keycloak should not allow matrix parameters in URLs as we don&#39;t use them &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/45570&quot;&gt;#45570&lt;/a&gt; CVE-2025-66560 - io.quarkus/quarkus-rest: Quarkus REST Worker Thread Exhaustion Vulnerability &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45584&quot;&gt;#45584&lt;/a&gt; Keycloak supported specs should list DPoP as supported &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/45590&quot;&gt;#45590&lt;/a&gt; OIDCIdentityProviderConfig issuer configuration &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/45597&quot;&gt;#45597&lt;/a&gt; Possible mismatch of charset/collation between columns on mysql/mariadb &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/45651&quot;&gt;#45651&lt;/a&gt; CVE-2025-14559 keycloak-services: Keycloak keycloak-services: Business logic flaw allows unauthorized token issuance for disabled users &lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2026/01/keycloak-2652-released</guid>
        <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>SCIM Support Survey</title>
        <link>https://www.keycloak.org/2026/01/scim-support-survey</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are targeting Keycloak 26.6 to start supporting System for Cross-domain Identity Management (SCIM).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The initial scope have been defined in this &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/13484&quot;&gt;issue&lt;/a&gt;,
but we want to ensure that we are addressing the most important use cases for our community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In order to better understand your needs and use cases around SCIM, we would greatly appreciate your participation
in a brief survey. Your feedback will be invaluable in helping us to prioritize capabilities and ensure we are addressing
the use cases that matter most to you.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can find the survey &lt;a href=&quot;https://forms.gle/gq52TYHTQDyUQnDj8&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/scim-support-survey</guid>
        <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Keycloak Core IAM Team</author>
      </item>
      <item>
        <title>Keycloak's Bug Bounty Program on YesWeHack</title>
        <link>https://www.keycloak.org/2026/01/bugbounty-yes-we-hack</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a Cloud Native Computing Foundation (CNCF) project, Keycloak is the open-source IAM backbone for countless applications.
This is your chance to secure a core piece of the cloud-native ecosystem in this public bug bounty program!.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are proud to be part of this EU sponsored initiative.
Projects like ours fuel a lot of public and private infrastructure in the EU and worldwide.
Thank you for choosing our project for this initiative to help us to improve and provide secure services to our users!&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
We received a lot of good submissions to the program. While we sort out the submissions, the program is paused.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/bugbounty-yes-we-hack</guid>
        <pubDate>Fri, 16 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Setting Up Keycloak as a Credential Issuer with OpenID4VCI</title>
        <link>https://www.keycloak.org/2026/01/issue-credentials-over-openid4vci</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before configuring Keycloak, it is helpful to understand its role in decentralized identity ecosystems. As a verifiable credential issuer, Keycloak can issue digitally signed credentials using the &lt;a href=&quot;https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html&quot;&gt;OpenID for Verifiable Credential Issuance&lt;/a&gt; (OpenID4VCI) protocol, allowing relying parties (also known as verifiers) to independently verify them without contacting the issuer.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak implements OpenID4VCI, enabling the issuance of verifiable credentials (VCs) as digital proofs of identity or attributes. Configuring this functionality requires consistent setup across the realm, clients, and issuable credentials (client scopes).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For example, consider the following scenario: The &lt;a href=&quot;https://github.com/keycloak/keycloak-oauth-sig&quot;&gt;Keycloak OAuth SIG team&lt;/a&gt; wants to issue verifiable membership credentials to its members, including their name and email, which can later be presented at onsite or virtual events as proof of active membership.&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
At the time of writing this blog, Keycloak&amp;#8217;s support for OpenID4VCI is still experimental. This guide uses the &lt;a href=&quot;https://www.keycloak.org/downloads.html&quot;&gt;&lt;strong&gt;Keycloak 26.5.0 release&lt;/strong&gt;&lt;/a&gt;. The feature is under active development and is expected to be promoted to preview in the future.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_introduction_to_openid4vci_openid4vp&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_introduction_to_openid4vci_openid4vp&quot;&gt;&lt;/a&gt;Introduction to OpenID4VCI &amp;amp; OpenID4VP&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID4VCI is a protocol developed by the OpenID Foundation that extends the OAuth 2.0 framework to support the secure and interoperable issuance of Verifiable Credentials (VCs). VCs are digital, tamper-evident representations of information, such as identity attributes or qualifications, which can be cryptographically verified without needing to contact the issuer at verification time.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While this guide primarily focuses on &lt;strong&gt;OpenID for Verifiable Credential Issuance (OpenID4VCI)&lt;/strong&gt;, the overall trust architecture also includes &lt;strong&gt;OpenID for Verifiable Presentations (OpenID4VP)&lt;/strong&gt;, which governs how holders present credentials to verifiers. Together, these protocols enable decentralized identity ecosystems in which users (holders) retain control of their data and can share it selectively with verifiers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/triangle-of-trust.png&quot; alt=&quot;Triangle of trust or Issuer-Holder-Verifier model&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 1. Triangle of trust or Issuer-Holder-Verifier model&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this model:&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;Issuer ↔ Holder&lt;/strong&gt; interactions are governed by &lt;strong&gt;OpenID4VCI&lt;/strong&gt;, covering credential issuance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Holder ↔ Verifier&lt;/strong&gt; interactions are governed by &lt;strong&gt;OpenID4VP&lt;/strong&gt;, covering credential presentation and verification.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;From a privacy perspective, this separation of concerns is fundamental. By decoupling &lt;strong&gt;credential issuance&lt;/strong&gt; from &lt;strong&gt;credential presentation&lt;/strong&gt;, issuers are unable to track where, when, or how a holder uses their credentials. This architecture prevents correlation and profiling, and ensures that users remain in control of how their data is shared.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_why_use_openid4vci&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_why_use_openid4vci&quot;&gt;&lt;/a&gt;Why Use OpenID4VCI&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The primary motivations for adopting OpenID4VCI include:&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;Interoperability&lt;/strong&gt;: Builds on established OpenID Connect (OIDC) standards, simplifying integration with existing identity providers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Privacy and Security&lt;/strong&gt;: Supports selective disclosure (e.g., proving age without revealing birthdate) and offline verification.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Compliance&lt;/strong&gt;: Aligned with regulations like eIDAS 2.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Efficiency&lt;/strong&gt;: Leverages OIDC mechanisms to streamline issuance while maintaining trust in the &quot;triangle of trust&quot; model (Issuer-Holder-Verifier).&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;_verifiable_credential_formats&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_verifiable_credential_formats&quot;&gt;&lt;/a&gt;Verifiable Credential Formats&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID4VCI supports multiple credential formats, which define how verifiable credentials are encoded and issued.&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.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-13.html&quot;&gt;SD-JWT VC&lt;/a&gt; – Selective Disclosure JSON Web Token Verifiable Credential&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://identity.foundation/jwt-vc-presentation-profile/&quot;&gt;JWT VC&lt;/a&gt; – JSON Web Token Verifiable Credential&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.iso.org/standard/69084.html&quot;&gt;mDL/mdoc&lt;/a&gt; – Mobile driver’s license / mobile document format&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These formats allow issuers to provide portable, verifiable digital proofs that support selective disclosure and offline verification in decentralized identity ecosystems.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Keycloak currently supports both SD-JWT VC and JWT VC for issuance&lt;/strong&gt;. mDL/mdoc, which is part of the OpenID4VCI specification, is expected to be supported in the future.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_concrete_use_cases_enabled_by_openid4vci&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_concrete_use_cases_enabled_by_openid4vci&quot;&gt;&lt;/a&gt;Concrete Use-Cases Enabled by OpenID4VCI&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Verifiable credentials open a variety of real-world applications. Examples include:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Governments or non-government organisations issuing digital identity cards or driver’s licenses that citizens can present when booking hotels, opening bank accounts, or accessing public services, while revealing only the information necessary for the transaction (e.g., age or residency) without exposing full personal details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;City councils issuing verifiable birth certificates that universities and hospitals can validate without a central lookup.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Universities issuing digital diplomas that employers can instantly verify for authenticity.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Companies issuing employee badges as verifiable credentials for office access or remote authentication.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Event organizers issuing verifiable tickets that can be validated offline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Professional associations issuing membership credentials such as in our OAuth SIG example for verifying access to gated resources or conference venues.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Digital movie or event tickets that are tamper-evident and can be verified offline.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;These examples illustrate the variety of situations where verifiable credentials remove the need for direct communication between verifier and issuer while preserving trust.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_key_flows_in_openid4vci&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_key_flows_in_openid4vci&quot;&gt;&lt;/a&gt;Key Flows in OpenID4VCI&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID4VCI defines two primary flows for credential issuance: the &lt;strong&gt;Authorization Code Flow&lt;/strong&gt; and the &lt;strong&gt;Pre-Authorized Code Flow&lt;/strong&gt;. These flows determine how a wallet (holder’s application) obtains an access token to request a VC from the issuer.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_authorization_code_flow&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_authorization_code_flow&quot;&gt;&lt;/a&gt;Authorization Code Flow&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Authorization Code Flow is &lt;strong&gt;interactive&lt;/strong&gt; and requires the holder to authenticate and consent at the issuer’s authorization endpoint. It is ideal for scenarios where explicit user approval is required, or additional claims must be collected.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&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;The &lt;strong&gt;Wallet&lt;/strong&gt; sends an Authorization Request to the &lt;strong&gt;Issuer’s Authorization Endpoint&lt;/strong&gt;, requesting credentials.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; authenticates the &lt;strong&gt;User&lt;/strong&gt; and requests consent for the issuance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;User&lt;/strong&gt; provides credentials and grants consent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; returns an &lt;strong&gt;Authorization Code&lt;/strong&gt; to the Wallet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Wallet&lt;/strong&gt; exchanges the code at the &lt;strong&gt;Issuer Token Endpoint&lt;/strong&gt; for an &lt;strong&gt;Access Token&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; returns the &lt;strong&gt;Access Token&lt;/strong&gt; to the Wallet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Wallet&lt;/strong&gt; requests the &lt;strong&gt;Verifiable Credential&lt;/strong&gt; from the &lt;strong&gt;Issuer Credential Endpoint&lt;/strong&gt; using the Access Token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; returns the &lt;strong&gt;VC&lt;/strong&gt; to the Wallet.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/authorization-code-flow.png&quot; alt=&quot;Credential issuance via Authorization Code Flow&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 2. Credential issuance via Authorization Code Flow&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_pre_authorized_code_flow&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_pre_authorized_code_flow&quot;&gt;&lt;/a&gt;Pre-Authorized Code Flow&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Pre-Authorized Code Flow is &lt;strong&gt;non-interactive&lt;/strong&gt;. The issuer pre-authenticates and authorizes the user, providing a &lt;strong&gt;pre-authorized code&lt;/strong&gt; (often via QR code). It is faster and suitable for pre-approved credential issuance.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&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;The &lt;strong&gt;Issuer&lt;/strong&gt; provides a &lt;strong&gt;Pre-Authorized Code&lt;/strong&gt; to the &lt;strong&gt;Wallet&lt;/strong&gt; (e.g., via QR code or link).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Wallet&lt;/strong&gt; exchanges the code at the &lt;strong&gt;Issuer Token Endpoint&lt;/strong&gt; for an &lt;strong&gt;Access Token&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; returns the &lt;strong&gt;Access Token&lt;/strong&gt; to the Wallet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Wallet&lt;/strong&gt; requests the &lt;strong&gt;Verifiable Credential&lt;/strong&gt; from the &lt;strong&gt;Issuer Credential Endpoint&lt;/strong&gt; using the Access Token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Issuer&lt;/strong&gt; returns the &lt;strong&gt;VC&lt;/strong&gt; to the Wallet.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/pre-authorized-code-flow.png&quot; alt=&quot;Credential issuance via Pre-Authorized Code Flow&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 3. Credential issuance via Pre-Authorized Code Flow&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now that we have covered the technical flows, the rest of this guide walks through configuring Keycloak to issue verifiable credentials using the &lt;strong&gt;Pre-Authorized Code Flow&lt;/strong&gt;, including realm, client scope, and client-level setup.&lt;/p&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;_configuring_keycloak_for_openid4vci&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_configuring_keycloak_for_openid4vci&quot;&gt;&lt;/a&gt;Configuring Keycloak for OpenID4VCI&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID4VCI in Keycloak is offered via the feature flag &lt;code&gt;oid4vc-vci&lt;/code&gt;, which consequently needs to be enabled at startup.&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;--features=oid4vc-vci&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;That said, we now assume that you have a running Keycloak instance with the &lt;code&gt;oid4vc-vci&lt;/code&gt; feature flag enabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Beyond enabling the feature flag, the following configuration steps need to be taken consistently, in accordance with your use case:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Configure OpenID4VCI at the realm level&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure an issuable verifiable credential (as a dedicated client scope)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable and configure OpenID4VCI at the client level&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Because some configurations are not yet supported via the Keycloak Admin Console, we may often use the Admin REST API to communicate required configurations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuring_openid4vci_at_the_realm_level&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_configuring_openid4vci_at_the_realm_level&quot;&gt;&lt;/a&gt;Configuring OpenID4VCI at the realm level&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s assume you have already created a realm named &lt;code&gt;oauth-sig-realm&lt;/code&gt; to represent the OAuth SIG group, and that a couple of users have also been created in this realm, each with a password assigned, to represent members of the group.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In addition, any user who is intended to create credential offers must be granted the built-in &lt;code&gt;credential-offer-create&lt;/code&gt; role. This role is provided by the OpenID4VCI extension and does not need to be created manually. Assigning it ensures that only authorized users can generate credential offers, maintaining the security of the issuance process.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-realm-and-users.png&quot; alt=&quot;Screenshot: Realm and Users&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 4. Screenshot: Realm and Users&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The behavior of OpenID4VCI across the entire realm can be modulated via realm attributes.
On the Admin Console, find the &lt;strong&gt;OID4VCI Attributes&lt;/strong&gt; section under the &lt;strong&gt;Realm Settings &amp;gt; Tokens&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-realm-config-oid4vci-attributes.png&quot; alt=&quot;Screenshot: OID4VCI Attributes&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 5. Screenshot: OID4VCI Attributes&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Sensible defaults apply out of the box, but for the sake of this demo, we would want, for instance, to increase the value of &lt;strong&gt;Pre-Authorized Code Lifespan&lt;/strong&gt; to 3 minutes so that the issuance flow expires less quickly.
To learn more about the &lt;strong&gt;Nonce Lifetime&lt;/strong&gt; and other realm attributes for OpenID4VCI, please refer to the main &lt;a href=&quot;https://www.keycloak.org/docs/26.5.0/server_admin/index.html#_oid4vci&quot;&gt;Keycloak documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Lastly, because EC cryptography is highly encouraged in the OpenID4VC ecosystem, we also invite you to add a &lt;strong&gt;P-256 Elliptic Curve key pair&lt;/strong&gt; to the realm&amp;#8217;s set of keys under &lt;strong&gt;Realm Settings &amp;gt; Keys &amp;gt; Providers&lt;/strong&gt;.
This will later enable configuring the signing of issued VCs with algorithm &lt;code&gt;ES256&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-realm-ecdsa-generated-provider.png&quot; alt=&quot;Screenshot: Adding ECDSA Key Provider&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 6. Screenshot: Adding ECDSA Key Provider&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuring_an_issuable_verifiable_credential_as_a_dedicated_client_scope&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_configuring_an_issuable_verifiable_credential_as_a_dedicated_client_scope&quot;&gt;&lt;/a&gt;Configuring an issuable verifiable credential (as a dedicated client scope)&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Different credential types can be configured for issuance depending on what data the credential should embed, what format it should have, or other criteria.
Each credential type is configured as a dedicated client scope of protocol type &quot;OpenID for Verifiable Credentials&quot;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will configure our membership credential to be issued as an SD-JWT credential carrying a user&amp;#8217;s first name, last name, and email.
Each claim to be added to the credential requires a corresponding protocol mapper from the User Model to the credential.
Other fields such as the time of issuance or a unique identifier for the credential are supported via other types of protocol mappers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Since we will be using the Admin REST API to configure the client scope, we first need to obtain a valid Admin Token from the &lt;code&gt;master&lt;/code&gt; realm to authorize our requests.&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-sh&quot; data-lang=&quot;sh&quot;&gt;ADMIN_TOKEN=$(curl -s -X POST &quot;http://&amp;lt;keycloak.instance&amp;gt;/realms/master/protocol/openid-connect/token&quot; \
  -H &quot;Content-Type: application/x-www-form-urlencoded&quot; \
  -d &quot;username=&amp;lt;admin-username&amp;gt;&quot; \
  -d &quot;password=&amp;lt;admin-password&amp;gt;&quot; \
  -d &quot;grant_type=password&quot; \
  -d &quot;client_id=admin-cli&quot; | jq -r &#39;.access_token&#39; )
echo &quot;Admin Token obtained: $ADMIN_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now, let&amp;#8217;s proceed with adding the membership credential type as a dedicated client scope using the Admin REST API.&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-sh&quot; data-lang=&quot;sh&quot;&gt;curl -X POST &quot;http://&amp;lt;keycloak.instance&amp;gt;/admin/realms/oauth-sig-realm/client-scopes&quot; \
  -H &quot;Content-Type: application/json&quot; \
  -H &quot;Authorization: Bearer $ADMIN_TOKEN&quot; \
  -d &#39;{
    &quot;name&quot;: &quot;membership-credential&quot;,
    &quot;protocol&quot;: &quot;oid4vc&quot;,
    &quot;attributes&quot;: {
      &quot;include.in.token.scope&quot;: &quot;true&quot;,
      &quot;vc.format&quot;: &quot;dc+sd-jwt&quot;,
      &quot;vc.verifiable_credential_type&quot;: &quot;https://credentials.example.com/oauth-sig-membership&quot;,
      &quot;vc.credential_signing_alg&quot;: &quot;ES256&quot;,
      &quot;vc.display&quot;: &quot;[{\&quot;name\&quot;: \&quot;OAuth SIG Membership\&quot;, \&quot;locale\&quot;:\&quot;en\&quot;}]&quot;,
      &quot;vc.credential_build_config.token_jws_type&quot;: &quot;dc+sd-jwt&quot;
    },
    &quot;protocolMappers&quot;: [
      {
        &quot;name&quot;: &quot;given_name-mapper&quot;,
        &quot;protocol&quot;: &quot;oid4vc&quot;,
        &quot;protocolMapper&quot;: &quot;oid4vc-user-attribute-mapper&quot;,
        &quot;config&quot;: {
          &quot;claim.name&quot;: &quot;given_name&quot;,
          &quot;userAttribute&quot;: &quot;firstName&quot;,
          &quot;vc.display&quot;: &quot;[{\&quot;name\&quot;:\&quot;Given Name\&quot;,\&quot;locale\&quot;:\&quot;en\&quot;}]&quot;
        }
      },
      {
        &quot;name&quot;: &quot;family_name-mapper&quot;,
        &quot;protocol&quot;: &quot;oid4vc&quot;,
        &quot;protocolMapper&quot;: &quot;oid4vc-user-attribute-mapper&quot;,
        &quot;config&quot;: {
          &quot;claim.name&quot;: &quot;family_name&quot;,
          &quot;userAttribute&quot;: &quot;lastName&quot;,
          &quot;vc.display&quot;: &quot;[{\&quot;name\&quot;:\&quot;Family Name\&quot;,\&quot;locale\&quot;:\&quot;en\&quot;}]&quot;
        }
      },
      {
        &quot;name&quot;: &quot;email-mapper&quot;,
        &quot;protocol&quot;: &quot;oid4vc&quot;,
        &quot;protocolMapper&quot;: &quot;oid4vc-user-attribute-mapper&quot;,
        &quot;config&quot;: {
          &quot;claim.name&quot;: &quot;email&quot;,
          &quot;userAttribute&quot;: &quot;email&quot;,
          &quot;vc.display&quot;: &quot;[{\&quot;name\&quot;:\&quot;Email\&quot;,\&quot;locale\&quot;:\&quot;en\&quot;}]&quot;
        }
      },
      {
        &quot;name&quot;: &quot;iat-mapper&quot;,
        &quot;protocol&quot;: &quot;oid4vc&quot;,
        &quot;protocolMapper&quot;: &quot;oid4vc-issued-at-time-claim-mapper&quot;,
        &quot;config&quot;: {
          &quot;claim.name&quot;: &quot;iat&quot;,
          &quot;truncateToTimeUnit&quot;: &quot;HOURS&quot;,
          &quot;valueSource&quot;: &quot;COMPUTE&quot;
        }
      }
    ]
  }&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Commenting on 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;The &lt;code&gt;vc.format&lt;/code&gt; attribute defines the credential format (e.g. &lt;code&gt;dc+sd-jwt&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;vc.verifiable_credential_type&lt;/code&gt; attribute defines the value of the &lt;code&gt;vct&lt;/code&gt; claim inside the credential.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;vc.credential_signing_alg&lt;/code&gt; attribute specifies the cryptographic algorithm used to sign the credential.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All &lt;code&gt;vc.display&lt;/code&gt; entries are intended to be used by a wallet to display intelligible descriptions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To learn more about other used or available configuration attributes, please refer to the main &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/documentation/server_admin/topics/oid4vci/vc-issuer-configuration.adoc#create-client-scopes-with-mappers&quot;&gt;Keycloak documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Verify that the client scope was created successfully by checking the Admin Console under &lt;strong&gt;Client Scopes&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Additionally, check the Credential Issuer Metadata Endpoint by navigating to &lt;strong&gt;Realm Settings&lt;/strong&gt;, toggling the &lt;strong&gt;Verifiable Credentials&lt;/strong&gt; option, and saving the changes. Once done, the endpoint will be listed, allowing you to verify that the newly created credential type appears among the issuable credentials, as shown below.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-realm-verifiable-credentials.png&quot; alt=&quot;Enable Verifiable Credentials in Realm Settings&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 7. Screenshot: Enable Verifiable Credentials in Realm Settings&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The credential type should appear in the metadata 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 class=&quot;highlight&quot;&gt;&lt;code class=&quot;language-json5&quot; data-lang=&quot;json5&quot;&gt;{
  // ...
  &quot;credential_configurations_supported&quot;: {
    &quot;membership-credential&quot;: {
      &quot;id&quot;: &quot;membership-credential&quot;,
      &quot;format&quot;: &quot;dc+sd-jwt&quot;,
      &quot;scope&quot;: &quot;membership-credential&quot;,
      &quot;cryptographic_binding_methods_supported&quot;: [
        &quot;jwk&quot;
      ],
      &quot;credential_signing_alg_values_supported&quot;: [
        &quot;ES256&quot;
      ],
      &quot;vct&quot;: &quot;https://credentials.example.com/oauth-sig-membership&quot;,
      // ...
    }
  }
  // ...
}&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;_enabling_openid4vci_at_the_client_level&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_enabling_openid4vci_at_the_client_level&quot;&gt;&lt;/a&gt;Enabling OpenID4VCI at the client level&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Next, let&amp;#8217;s create a new client in the &lt;code&gt;oauth-sig-realm&lt;/code&gt; realm to represent an application that members of the OAuth SIG will use to request and receive their membership credentials.
We will name this client &lt;code&gt;oauth-sig-client&lt;/code&gt; and configure it as a standard OpenID Connect client.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;During client creation, make sure to check the &lt;strong&gt;Direct Access Grants&lt;/strong&gt; box, as we will use the &lt;strong&gt;Resource Owner Password Credentials&lt;/strong&gt; flow to obtain a user access token in a later step. All other fields are left unchanged.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-client-creation.png&quot; alt=&quot;Screenshot: Client Creation&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 8. Screenshot: Client Creation&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One important point to note is that clients must explicitly enable OpenID4VCI to be able to use it.
Navigate to the &lt;strong&gt;Advanced&lt;/strong&gt; tab of the &lt;code&gt;oauth-sig-client&lt;/code&gt; client and toggle the &lt;strong&gt;Enable OID4VCI&lt;/strong&gt; switch under the &lt;strong&gt;OpenID for Verifiable Credentials&lt;/strong&gt; section.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-client-enable-oid4vci.png&quot; alt=&quot;Screenshot: Enable OID4VCI on Client&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 9. Screenshot: Enable OID4VCI on Client&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Finally, we need to assign the previously created &lt;code&gt;membership-credential&lt;/code&gt; client scope to the &lt;code&gt;oauth-sig-client&lt;/code&gt; client. To do this, navigate to the &lt;strong&gt;Client Scopes&lt;/strong&gt; tab of the &lt;code&gt;oauth-sig-client&lt;/code&gt; client and add &lt;code&gt;membership-credential&lt;/code&gt; as an &lt;strong&gt;Optional Client Scope&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-assign-credential-type-to-client.png&quot; alt=&quot;Assigning membership-credential client scope to the client&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 10. Screenshot: Assigning membership-credential client scope to the client&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;_obtaining_a_user_access_token&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_obtaining_a_user_access_token&quot;&gt;&lt;/a&gt;Obtaining a User Access Token&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Before obtaining the user access token, ensure that the user has the &lt;code&gt;credential-offer-create&lt;/code&gt; role, as only users with this role can create credential offers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the client configured and the user&amp;#8217;s password set, we can now request a &lt;strong&gt;user access token&lt;/strong&gt;. This token will later be used to authorize the credential offer request.&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-sh&quot; data-lang=&quot;sh&quot;&gt;USER_TOKEN=$(curl -s -X POST &quot;http://&amp;lt;keycloak.instance&amp;gt;/realms/oauth-sig-realm/protocol/openid-connect/token&quot; \
  -H &quot;Content-Type: application/x-www-form-urlencoded&quot; \
  -d &quot;username=&amp;lt;user-username&amp;gt;&quot; \
  -d &quot;password=&amp;lt;user-password&amp;gt;&quot; \
  -d &quot;grant_type=password&quot; \
  -d &quot;client_id=oauth-sig-client&quot; | jq -r &#39;.access_token&#39; )
echo &quot;User Access Token obtained: $USER_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now that we have a &lt;strong&gt;user access token&lt;/strong&gt; issued to the user with the &lt;code&gt;credential-offer-create&lt;/code&gt; role, we can use it to request a credential offer from the issuer in the next step.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_retrieving_a_credential_offer_to_start_the_issuance_flow&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_retrieving_a_credential_offer_to_start_the_issuance_flow&quot;&gt;&lt;/a&gt;Retrieving a credential offer to start the issuance flow&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For Pre-Authorized Code flows, OpenID4VCI issuance can be initiated by retrieving a credential offer from Keycloak at the Credential Offer Endpoint. The endpoint requires a valid user access token and the username of the target user for whom the pre-authorized offer will be generated.
In our case, we will be using the same user for both credential offer creation and retrieval.&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-sh&quot; data-lang=&quot;sh&quot;&gt;curl -X GET &quot;http://&amp;lt;keycloak.instance&amp;gt;/realms/oauth-sig-realm/protocol/oid4vc/credential-offer-uri?credential_configuration_id=membership-credential&amp;amp;type=qr-code&amp;amp;username=&amp;lt;username&amp;gt;&quot; \
  -H &quot;Authorization: Bearer $USER_TOKEN&quot; \
  --output credential-offer-qr.png&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
Replace &lt;code&gt;&amp;lt;username&amp;gt;&lt;/code&gt; with the user you created earlier.
The QR code image is saved as &lt;code&gt;credential-offer-qr.png&lt;/code&gt;. Open this file and use your wallet to redeem the credential.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the query parameter &lt;code&gt;type=qr-code&lt;/code&gt;, the endpoint returns a &lt;strong&gt;direct binary representation of the QR code image&lt;/strong&gt;. If omitted, the endpoint returns JSON, which requires extra steps to construct the QR code from the offer data.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/qrcode-generation-overview.png&quot; alt=&quot;QR Code Generation Overview&quot; width=&quot;800&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 11. QR Code Generation Overview&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Upon scanning the QR code with a compatible wallet, a membership credential is issued to the requesting user.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_️_wallet_compatibility_notice&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_️_wallet_compatibility_notice&quot;&gt;&lt;/a&gt;⚠️ Wallet Compatibility Notice&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak implements the &lt;strong&gt;final OpenID4VCI specification&lt;/strong&gt; and includes a limited &lt;strong&gt;Draft-15 compatibility patch&lt;/strong&gt; with partial support.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Tested Draft-15 wallets that work with the compatibility patch:&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: 50%;&quot;&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Wallet&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Compatibility&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;strong&gt;Heidi Wallet&lt;/strong&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;✅ Works via Draft-15 compatibility patch&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;&lt;strong&gt;Valera Wallet&lt;/strong&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;✅ Works via Draft-15 compatibility patch&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;&lt;strong&gt;Lissi Wallet&lt;/strong&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;✅ Works via Draft-15 compatibility patch&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;admonitionblock note&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
Full support requires wallets providers to implement the final OpenID4VCI specification.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;imageblock text-center&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/openid4vci/screenshot-wallet-steps.png&quot; alt=&quot;Screenshot: Lissi Wallet Test&quot; width=&quot;900&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;title&quot;&gt;Figure 12. Screenshot: Lissi Wallet Test&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;_before_you_go&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_before_you_go&quot;&gt;&lt;/a&gt;Before You Go&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this blog post, we have illustrated how to set up Keycloak for issuing verifiable credentials over OpenID4VCI, using a simple scenario of issuing membership credentials to members of the &lt;a href=&quot;https://github.com/keycloak/keycloak-oauth-sig&quot;&gt;Keycloak&amp;#8217;s OAuth SIG group&lt;/a&gt;.
We covered the necessary configuration steps at the realm, client scope, and client levels, and demonstrated how to retrieve a credential offer to initiate the issuance flow.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you are looking into streamlining this configuration process for OpenID4VCI in Keycloak, take a look at our &lt;a href=&quot;https://github.com/keycloak/keycloak-oauth-sig/tree/main/oid4vci-deployment#readme&quot;&gt;OID4VCI Deployment&lt;/a&gt; project, which provides solid examples for both the pre-authorization and authorization code flows.
You may also find the &lt;a href=&quot;https://github.com/keycloak/keycloak-playground/blob/main/fapi-playground/README.md#oid4vci-demo&quot;&gt;Keycloak Playground OID4VCI demo&lt;/a&gt; useful as a hands-on demo.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_feedback_discussion&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_feedback_discussion&quot;&gt;&lt;/a&gt;Feedback &amp;amp; Discussion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’d love to hear your thoughts on this guide! You can provide feedback or ask questions through:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Slack: Join the &lt;a href=&quot;https://slack.cncf.io/&quot;&gt;Cloud Native Computing Foundation (CNCF) Slack&lt;/a&gt; and discuss with us in the channel &lt;a href=&quot;https://cloud-native.slack.com/channels/keycloak-oauth-sig&quot;&gt;#keycloak-oauth-sig&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub: Inspect and participate in recent &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions?discussions_q=is%3Aopen+oid4vci&quot;&gt;OpenID4VCI-related GitHub discussions&lt;/a&gt;.
Review existing &lt;a href=&quot;https://github.com/keycloak/keycloak/issues?q=is%3Aissue%20state%3Aopen%20label%3Aarea%2Foid4vc&quot;&gt;OpenID4VCI-related GitHub issues&lt;/a&gt; and feel free to comment on or upvote them, or create a new issue if you have ideas for enhancements or discover a bug.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Your input will help us to improve the OpenID4VCI experience in Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_important_note_on_openid4vci_development_status&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_important_note_on_openid4vci_development_status&quot;&gt;&lt;/a&gt;Important Note on OpenID4VCI Development Status&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;OpenID4VCI support in Keycloak is still under active development. The instructions and configuration options described in this blog post are based on &lt;strong&gt;Keycloak 26.5.0&lt;/strong&gt; and may change in future Keycloak versions as the feature evolves.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to explore the latest updates to the OID4VCI feature, you can use the latest &lt;a href=&quot;https://www.keycloak.org/nightly/&quot;&gt;Keycloak nightly release&lt;/a&gt;. However, be aware that the instructions in this blog post may not work with that version.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/issue-credentials-over-openid4vci</guid>
        <pubDate>Fri, 16 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Rodrick Awambeng, Forkim Enjeckayang, Ingrid Kamga, Bertrand Ogen</author>
      </item>
      <item>
        <title>Keycloak 26.5.1 released</title>
        <link>https://www.keycloak.org/2026/01/keycloak-2651-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/44863&quot;&gt;#44863&lt;/a&gt; x-robots HTTP header missing for static Keycloak resources, and REST endpoint responses &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45009&quot;&gt;#45009&lt;/a&gt; Performance improvement: Missing indexes on BROKER_LINK table columns &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45182&quot;&gt;#45182&lt;/a&gt; Allow full managing of realms from master realm without global admin role &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/43975&quot;&gt;#43975&lt;/a&gt; Test Framework -&gt; Embedded server -&gt; Maven execution failure: Failed to read script file from: scripts/default-policy.js &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/44371&quot;&gt;#44371&lt;/a&gt; 403 Forbidden when assigning realm-management client roles despite FGAP disabled (regression in 26.4.0+) &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/44417&quot;&gt;#44417&lt;/a&gt; Security issue with Organization feature exposes and fills the account name automatically in user/password form &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/44783&quot;&gt;#44783&lt;/a&gt; Create Realm button is missing when user has create-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/44860&quot;&gt;#44860&lt;/a&gt; Admin UI: slow response time listing second user 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/45003&quot;&gt;#45003&lt;/a&gt; Bug in JWTClientAuthenticator and JWTClientSecretAuthenticator causes NPE &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/45093&quot;&gt;#45093&lt;/a&gt; Enable visibility of Role Mapping tab for users with view-users 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/45107&quot;&gt;#45107&lt;/a&gt; Failed upgrade to 26.4.7 - sql generated for manual database upgrade contains invalid statements &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/45116&quot;&gt;#45116&lt;/a&gt; Realm-level admininistrators can no longer use Admin Console since 26.3.0 (UI fails to render) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45185&quot;&gt;#45185&lt;/a&gt; ExternalLinkTest fails due to missing _adding_context_for_log_messages anchor &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/45226&quot;&gt;#45226&lt;/a&gt; Failure when decrypting SAML Response since 26.5.0 &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/45239&quot;&gt;#45239&lt;/a&gt; Upgrade to 26.5.0 failing due to FK_ORG_INVITATION_ORG constraint &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/45257&quot;&gt;#45257&lt;/a&gt; Creating IdentityProvider with latest java admin-client may fail against Keycloak server 26.4 or older &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/45307&quot;&gt;#45307&lt;/a&gt; UI Bug: WebAuthn passkey list is broken in keycloak v2 theme &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/2026/01/keycloak-2651-released</guid>
        <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.8 released</title>
        <link>https://www.keycloak.org/2026/01/keycloak-client-2608-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/193&quot;&gt;#193&lt;/a&gt; Sync keycloak-client after Keycloak server 26.5.0 release &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/190&quot;&gt;#190&lt;/a&gt; The policy enforcer rejects the request the first time, but after the cache invalidation interval, it allows it. &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/2026/01/keycloak-client-2608-released</guid>
        <pubDate>Fri, 9 Jan 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>New Keycloak Maintainer: Steven Hawkins</title>
        <link>https://www.keycloak.org/2026/01/new-maintainer-steven</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Although &lt;a href=&quot;https://github.com/shawkins&quot;&gt;Steven&lt;/a&gt; has only been on the Keycloak team for a relatively short period of time he&amp;#8217;s managed to get the
&lt;a href=&quot;https://github.com/keycloak/keycloak/graphs/contributors&quot;&gt;#15 place as the top contributor overall&lt;/a&gt;. Now, if you narrow
that to the last two years he&amp;#8217;s in &lt;a href=&quot;https://github.com/keycloak/keycloak/graphs/contributors?from=06%2F01%2F2024&quot;&gt;#3rd
place&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Steven is the go-to guy when it comes to the Operator where his knowledge is above most. He&amp;#8217;s also regularly helping out
the community, whether joining discussions, fixing bugs, or just generally making our distribution better for everyone.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Congratulations to Steven becoming an official Keycloak Maintainer.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2026/01/new-maintainer-steven</guid>
        <pubDate>Tue, 6 Jan 2026 00:00:00 GMT</pubDate>
        
        <author>Stian Thorgersen</author>
      </item>
      <item>
        <title>Keycloak 26.5.0 released</title>
        <link>https://www.keycloak.org/2026/01/keycloak-2650-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;paragraph&quot;&gt;
&lt;p&gt;This release features new capabilities for users and administrators of Keycloak. The highlights of this release are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Workflows to automate administrative tasks and process within a realm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JWT Authorization Grants, our recommended alternative to external to internal token exchange.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Guide for using Keycloak as an authorization server for Model Context Protocol (MCP) servers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authenticating clients with Kubernetes service account tokens to avoid static client secrets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenTelemetry support for metrics and logging, combining all observability information in this popular standard.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on to learn more about each new feature. If you are upgrading from a previous release, &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html&quot;&gt;review also the changes listed in the upgrading guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_security_and_standards&quot;&gt;Security and Standards&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_jwt_authorization_grant_preview&quot;&gt;JWT Authorization Grant (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak 26.5 introduces a new feature called JWT Authorization Grant, which adds support for &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7523&quot;&gt;RFC 7523&lt;/a&gt; to use external signed JWT assertions to request OAuth 2.0 access tokens.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To accept signed JWT assertions, a trust relationship must be established between the external provider and Keycloak. This trust relationship can be configured through an identity provider in a dedicated section of the OpenID Connect v1.0 identity provider, or through the new JWT Authorization Grant identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;JWT Authorization Grant is recommended as an alternative to &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_external-token-to-internal-token-exchange&quot;&gt;External to internal token exchange V1&lt;/a&gt;.
This feature is in preview, and additional details are available in the &lt;a href=&quot;https://www.keycloak.org/securing-apps/jwt-authorization-grant&quot;&gt;dedicated documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_using_keycloak_as_an_authorization_server_for_model_context_protocol_mcp_servers&quot;&gt;Using Keycloak as an authorization server for Model Context Protocol (MCP) servers&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Using Keycloak as an authorization server for Model Context Protocol (MCP) servers is becoming popular, so this release ships additional documentation on how to do this.&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/securing-apps/mcp-authz-server&quot;&gt;Integrating with Model Context Protocol (MCP)&lt;/a&gt; for the new guide.&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;sect3&quot;&gt;
&lt;h4 id=&quot;_cors_enhancements&quot;&gt;CORS enhancements&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;CORS (Cross Origin Resource Sharing) is a browser security feature that controls how web pages on one domain can request resources from a different domain.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the OpenID Connect Dynamic Client Registration, you can now specify which CORS headers are allowed via the client registration access policies.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the overall CORS configuration, you can now allow environment specific headers to be allowed using the SPI option &lt;code&gt;spi-cors--default--allowed-headers&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_logout_confirmation_page&quot;&gt;Logout confirmation page&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The client logout configuration now includes an option to show a logout confirmation page. When enabled, users will see a &amp;#8220;You are logged out&amp;#8221; confirmation page upon successful logout.&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/slaskawi&quot;&gt;Sebastian Łaskawiec&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;_hiding_openid_connect_scopes_from_the_discovery_endpoint&quot;&gt;Hiding OpenID Connect scopes from the discovery endpoint&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previously, all scopes of an OpenID Connect client were advertised in the discovery endpoint.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In some situation you might want to avoid it, as the calling client, for example, an MCP server might not support it, or you might want to hide some scopes for preventing their discovery via public APIs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now prevent this by disabling &lt;strong&gt;Include in OpenID Provider Metadata&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_administration&quot;&gt;Administration&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_workflows_preview&quot;&gt;Workflows (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak introduces a new preview feature called Workflows, which allows administrators to
automate administrative tasks and process within a realm, introducing a key capability for Identity Governance and Administration (IGA).&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/26.5.0/server_admin/#_managing_workflows&quot;&gt;Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_federated_client_authentication_preview&quot;&gt;Federated client authentication (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Federated client authentication remains preview due to receiving a number of enhancements and fixes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is now preview support to use Kubernetes service accounts tokens as credentials for clients, which avoids static secrets for OpenID Connect clients.&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/docs/latest/server_admin/index.html#_identity_broker_kubernetes&quot;&gt;Kubernetes identity providers&lt;/a&gt; in the Server Administration Guide for details.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_organization_invitation_management&quot;&gt;Organization invitation management&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Organization administrators can now manage organization invitations through both the Admin Console and REST API:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;View all sent invitations with their current status (Pending, Expired)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resend pending invitations to recipients&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete invitation records from the system&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Filter invitations by status for easier management&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All invitations are now persistently stored in the database, providing better tracking and management capabilities.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The invitation management features are available in the &lt;strong&gt;Invitations&lt;/strong&gt; tab when managing an organization in the Admin Console, and through the Organizations REST API endpoints under &lt;code&gt;/admin/realms/{realm}/orgs/{orgId}/invitations&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_event_user_session_deleted&quot;&gt;New event &lt;code&gt;USER_SESSION_DELETED&lt;/code&gt;&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For each expired user session there is a new user event &lt;code&gt;USER_SESSION_DELETED&lt;/code&gt; fired.
This event is published approximately 3-10 minutes after the session has expired depending on job scheduling and load on the system.
By default, this event is not persisted.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_configuring_and_running&quot;&gt;Configuring and Running&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_containers_for_powerpc_64_bit_little_endian_architecture&quot;&gt;Containers for PowerPC 64-bit Little Endian architecture&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The containers for both the Keycloak and its operator are not available as well for the PowerPC 64-bit Little Endian (ppc64le) architecture. This is in addition to the existing amd64 and arm64.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We expect this to allow users to optimize their usage of open hardware and power consumption.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_improved_server_response_times&quot;&gt;Improved server response times&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Authentication, user, and client sessions are now created on the respective Keycloak node and avoid extra remote calls to neighbors when reading or writing them to the embedded caches.
When you have sticky sessions enabled in your loadbalancer, you will benefit from this feature automatically, and you should see reduced response times when authenticating users.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Expired user sessions are now deleted from the database in small batches, instead of issuing a delete statements that affects the whole table.
This should allow for better response times when there are a lot of sessions in the table.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_enhanced_http_performance_preview&quot;&gt;Enhanced HTTP performance (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now enable a more efficient way to handle JSON data in the HTTP layer.
This change increases throughput by ~5%, stabilizes response times, and reduces system resource usage.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In order to apply it, you need to explicitly enable the feature &lt;code&gt;http-optimized-serializers&lt;/code&gt;.&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;
This feature is &lt;strong&gt;preview&lt;/strong&gt;.
We gather more feedback about potential issues in &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/43484&quot;&gt;this discussion&lt;/a&gt;. We appreciate any feedback.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&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/configuration-production&quot;&gt;Configuring Keycloak for production&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_configure_retry_behavior_for_outgoing_http_requests&quot;&gt;Configure retry behavior for outgoing HTTP requests&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has now more flexibility how to configure retrying of outgoing HTTP requests. This is useful for handling transient network errors or temporary unavailability
of the service where Keycloak needs to send HTTP request. Retry behavior is disabled by default and must be explicitly enabled.
More details are available in the &lt;a href=&quot;https://www.keycloak.org/server/outgoinghttp&quot;&gt;Outgoing HTTP requests documentation&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/chance-coleman&quot;&gt;Chance Coleman&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;_enabledisable_features_via_a_single_option&quot;&gt;Enable/disable features via a single option&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now enable or disable individual features using the &lt;code&gt;feature-&amp;lt;name&amp;gt;&lt;/code&gt; option (like &lt;code&gt;feature-spiffe=enabled&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This provides a more fine-grained way to manage features and eliminates the need to maintain long lists of enabled or disabled features.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;feature-&amp;lt;name&amp;gt;&lt;/code&gt; option takes precedence over both &lt;code&gt;features&lt;/code&gt; and &lt;code&gt;features-disabled&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/features&quot;&gt;Enabling and disabling features&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_client_certificate_lookup_compliant_with_rfc_9440&quot;&gt;Client certificate lookup compliant with RFC 9440&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now use a new client certificate lookup provider that is compliant with &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9440&quot;&gt;RFC 9440&lt;/a&gt;.
This enables native support e.g. for Caddy and other reverse proxies that follow the RFC.
For details, navigate to &lt;a href=&quot;https://www.keycloak.org/server/reverseproxy#_enabling_client_certificate_lookup&quot;&gt;Enabling Client Certificate Lookup&lt;/a&gt; section of the documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_running_keycloak_as_a_windows_service&quot;&gt;Running Keycloak as a Windows service&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak can now be installed and run as a Windows service using Apache Commons Daemon (Procrun). The new &lt;code&gt;tools windows-service&lt;/code&gt; CLI subcommand simplifies service installation and uninstallation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The service runs &lt;code&gt;kc.bat start&lt;/code&gt; as an external process, ensuring all environment variables and configuration files are respected. This provides seamless integration with the Windows Services management console and enables automatic startup on system boot without requiring a user to be logged on.&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/windows-service&quot;&gt;Running Keycloak as a Windows Service&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&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;sect3&quot;&gt;
&lt;h4 id=&quot;_opentelemetry_enhancements&quot;&gt;OpenTelemetry enhancements&lt;/h4&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_opentelemetry_logs_preview&quot;&gt;OpenTelemetry Logs (preview)&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now supports exporting logs to OpenTelemetry collectors, enabling centralized log management.
This preview feature allows you to export Keycloak logs to any OpenTelemetry-compatible backend and use the same OpenTelemetry collector for logs, metrics and traces.&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/observability/telemetry&quot;&gt;Centralize your observability stack with OpenTelemetry&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_opentelemetry_metrics_experimental&quot;&gt;OpenTelemetry Metrics (experimental)&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak now provides the experimental support for exporting metrics to OpenTelemetry collectors by using the &lt;a href=&quot;https://quarkus.io/guides/telemetry-micrometer-to-opentelemetry&quot;&gt;Micrometer-to-OpenTelemetry bridge&lt;/a&gt;.
This experimental feature allows you to export Keycloak metrics to any OpenTelemetry-compatible backend and use the same OpenTelemetry collector for logs, metrics and traces.&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/observability/telemetry&quot;&gt;Centralize your observability stack with OpenTelemetry&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_export_traces_with_custom_request_headers&quot;&gt;Export traces with custom request headers&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;It is now possible to set request headers for exporting traces via OpenTelemetry Protocol (OTLP).
It is mainly useful for providing tokens in the request.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can specify these headers via the &lt;code&gt;tracing-header-&amp;lt;header&amp;gt;&lt;/code&gt; wildcard option, accepting any custom header name.&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/observability/tracing&quot;&gt;Root cause analysis with tracing&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_mdc_logging_feature_supported&quot;&gt;MDC Logging feature (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;log-mdc:v1&lt;/code&gt; feature has been promoted from a preview feature to a supported feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;MDC enables Keycloak to enrich log entries with contextual information such as realm, client, user ID and IP address, significantly improving debugging and observability.&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#_adding_context_for_log_messages&quot;&gt;Adding context for log messages&lt;/a&gt; guide.&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;Deprecated features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44121&quot;&gt;#44121&lt;/a&gt; Deprecate Fine-Grained Admin Permissions v1 &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;Removed features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42905&quot;&gt;#42905&lt;/a&gt; Remove PostgreSQL 13.x support &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/20761&quot;&gt;#20761&lt;/a&gt; Support Caddy as a Reverse Proxy Provider for Client Certificate Authentication &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/37704&quot;&gt;#37704&lt;/a&gt; Support for running Keycloak as a Windows Service &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38809&quot;&gt;#38809&lt;/a&gt; Feature Request: Track Pending Organization Invitations in Keycloak Admin Console &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39221&quot;&gt;#39221&lt;/a&gt; Admin API v2: Blueprint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41261&quot;&gt;#41261&lt;/a&gt; OpenTelemetry Support &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42482&quot;&gt;#42482&lt;/a&gt; Possibility to backchannel logout the clients belonging to a specific user session &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42912&quot;&gt;#42912&lt;/a&gt; Containers for ppc64le &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43020&quot;&gt;#43020&lt;/a&gt; Secure Client-Initiated Renegotiation - disable by 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/43106&quot;&gt;#43106&lt;/a&gt; Expose scheduled tasks and start time &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44312&quot;&gt;#44312&lt;/a&gt; Add support to use `kcw` with remote test server &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/44458&quot;&gt;#44458&lt;/a&gt; Expose a configuration option to always display a logout confirmation screen &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/8863&quot;&gt;#8863&lt;/a&gt; Add CORS support to OIDC dynamic client registration endpoints &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10388&quot;&gt;#10388&lt;/a&gt; Allow to hide client scopes from scopes_supported in discovery endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/12682&quot;&gt;#12682&lt;/a&gt; Allow CORS Access-Control-Allow-Headers customization &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/14509&quot;&gt;#14509&lt;/a&gt; Allow configuration for SMTP timeouts via configuration &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15502&quot;&gt;#15502&lt;/a&gt; Ability to remove offline_access tokens from the Account Management client and/or Admin interface &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/17268&quot;&gt;#17268&lt;/a&gt; [KC 20+] Obsolete/wrong documentation about service accounts?  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/22938&quot;&gt;#22938&lt;/a&gt; Fine-grained admin permission client manage does not work for an Authorization enabled 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/33009&quot;&gt;#33009&lt;/a&gt; Delete Client and role&#39;s admin event doesn&#39;t have representation while other delete entities have the representation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33146&quot;&gt;#33146&lt;/a&gt; Prevent users configuring max-count=-1 for caches with a default upper-bound &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/35836&quot;&gt;#35836&lt;/a&gt; SMTP Timeout Override &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38843&quot;&gt;#38843&lt;/a&gt; Set `automountServiceAccountToken: false` on Keycloak pods &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/39881&quot;&gt;#39881&lt;/a&gt; Picture of the token-exchange flow 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/40799&quot;&gt;#40799&lt;/a&gt; Provide a way to add custom labels to Realm Import job of Keycloak operator &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41006&quot;&gt;#41006&lt;/a&gt; [OTel] Micrometer to OpenTelemetry bridge support for metrics &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41007&quot;&gt;#41007&lt;/a&gt; Including OTLP headers for authorization &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41019&quot;&gt;#41019&lt;/a&gt; Validate client session session timeout and lifetime settings on edit &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/41205&quot;&gt;#41205&lt;/a&gt; Make MDC logging supported &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41263&quot;&gt;#41263&lt;/a&gt; [OTel] Provide general options for telemetry settings &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41264&quot;&gt;#41264&lt;/a&gt; [OTel] Introduce preview support for OpenTelemetry Logs &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41425&quot;&gt;#41425&lt;/a&gt; Add more fields to the Welcome Page &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42124&quot;&gt;#42124&lt;/a&gt; Add operation to cancel a workflow execution for a resource &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42223&quot;&gt;#42223&lt;/a&gt; Create a LocalCacheProvider SPI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42386&quot;&gt;#42386&lt;/a&gt; [RLM] Review the action execution thread model &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42401&quot;&gt;#42401&lt;/a&gt; Add configurable retry logic for OCSP certificate validation checks &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/42445&quot;&gt;#42445&lt;/a&gt; Default to log color enabled &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42446&quot;&gt;#42446&lt;/a&gt; Make picocli auto color match the quarkus logic &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42618&quot;&gt;#42618&lt;/a&gt; [RLM] - Allow updating workflow conditions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42644&quot;&gt;#42644&lt;/a&gt; No longer able to set a Keycloak Admin Client timeout &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/42687&quot;&gt;#42687&lt;/a&gt; [RLM] - Ability to define workflows with YAML &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42694&quot;&gt;#42694&lt;/a&gt; Workflows: review test coverage &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42695&quot;&gt;#42695&lt;/a&gt; Workflows: Add OpenAPI annotations to all API methods &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42696&quot;&gt;#42696&lt;/a&gt; [RLM] Review implemented conditions and add toPredicate implementation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42704&quot;&gt;#42704&lt;/a&gt; SELECT COUNT(*) FROM called multiple times for an index 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/42715&quot;&gt;#42715&lt;/a&gt; incorrect flow with login_hint specified for user in org email domain &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/42776&quot;&gt;#42776&lt;/a&gt; Session cache affinity &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42835&quot;&gt;#42835&lt;/a&gt; Make API endpoint linkable 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/42910&quot;&gt;#42910&lt;/a&gt; [RLM] - Restarting a workflow for a resource based on the step chain &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42911&quot;&gt;#42911&lt;/a&gt; [RLM] - Canceling workflows for a given resources when a new event is triggered &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42913&quot;&gt;#42913&lt;/a&gt; [RLM] - Allow using time-based tokens when setting fields that expect a period or time &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42917&quot;&gt;#42917&lt;/a&gt; Chore: Add missing translations for Korean (ko) &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42945&quot;&gt;#42945&lt;/a&gt; [PERF] Jackson reflection-free serialization/deserialization &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/42961&quot;&gt;#42961&lt;/a&gt; [RLM] - Cache expressions using as a component note &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42990&quot;&gt;#42990&lt;/a&gt; Hide read-only email attribute in update profile context with update email 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/42991&quot;&gt;#42991&lt;/a&gt; Final review and update for UPDATE_EMAIL 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/43015&quot;&gt;#43015&lt;/a&gt; Log FIPS provider using info debug level &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43076&quot;&gt;#43076&lt;/a&gt; Add rate limiter for sending verification emails in context of update email &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43125&quot;&gt;#43125&lt;/a&gt; Divide logging guide to sub-guides for every log handler &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43137&quot;&gt;#43137&lt;/a&gt; [RLM] Review naming of events to be in the past tense &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43156&quot;&gt;#43156&lt;/a&gt; [Docs] Warn users about printing headers in HTTP access logs &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/43183&quot;&gt;#43183&lt;/a&gt; Relax CORS policy on credential offer endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43214&quot;&gt;#43214&lt;/a&gt; [OID4VC] Ensure authorization_details from PAR requests are properly returned in token responses for conformace tests &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/43256&quot;&gt;#43256&lt;/a&gt; Expiry event for user sessions and timely DB removal of sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43351&quot;&gt;#43351&lt;/a&gt; Make pending email verification attribute removable by admin &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/43357&quot;&gt;#43357&lt;/a&gt; JDBC_PING should publish its physical address on startup &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43360&quot;&gt;#43360&lt;/a&gt; Add the user session in the session context when it is validated or created &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43362&quot;&gt;#43362&lt;/a&gt; Reduce the number entity manager flushes when creating a realm &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43365&quot;&gt;#43365&lt;/a&gt; When reading events for the database, read them read-only &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43421&quot;&gt;#43421&lt;/a&gt; All config formatting for list options could be improved &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43450&quot;&gt;#43450&lt;/a&gt; Workflows UI needs to implement authorization &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43456&quot;&gt;#43456&lt;/a&gt; Run time comparisons in SD-JWT and SD-JWT VP verification with account of possible clock skew &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43466&quot;&gt;#43466&lt;/a&gt; Picocli refinements &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43509&quot;&gt;#43509&lt;/a&gt; Role authorization for workflows. &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/43512&quot;&gt;#43512&lt;/a&gt; Export default routes from npm UI packages &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43536&quot;&gt;#43536&lt;/a&gt; Remove need to specify workflow condition parameter in double quotes &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43537&quot;&gt;#43537&lt;/a&gt; Fix inconsistencies in workflow condition evaluation &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43538&quot;&gt;#43538&lt;/a&gt; Ensure delete-user step doesn&#39;t trigger removal of federated user from federation provider &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43541&quot;&gt;#43541&lt;/a&gt; Ability to enable/disable feature via single property &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43559&quot;&gt;#43559&lt;/a&gt; Add validation for Workflwow, Condition and Steps fields &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43604&quot;&gt;#43604&lt;/a&gt; Warn or error on 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/43611&quot;&gt;#43611&lt;/a&gt; Allow non-optimized start to run without a separate vm launch &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43643&quot;&gt;#43643&lt;/a&gt; Upgrade to Quarkus 3.27.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/43650&quot;&gt;#43650&lt;/a&gt; SPIFFE should support OIDC JWK endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43660&quot;&gt;#43660&lt;/a&gt; Add operation to retrieve the workflows that are currently active for a resource &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43661&quot;&gt;#43661&lt;/a&gt; Allow groups to be referenced by path in workflow conditions &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43665&quot;&gt;#43665&lt;/a&gt; Workflows UI must allow for definition of workflows using YAML &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43666&quot;&gt;#43666&lt;/a&gt; Admin client should be able to handle YAML payloads for workflows &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43694&quot;&gt;#43694&lt;/a&gt; Avoid using UserCredentialManager from user storage extensions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43715&quot;&gt;#43715&lt;/a&gt; Provide a way to evaluate event properties when matching events to workflows &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43777&quot;&gt;#43777&lt;/a&gt; Add missing secret warning status &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43801&quot;&gt;#43801&lt;/a&gt; [OID4VCI] Handling KeyAttestationRequired properly &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/43802&quot;&gt;#43802&lt;/a&gt; Add autofocus property to  &quot;Sign in with passkey&quot; button in keycloak.v2 login theme. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43843&quot;&gt;#43843&lt;/a&gt; [Login UI v2] Configurable Password Visibility-Toggle Icons &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43912&quot;&gt;#43912&lt;/a&gt; Store workflows YAML definition as a blob &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43931&quot;&gt;#43931&lt;/a&gt; Downscoping for standard token exchange &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange/standard&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44005&quot;&gt;#44005&lt;/a&gt; Improve error message for the HTTPS material loading &lt;span class=&quot;badge bg-secondary&quot;&gt;observability&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44164&quot;&gt;#44164&lt;/a&gt; Add pagination and search by name capabilities to the workflows endpoint &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44183&quot;&gt;#44183&lt;/a&gt; Allow UI to retrieve Workflow definitions without their ids &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44266&quot;&gt;#44266&lt;/a&gt; Provide additional benchmarks for more than 100k users &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44274&quot;&gt;#44274&lt;/a&gt; Keycloak compatibility with PostgreSQL 18 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44296&quot;&gt;#44296&lt;/a&gt; Avoid un-escaped strings in the login templates for HTML entities &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/44396&quot;&gt;#44396&lt;/a&gt; Ignore null values when serializing workflows using YAML &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44494&quot;&gt;#44494&lt;/a&gt; Support EDB 18 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44500&quot;&gt;#44500&lt;/a&gt; HttpClient provider should allow connectionRequestTimeout to be settable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44518&quot;&gt;#44518&lt;/a&gt; Disable state transfer for session caches when persistent sessions are enabled &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44548&quot;&gt;#44548&lt;/a&gt; Add MariaDB to MySQL description and specify SQL to support UTF-8 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44571&quot;&gt;#44571&lt;/a&gt; MCP Documentation for 26.5 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44611&quot;&gt;#44611&lt;/a&gt; Document recommended transaction isolation level for MS SQL in guides and warn if wrong level is detected on startup &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44621&quot;&gt;#44621&lt;/a&gt; [OID4VCI] Realign naming of attribute configuring algorithms for credential signing &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/44634&quot;&gt;#44634&lt;/a&gt; Enhance health check docs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44645&quot;&gt;#44645&lt;/a&gt; Improve workflow concurrency settings to allow cancelling a workflow based on an event &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44708&quot;&gt;#44708&lt;/a&gt; Improvements to the notify step &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44736&quot;&gt;#44736&lt;/a&gt; Fix OID4VCI Wallet Interoperability Issues (Draft 15 Compatibility &amp; Metadata Compliance) &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/44753&quot;&gt;#44753&lt;/a&gt; Avoid using HTML in backend messages in the login theme &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44787&quot;&gt;#44787&lt;/a&gt; Avoid flushing user information in batch mode &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44789&quot;&gt;#44789&lt;/a&gt; Allow restarting the step chain at a specific position &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44801&quot;&gt;#44801&lt;/a&gt; Infinispan: LoginFailures entries should expire &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44842&quot;&gt;#44842&lt;/a&gt; Publish an event for logging out a single session or all sessions or all sessions via the Account Console &lt;span class=&quot;badge bg-secondary&quot;&gt;events&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44843&quot;&gt;#44843&lt;/a&gt; Publish an event when the UserSessionLImitsAuthenticator terminates an older session &lt;span class=&quot;badge bg-secondary&quot;&gt;events&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44865&quot;&gt;#44865&lt;/a&gt; Allow running scheduled workflows &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44890&quot;&gt;#44890&lt;/a&gt; Update the Quarkus README for better clarity &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44910&quot;&gt;#44910&lt;/a&gt; Validate client session timeout and lifetime settings on realm settings edit &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44915&quot;&gt;#44915&lt;/a&gt; Add Basque (eu) translation support for Keycloak UI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44936&quot;&gt;#44936&lt;/a&gt; Support running test methods on the server side &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45070&quot;&gt;#45070&lt;/a&gt; ServiceMonitor is not created by keycloak operator &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/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/30939&quot;&gt;#30939&lt;/a&gt; Vulnerability in brute force detection settings &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/31401&quot;&gt;#31401&lt;/a&gt; Kcadm.sh: (Better) Error messages on 302 redirect responses &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/38438&quot;&gt;#38438&lt;/a&gt; Avoid &#39;duplicated mappers&#39; Quarkus message for kc.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/38506&quot;&gt;#38506&lt;/a&gt; keycloak-test-framework-bom manages more dependencies than intended &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/38991&quot;&gt;#38991&lt;/a&gt; [Test framework] Embedded server -&gt; dependency download error when no version is specified &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/39660&quot;&gt;#39660&lt;/a&gt; Failed shouldPreventPathFileSeparatorInVaultSecretId test 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/40058&quot;&gt;#40058&lt;/a&gt; [FGAP] Make additional rest endpoints respect 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/40712&quot;&gt;#40712&lt;/a&gt; Authorization -&gt; Evaluate: always returns &quot;No search results&quot; &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/40756&quot;&gt;#40756&lt;/a&gt; Wrong dependency registering in the 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/40965&quot;&gt;#40965&lt;/a&gt; Group permission denies to view 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/40990&quot;&gt;#40990&lt;/a&gt; Fallback to English translations for unknown locale despite German being the realm default &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/41270&quot;&gt;#41270&lt;/a&gt; Cannot save new attribute 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/41271&quot;&gt;#41271&lt;/a&gt; Changing user profile attribute results in an error everytime &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41292&quot;&gt;#41292&lt;/a&gt; openid-connect flow is missing response type on language change &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/42000&quot;&gt;#42000&lt;/a&gt; Incorrect logic of getArray() in ComponentModelScope &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/42166&quot;&gt;#42166&lt;/a&gt; [Keycloak CI - Store MSSQL] GroupTest.createMultiDeleteMultiReadMulti:157 &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/42225&quot;&gt;#42225&lt;/a&gt; Slow initial GET /admin/realms/{realm}/users with cache enabled and large max 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/42470&quot;&gt;#42470&lt;/a&gt; UserStorageProviderModel parameter in ImportSynchronization.sync() method contains stale configuration data &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/42541&quot;&gt;#42541&lt;/a&gt; Searching by non-searchable attributes returns all clients &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/42552&quot;&gt;#42552&lt;/a&gt; Missing license field and miscellaneous fields in NPM packages &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42565&quot;&gt;#42565&lt;/a&gt; Standard Token Exchange: chain of exchanges eventually fails &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/42588&quot;&gt;#42588&lt;/a&gt; Key Type is not EC: ECDSA &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/42601&quot;&gt;#42601&lt;/a&gt; Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP &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/42676&quot;&gt;#42676&lt;/a&gt; Security Defenses realm settings lost when switching between Headers and Brute Force Detection tabs (v25+) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42794&quot;&gt;#42794&lt;/a&gt; [Windows] Make TrustedHostClientRegistrationPolicyTest Robust to Canonical Hostname localhost &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/42795&quot;&gt;#42795&lt;/a&gt; [Windows] Stabilize ResourceLoaderTest &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/42851&quot;&gt;#42851&lt;/a&gt; Group description missing on partial import &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/42907&quot;&gt;#42907&lt;/a&gt; Race condition in authorization service leads to NullPointerException when evaluating permissions during concurrent resource deletion &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/42914&quot;&gt;#42914&lt;/a&gt; Make sure TestEventsListenerProvider does not reuse the events in memory &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/42960&quot;&gt;#42960&lt;/a&gt; KC_VERBOSE is not honored for a fast 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/42971&quot;&gt;#42971&lt;/a&gt; create clients without required 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/43022&quot;&gt;#43022&lt;/a&gt; Incorrect Basic Auth encoding for OIDC IDentity Provider when Client ID contains colon &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/43034&quot;&gt;#43034&lt;/a&gt; Saving Client “Advanced” sets Request Object signature/encryption attributes to “any” even when not changed &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/43042&quot;&gt;#43042&lt;/a&gt; Avoid NPE in FederatedJWTClientAuthenticator when checking for supported assertion types &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/43061&quot;&gt;#43061&lt;/a&gt; Option description stuck with link &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43070&quot;&gt;#43070&lt;/a&gt; Update email page with pending verification email messages prefilled with old 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/43080&quot;&gt;#43080&lt;/a&gt; Fix punctuation for deleteConfirmGroup_one message &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43082&quot;&gt;#43082&lt;/a&gt; ExternalLinksTest is broken due to missing path 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/43084&quot;&gt;#43084&lt;/a&gt; Fix anchors 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/43087&quot;&gt;#43087&lt;/a&gt; &quot;Service accounts roles&quot; should be &quot;Service account roles&quot; &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/43091&quot;&gt;#43091&lt;/a&gt; Duplicate Email Fields on Temporarily Locked Out Sign In With Organization Identity-First Login &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/43096&quot;&gt;#43096&lt;/a&gt; keycloak-operator 26.4.0 missing clusterrole permissions &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/43104&quot;&gt;#43104&lt;/a&gt; Release notes fix for update email &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/43160&quot;&gt;#43160&lt;/a&gt; Regression in DEBUG_PORT handling since 26.4.0 – host binding (*:port / 0.0.0.0:port) no longer works &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/43161&quot;&gt;#43161&lt;/a&gt; Restarting an user session broken for persistent sessions &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/43164&quot;&gt;#43164&lt;/a&gt; Keycloak docs state that only TLSv1.3 is used &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/43166&quot;&gt;#43166&lt;/a&gt; Backend url misses the path with reverse proxy &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/43191&quot;&gt;#43191&lt;/a&gt; Upgrade guide for 26.4.0 should mention new minimal PostgreSQL server version 13 requirement &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/43195&quot;&gt;#43195&lt;/a&gt; Field &quot;Created at&quot; shows &quot;Invalid Date&quot; when created through KeycloakRealmImport &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43202&quot;&gt;#43202&lt;/a&gt; IntComponent doesn&#39;t show if a field is required &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43212&quot;&gt;#43212&lt;/a&gt; Document missing artifact dependency for UserStoragePrivateUtil &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/43218&quot;&gt;#43218&lt;/a&gt; Cannot revoke access token generated by Standard Token Exchange &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/43244&quot;&gt;#43244&lt;/a&gt; UI crash on admin `/users/add-user` since 26.4.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/43254&quot;&gt;#43254&lt;/a&gt; Make sure username and email attributes are lower cased when fetching their values from LDAP object &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/43262&quot;&gt;#43262&lt;/a&gt; XPathAttributeMapperTest fails on Ubuntu with OpenJDK 17 &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/43263&quot;&gt;#43263&lt;/a&gt; FIPS1402JWKTest and FIPS1402SecureRandomTest fails on Ubuntu with OpenJDK 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/43264&quot;&gt;#43264&lt;/a&gt; SdJwtTest and UndisclosedClaimTest fails on Windows with OpenJDK 17 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43269&quot;&gt;#43269&lt;/a&gt; Keycloak 26.4 returns a different error response on a token request without Client Assertion (private_key_jwt client authentication) from Keycloak 26.3 does &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/43270&quot;&gt;#43270&lt;/a&gt; Keycloak 26.4 returns a different error response on a CIBA backchannel authentication request without Client Assertion (private_key_jwt client authentication) from Keycloak 26.3 does &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/43286&quot;&gt;#43286&lt;/a&gt; Broken links on DB server configuration 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/43304&quot;&gt;#43304&lt;/a&gt; SAML Client - Encrypt assertions toggle shows wrong dialog text (Client signature required) &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/43323&quot;&gt;#43323&lt;/a&gt; Sessions not removed when user is deleted &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/43328&quot;&gt;#43328&lt;/a&gt; &quot;Remember me&quot; user sessions remain valid after &quot;remember me&quot; realm setting is disabled &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/43331&quot;&gt;#43331&lt;/a&gt; NullPointerException when disabling Admin Permissions (FGAP) in Realm - GET /users returns 500 &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/43335&quot;&gt;#43335&lt;/a&gt; First JDBC_PING initialization happens in the JTA transaction context &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/43349&quot;&gt;#43349&lt;/a&gt; Client session may be lost during session restart &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/43394&quot;&gt;#43394&lt;/a&gt; SPIFFE client authentication does not work when JWT SVID includes `iss` claim &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43417&quot;&gt;#43417&lt;/a&gt; Spotless fails on `main` &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/43447&quot;&gt;#43447&lt;/a&gt; [quarkus-next] DatasourcesConfigurationTest fails &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/43459&quot;&gt;#43459&lt;/a&gt; Invalid YAML in advanced Operator configurations &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/43460&quot;&gt;#43460&lt;/a&gt; FGAP/UI: `reset-password` succeeds but UI shows 403 without Users:manage &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/43477&quot;&gt;#43477&lt;/a&gt; Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnSigningInTest#setUpLinksTest &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/43505&quot;&gt;#43505&lt;/a&gt; DPoP proof replay check doesn&#39;t consider clock skew &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/43515&quot;&gt;#43515&lt;/a&gt; Social provider icons not displayed when alias differs from provider type &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/43516&quot;&gt;#43516&lt;/a&gt; Deleting Client is slow and fails when a lot of client sessions exist &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/43523&quot;&gt;#43523&lt;/a&gt; [Keycloak JavaScript CI] - Admin UI E2E (chromium) &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/43532&quot;&gt;#43532&lt;/a&gt; kcadm.ssh config credentials fails when there is a % in the client secret &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/43544&quot;&gt;#43544&lt;/a&gt; Intra-document links not rendered 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/43547&quot;&gt;#43547&lt;/a&gt; Unrecognized field &quot;kty&quot; (class org.keycloak.jose.jwk.JSONWebKeySet), not marked as ignorable (one known property: &quot;keys&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/43561&quot;&gt;#43561&lt;/a&gt; Server does not shutdown gracefully when started with --optimized &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/43564&quot;&gt;#43564&lt;/a&gt; Invalid liquibase check sum for jpa-changelog-2.5.0.xml &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/43578&quot;&gt;#43578&lt;/a&gt; &quot;admin&quot; client role now requires server admin user &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/43579&quot;&gt;#43579&lt;/a&gt; 403 Forbidden when assigning realm-management client roles with realm-admin despite FGAP disabled (regression in 26.4.0+) &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/43596&quot;&gt;#43596&lt;/a&gt; FGAP: user can no longer open account management page, broken by `reset-password` &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/43621&quot;&gt;#43621&lt;/a&gt; Version 26.4.1 breaks existing ldap users with capital letters in username &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/43637&quot;&gt;#43637&lt;/a&gt; Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#loginWithExistingUserWithBruteForceEnabled &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/43639&quot;&gt;#43639&lt;/a&gt; Local user can&#39;t login when ldap 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/43674&quot;&gt;#43674&lt;/a&gt; Setting &quot;Backchannel logout session required&quot; displayed incorrectly &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43682&quot;&gt;#43682&lt;/a&gt; When syncing roles, the database layer can see deadlocks &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43687&quot;&gt;#43687&lt;/a&gt; H2 database URL augmentation does not consider db-url-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/43698&quot;&gt;#43698&lt;/a&gt; Role Mapper is updating the user every time on login &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/43713&quot;&gt;#43713&lt;/a&gt; Flaky test: org.keycloak.testsuite.oauth.ClientAuthSignedJWTTest#testClientWithGeneratedKeysJKS &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/43717&quot;&gt;#43717&lt;/a&gt; Unused message properties for the LDAP 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/43718&quot;&gt;#43718&lt;/a&gt; Email Not Persisted During Registration When &quot;Email as Username&quot; is Enabled and User Edit Permission is Disabled &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/43720&quot;&gt;#43720&lt;/a&gt; Wrongly spelled LDAP edit mode in the docs &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/43723&quot;&gt;#43723&lt;/a&gt; Only add the none verifier when attestation conveyance preference is none (or default) &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/43734&quot;&gt;#43734&lt;/a&gt; Refresh token allowed for offline session even the related scope is removed &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43736&quot;&gt;#43736&lt;/a&gt; FGAP V2: reset-password scope error when viewing users with Group permissions 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/43738&quot;&gt;#43738&lt;/a&gt; UPDATE_EMAIL action invalidates old email &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/43744&quot;&gt;#43744&lt;/a&gt; Increased memory usage due to leaking KeycloakSession instances &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/43752&quot;&gt;#43752&lt;/a&gt; LDAP synchronization happens too often in a cluster and always clears the cache &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/43754&quot;&gt;#43754&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.ldap.LDAPProvidersIntegrationTest#updateLDAPUsernameTest &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/43755&quot;&gt;#43755&lt;/a&gt; Flaky test: org.keycloak.testsuite.account.AccountRestServiceTest#listApplicationsWithoutPermission &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/43759&quot;&gt;#43759&lt;/a&gt; QuarkusKeycloakSession not garbage collected when running Liquibase &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/43761&quot;&gt;#43761&lt;/a&gt; QuarkusKeycloakSession kept in memory for each timer &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/43763&quot;&gt;#43763&lt;/a&gt; Normalizing of Keycloak URLs not documented &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/43774&quot;&gt;#43774&lt;/a&gt; Under OLMv1 service monitor check uses wrong namespace &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/43785&quot;&gt;#43785&lt;/a&gt; QuarkusKeycloakSession leak in DeclarativeUserProfileProvider &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/43793&quot;&gt;#43793&lt;/a&gt; import does not seem to run db migration &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/43812&quot;&gt;#43812&lt;/a&gt; Admin console sends non-JSON payload with content-type: application/json &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43818&quot;&gt;#43818&lt;/a&gt; typos in Docs: server_admin/topics/sso-protocols/con-oidc-auth-flows.adoc &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/43819&quot;&gt;#43819&lt;/a&gt; partial import fails to overwrite existing groups &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/43832&quot;&gt;#43832&lt;/a&gt; Cannot issue vc of type oid4vc_natural_person &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/43835&quot;&gt;#43835&lt;/a&gt; useHash hook does not correctly extract hash from pushState 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/43845&quot;&gt;#43845&lt;/a&gt; [quarkus-next] Removed exception escaped OTel attribute &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/43853&quot;&gt;#43853&lt;/a&gt; Ensure the logout endpoint removes the authentication session &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/43863&quot;&gt;#43863&lt;/a&gt; JS CI failing after normalization &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/43867&quot;&gt;#43867&lt;/a&gt; JS Policy is used in the &quot;Default Policy&quot; for 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/43883&quot;&gt;#43883&lt;/a&gt; Creating group policy on a client uses &quot;manage-clients&quot; role if FGAP V1 is disabled &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/43886&quot;&gt;#43886&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.UserSessionProviderOfflineModelTest#testLoadUserSessionsWithNotDeletedOfflineClientSessions &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/43933&quot;&gt;#43933&lt;/a&gt; AUTH_SESSION_ID cookie has the incorrect route &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/43948&quot;&gt;#43948&lt;/a&gt; Adding a client mapper stays on creation screen, with error on second 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/43973&quot;&gt;#43973&lt;/a&gt; Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP &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/43993&quot;&gt;#43993&lt;/a&gt; MessageFormatterMethod does not detect/map SimpleNumber causing IllegalArgumentException &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/44010&quot;&gt;#44010&lt;/a&gt; Ordering attributes will unset 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/44031&quot;&gt;#44031&lt;/a&gt; Can&#39;t build  keycloak 26.4.4 with quarkus.launch.rebuild=true &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/44056&quot;&gt;#44056&lt;/a&gt; Allow only normalized URLs in requests caused a regression in view authz permission details in Admin Consol &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44057&quot;&gt;#44057&lt;/a&gt; Retrieving row count to evaluate index creation takes a long time on PostgreSQL and big tables  &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/44113&quot;&gt;#44113&lt;/a&gt; Missing message properties when redenring pages for organization invites &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/44116&quot;&gt;#44116&lt;/a&gt; [OID4VCI] Credential Offer must be created by Issuer not Holder &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/44117&quot;&gt;#44117&lt;/a&gt; DockerClientTest 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/44125&quot;&gt;#44125&lt;/a&gt; Double-encoding of query parameter values (e.g. acr_values) for version 26.4 &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/44127&quot;&gt;#44127&lt;/a&gt; [Test Framework] Distribution server - logger output exception &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/44156&quot;&gt;#44156&lt;/a&gt; [BUG] &#39;master&#39; realm lockout due to NullPointerException when &quot;Conditional 2FA&quot; is moved before &quot;Username Password Form&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/44163&quot;&gt;#44163&lt;/a&gt; Disabling/enabling workflows result in validation errors and the name is missing from representation &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/44179&quot;&gt;#44179&lt;/a&gt; Test failure in operator KeycloakIngressTest.testIngressTLSTermination &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/44187&quot;&gt;#44187&lt;/a&gt; [Keycloak Docs CI] 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/44189&quot;&gt;#44189&lt;/a&gt; [jdbc-ping] SQLIntegrityConstraintViolationException: Duplicate entry &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/44217&quot;&gt;#44217&lt;/a&gt; OIDC identity provider should allow to setup JWKS URL (or hardcoded keys) when JWT authorization grant 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/44229&quot;&gt;#44229&lt;/a&gt; Unexpected FORMAT_FAILURE error when using cache-config-file with feature-disabled=persistent-user-sessions &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/44246&quot;&gt;#44246&lt;/a&gt; Inconsistent formatting or RFC references &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/44256&quot;&gt;#44256&lt;/a&gt; [OID4VCI] JWT VC Issuer Metadata well-known endpoint should be available at /.well-known/jwt-vc-issuer/realms/{realm} &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/44257&quot;&gt;#44257&lt;/a&gt; OIDC Dynamic Client Registration update problem when Service Account was enabled/ 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/44268&quot;&gt;#44268&lt;/a&gt; Tests for Admin Client 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/44269&quot;&gt;#44269&lt;/a&gt; Admin Client creates malformed paths for requests &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/44278&quot;&gt;#44278&lt;/a&gt; Stack trace in browser console when updating password &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44280&quot;&gt;#44280&lt;/a&gt; Unsupported Pod template can cause AUTO logic to keep StatefulSet at 0 replicas &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/44287&quot;&gt;#44287&lt;/a&gt; Caching of static theme resources in dev mode 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/44289&quot;&gt;#44289&lt;/a&gt; Failure when decrypting SAML Assertions with HSM provided key &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/44329&quot;&gt;#44329&lt;/a&gt; View-Group Permission shows Users in User-List &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/44341&quot;&gt;#44341&lt;/a&gt; Grammar error in LDAP federation group mapper &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/44342&quot;&gt;#44342&lt;/a&gt; Logical error in Danish email verification message - tells users to ignore if they DID create 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/44349&quot;&gt;#44349&lt;/a&gt; Upgrade with Mysql and migration-strategy=manual when db user has non alter table permissions &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/44377&quot;&gt;#44377&lt;/a&gt; Unlocalized date format in (email messages) &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/44387&quot;&gt;#44387&lt;/a&gt; Description of Passkey is not escaped on the login screen &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/44398&quot;&gt;#44398&lt;/a&gt; Delete user step in workflows is not removing other scheduled steps the user might have &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44399&quot;&gt;#44399&lt;/a&gt; Workflows are restarting on any event instead of the one that activates it &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44400&quot;&gt;#44400&lt;/a&gt; Removing a user&#39;s group is not activating workflows that use the user-group-membership-removed event &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44419&quot;&gt;#44419&lt;/a&gt; Compilation failure in OID4VCTimeNormalizationSdJwtTest &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44430&quot;&gt;#44430&lt;/a&gt; NPE when importing SAML EntityDescriptor without SPSSODescriptor &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/44438&quot;&gt;#44438&lt;/a&gt; Intermittent ConcurrentModificationException during SAML initialization causing status code 400 for clients &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/44455&quot;&gt;#44455&lt;/a&gt; ClassCastException on mixing AddressMapper with ClaimMapper &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/44480&quot;&gt;#44480&lt;/a&gt; Wrong persistent group permissions when multiple group membership changes happen in the same request &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/44522&quot;&gt;#44522&lt;/a&gt; The existence of an organization attribute called “id” is not validated &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/44540&quot;&gt;#44540&lt;/a&gt; [admin-api-v2] Create client does not return 201 status code &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/44543&quot;&gt;#44543&lt;/a&gt; Missing Romanian locale from Supported locales &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/44552&quot;&gt;#44552&lt;/a&gt; Manual sync not executed because of the last sync time &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/44558&quot;&gt;#44558&lt;/a&gt; LDAP group mapper executed multiple times in the same request &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/44577&quot;&gt;#44577&lt;/a&gt; Remote Infinispan should return count per client only for the current realm &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/44586&quot;&gt;#44586&lt;/a&gt; [admin-api-v2] Incorrect DTO/DAO mapping &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/44606&quot;&gt;#44606&lt;/a&gt; Unhandled error caused by unknown SAML tag during XML parsing &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/44626&quot;&gt;#44626&lt;/a&gt; Compilation failure in JWTAuthorizationGrantJWTClaimsClientPoliciesTest &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/44642&quot;&gt;#44642&lt;/a&gt; Credential offer endpoint has parameter user_id, but expects username &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/44661&quot;&gt;#44661&lt;/a&gt; Moved link in developer.mozilla.org &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/44700&quot;&gt;#44700&lt;/a&gt; ModelTests are broken after consolidating config logic &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/44702&quot;&gt;#44702&lt;/a&gt; Alias in JWT Authorization Grant idp should not be editable &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/44712&quot;&gt;#44712&lt;/a&gt; Keycloak throws a 500 when invalid Accept header &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/44725&quot;&gt;#44725&lt;/a&gt; Typo: missing &#39;&gt;&#39; on closing &lt;/form&gt; in keycloak.v2 link-idp-action.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/44735&quot;&gt;#44735&lt;/a&gt; No &quot;Sign in with Passkey&quot; on first step with organization:&lt;alias&gt; scope &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/44742&quot;&gt;#44742&lt;/a&gt; OID4VCIssuerEndpoint.getCredentialOfferPreflight uses incorrect name of the 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/44776&quot;&gt;#44776&lt;/a&gt; Chrome and Firefox broken with new test framework on GtiHub Actions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44779&quot;&gt;#44779&lt;/a&gt; OID4VC metadata endpoint returns deferred_credential_endpoint even if not supported &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/44791&quot;&gt;#44791&lt;/a&gt; Workflows look up entries from the database on each event &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44793&quot;&gt;#44793&lt;/a&gt; CredentialRequest with credentialIdentifier does not work when credential-offer was created by OAuth2 authorization_code grant &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/44796&quot;&gt;#44796&lt;/a&gt; Claims configued by OID4VCI protocol mappers as mandatory are not enforced to be mandatory &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/44802&quot;&gt;#44802&lt;/a&gt; Notification_id returned from the credential response &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/44908&quot;&gt;#44908&lt;/a&gt; Run on server with remote uses old classes &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/44918&quot;&gt;#44918&lt;/a&gt; Workflow tests failing in 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/44940&quot;&gt;#44940&lt;/a&gt; JWTClientSecretAuthenticator throws NPE if client assertion is not set &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/44947&quot;&gt;#44947&lt;/a&gt; Test framework supplier dependencies broken &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/44956&quot;&gt;#44956&lt;/a&gt; Remove unused azure-credentials input from azure-create-database action &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/44966&quot;&gt;#44966&lt;/a&gt; Missing message keys for USER_SESSION_DELETED &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44971&quot;&gt;#44971&lt;/a&gt; DefaultCryptoSdJwsTest.shouldValidateAgeSinceIssued_IfJwtIsTooOld() sometimes fails in CI &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/44990&quot;&gt;#44990&lt;/a&gt; Cannot run arquillian testsuite with quarkus-embedded due to dependency conflict &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/45001&quot;&gt;#45001&lt;/a&gt; Workflows documentation references wrong events &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/45020&quot;&gt;#45020&lt;/a&gt; ${kc.org} Organisation Confirm Membership Title in messages_de.properties should be ${kc.org.name} &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/45023&quot;&gt;#45023&lt;/a&gt; [Docs CI] ExternalLinksTest.checkExternalLinks:41 Broken links (1) in guide &#39;server_admin&#39; &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/45040&quot;&gt;#45040&lt;/a&gt; Docs: upgrading/topics/changes/changes-26_4_6.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/45052&quot;&gt;#45052&lt;/a&gt; Default redirect URI for an organization should be the Home URL of the account client &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/45077&quot;&gt;#45077&lt;/a&gt; Workflows documentation has non-working workflow examples &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/45085&quot;&gt;#45085&lt;/a&gt; Missing repeatHelp translation key in Time policy &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45108&quot;&gt;#45108&lt;/a&gt; Admin UI: User attribute filter reset does not refresh user list &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/45114&quot;&gt;#45114&lt;/a&gt; AdminEvent.getResourcePath() returns paths with duplicated slashes (//) after upgrading Keycloak (26.4.1 → 26.4.7) &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/45133&quot;&gt;#45133&lt;/a&gt; AdminUI test Sessions › Add session data is broken &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/2026/01/keycloak-2650-released</guid>
        <pubDate>Tue, 6 Jan 2026 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Distribution Survey</title>
        <link>https://www.keycloak.org/2025/12/distribution-survey</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The different ways of distribution – be it the Operator, container images, or plain ZIP file – play a pivotal role in all Keycloak deployments.
It is often the first touchpoint for users and sets the tone for their overall experience. The selected distribution method
then affects the whole lifecycle of the deployment – upgrades, scaling, configuration, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As we continue to evolve Keycloak to better serve cloud native environments, we are seeking your valuable input to understand your
preferences and requirements regarding Keycloak distribution and deployment methods. Help us shape the cloud native future of Keycloak
by participating in our survey! You can find the survey &lt;a href=&quot;https://forms.gle/su5jbfqWCNYNMCKb9&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/12/distribution-survey</guid>
        <pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate>
        
        <author>Keycloak Cloud Native Team</author>
      </item>
      <item>
        <title>Keycloak JS 26.2.2 released</title>
        <link>https://www.keycloak.org/2025/12/keycloak-js-2622-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release of Keycloak JS focuses on addressing several regressions that were introduced by accident. We apologize for any inconvenience these issues may have caused and thank our community for reporting them quickly and helping to verify the fixes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_bug_fixes&quot;&gt;Bug Fixes&lt;/h4&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_destructuring_public_methods_now_works_correctly&quot;&gt;Destructuring public methods now works correctly&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression was introduced that caused an error when destructuring public methods from a Keycloak instance. This pattern is commonly used in applications:&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-javascript&quot; data-lang=&quot;javascript&quot;&gt;const { login, logout } = keycloak;
login(); // Previously failed with &quot;Cannot read properties of undefined&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This issue has been resolved by binding all public methods to the class instance using arrow functions, ensuring that &lt;code&gt;this&lt;/code&gt; is always correctly scoped regardless of how the method is called.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/202&quot;&gt;keycloak/keycloak-js#202&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_hash_fragments_are_now_preserved_in_redirect_uris&quot;&gt;Hash fragments are now preserved in redirect URIs&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression caused hash fragments in URLs to be stripped from redirect URIs, which broke navigation in applications that rely on fragment-based routing. For example, when logging in to the Keycloak Admin Console with a URL like &lt;code&gt;&lt;a href=&quot;http://localhost:8080/admin/master/console/#/demo/users/add-user&quot; class=&quot;bare&quot;&gt;http://localhost:8080/admin/master/console/#/demo/users/add-user&lt;/a&gt;&lt;/code&gt;, the user would be redirected to the default page instead of the intended fragment after authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This also caused issues where redirect URIs would have a trailing slash added unexpectedly, breaking login flows for OIDC servers that perform strict URI matching.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The next major of Keycloak JS will start re-enforcing this constraint, as it is not allowed to pass fragments according to &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc6749#section-3.1.2&quot;&gt;the specification&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/151&quot;&gt;keycloak/keycloak-js#151&lt;/a&gt;, &lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/205&quot;&gt;keycloak/keycloak-js#205&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect4&quot;&gt;
&lt;h5 id=&quot;_redirect_urls_on_different_domains_now_work_correctly&quot;&gt;Redirect URLs on different domains now work correctly&lt;/h5&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A regression prevented redirect URLs from being on a different domain than the application origin the navigation to fail with a security error. This affected users who use redirect services that forward authentication requests from an intermediate domain back to the application.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This behavior is likely to be changed in the future to only allow redirect URLs that are on the same origin as where Keycloak JS is initialized, in order to prevent possible open redirects. If this issue affects you please &lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/235&quot;&gt;join the discussion&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-js/issues/189&quot;&gt;keycloak/keycloak-js#189&lt;/a&gt;&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/#_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/12/keycloak-js-2622-released</guid>
        <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
        <category>Keycloak JS Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.4.7 released</title>
        <link>https://www.keycloak.org/2025/12/keycloak-2647-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/43156&quot;&gt;#43156&lt;/a&gt; [Docs] Warn users about printing headers in HTTP access logs &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/43643&quot;&gt;#43643&lt;/a&gt; Upgrade to Quarkus 3.27.1 &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/44438&quot;&gt;#44438&lt;/a&gt; Intermittent ConcurrentModificationException during SAML initialization causing status code 400 for clients &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/44480&quot;&gt;#44480&lt;/a&gt; Wrong persistent group permissions when multiple group membership changes happen in the same request &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/2025/12/keycloak-2647-released</guid>
        <pubDate>Mon, 1 Dec 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.4.6 released</title>
        <link>https://www.keycloak.org/2025/11/keycloak-2646-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;paragraph&quot;&gt;
&lt;p&gt;This release adds filtering of LDAP referrals by default.
This change enhances security and aligns with best practices for LDAP configurations.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you can not upgrade to this release yet, we recommend disabling LDAP referrals in all LDAP providers in all of your realms.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For detailed upgrade instructions, &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html&quot;&gt;review the upgrading guide&lt;/a&gt;.&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/#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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44478&quot;&gt;#44478&lt;/a&gt; CVE-2025-13467 Deserialization of untrusted data in ldap user federation &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/43323&quot;&gt;#43323&lt;/a&gt; Sessions not removed when user is deleted &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/43738&quot;&gt;#43738&lt;/a&gt; UPDATE_EMAIL action invalidates old email &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/43754&quot;&gt;#43754&lt;/a&gt; Flaky test: org.keycloak.testsuite.federation.ldap.LDAPProvidersIntegrationTest#updateLDAPUsernameTest &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/43812&quot;&gt;#43812&lt;/a&gt; Admin console sends non-JSON payload with content-type: application/json &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44125&quot;&gt;#44125&lt;/a&gt; Double-encoding of query parameter values (e.g. acr_values) for version 26.4 &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/44187&quot;&gt;#44187&lt;/a&gt; [Keycloak Docs CI] 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/44189&quot;&gt;#44189&lt;/a&gt; [jdbc-ping] SQLIntegrityConstraintViolationException: Duplicate entry &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/44229&quot;&gt;#44229&lt;/a&gt; Unexpected FORMAT_FAILURE error when using cache-config-file with feature-disabled=persistent-user-sessions &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/44269&quot;&gt;#44269&lt;/a&gt; Admin Client creates malformed paths for requests &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/44287&quot;&gt;#44287&lt;/a&gt; Caching of static theme resources in dev mode is disabled &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/2025/11/keycloak-2646-released</guid>
        <pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak DevDay 2026: Schedule is ready! Grab the last tickets!</title>
        <link>https://www.keycloak.org/2025/11/keycloak-devday-2026-nearly-sold-out</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We (&lt;a href=&quot;https://www.linkedin.com/in/dasniko/&quot;&gt;Niko&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/seb7/&quot;&gt;Sebastian&lt;/a&gt;) want to give you the chance to grab one of the &lt;strong&gt;last available tickets&lt;/strong&gt; for the Keycloak DevDay 2026!
DevDay is taking place for the third time, on &lt;strong&gt;March 5th and 6th, 2026&lt;/strong&gt;.
Again, in Darmstadt, Germany, just 30 minutes away from Frankfurt/Main, see &lt;a href=&quot;https://www.keycloak-day.dev&quot; class=&quot;bare&quot;&gt;https://www.keycloak-day.dev&lt;/a&gt; for details.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_our_schedule_is_ready&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_our_schedule_is_ready&quot;&gt;&lt;/a&gt;Our schedule is ready!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Check out the great talks lined up for the first day at &lt;a href=&quot;https://www.keycloak-day.dev#schedule-section&quot;&gt;the conference schedule&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As already announced, the Keycloak DevDay&amp;#8201;&amp;#8212;&amp;#8201;&lt;strong&gt;the Keycloak community conference&lt;/strong&gt;&amp;#8201;&amp;#8212;&amp;#8201;expands to an exciting two-day event.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Composing the schedule was really hard work for us.
We took our time — and rejecting proposals was one of the hardest parts. Thanks, everyone!
And please submit your proposals again next year — we’d love to hear from you.
The number and quality of submissions was &lt;strong&gt;absolutely awesome&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_limited_amount_of_tickets_left&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_limited_amount_of_tickets_left&quot;&gt;&lt;/a&gt;Limited amount of tickets left&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Tickets&lt;/strong&gt;  are running out quickly, sales may end soon. &lt;strong&gt;Be quick!&lt;/strong&gt; Unfortunately, the two-day ticket variant is already sold out.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Follow us for the latest news and announcements!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We can&amp;#8217;t wait to welcome you in Darmstadt in March 2026! 🚀&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/11/keycloak-devday-2026-nearly-sold-out</guid>
        <pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate>
        
        <author>Sebastian Rose</author>
      </item>
      <item>
        <title>Keycloak 26.4.5 released</title>
        <link>https://www.keycloak.org/2025/11/keycloak-2645-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/42601&quot;&gt;#42601&lt;/a&gt; Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP &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/43212&quot;&gt;#43212&lt;/a&gt; Document missing artifact dependency for UserStoragePrivateUtil &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/43564&quot;&gt;#43564&lt;/a&gt; Invalid liquibase check sum for jpa-changelog-2.5.0.xml &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/43718&quot;&gt;#43718&lt;/a&gt; Email Not Persisted During Registration When &quot;Email as Username&quot; is Enabled and User Edit Permission is Disabled &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/43793&quot;&gt;#43793&lt;/a&gt; import does not seem to run db migration &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/43883&quot;&gt;#43883&lt;/a&gt; Creating group policy on a client uses &quot;manage-clients&quot; role if FGAP V1 is disabled &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/44010&quot;&gt;#44010&lt;/a&gt; Ordering attributes will unset 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/44031&quot;&gt;#44031&lt;/a&gt; Can&#39;t build  keycloak 26.4.4 with quarkus.launch.rebuild=true &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/44056&quot;&gt;#44056&lt;/a&gt; Allow only normalized URLs in requests caused a regression in view authz permission details in Admin Consol &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/44117&quot;&gt;#44117&lt;/a&gt; DockerClientTest 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/2025/11/keycloak-2645-released</guid>
        <pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.4.4 released</title>
        <link>https://www.keycloak.org/2025/11/keycloak-2644-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/10388&quot;&gt;#10388&lt;/a&gt; Allow to hide client scopes from scopes_supported in discovery endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43076&quot;&gt;#43076&lt;/a&gt; Add rate limiter for sending verification emails in context of update email &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43509&quot;&gt;#43509&lt;/a&gt; Role authorization for workflows. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/api&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/41270&quot;&gt;#41270&lt;/a&gt; Cannot save new attribute 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/41271&quot;&gt;#41271&lt;/a&gt; Changing user profile attribute results in an error everytime &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43082&quot;&gt;#43082&lt;/a&gt; ExternalLinksTest is broken due to missing path 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/43091&quot;&gt;#43091&lt;/a&gt; Duplicate Email Fields on Temporarily Locked Out Sign In With Organization Identity-First Login &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/43160&quot;&gt;#43160&lt;/a&gt; Regression in DEBUG_PORT handling since 26.4.0 – host binding (*:port / 0.0.0.0:port) no longer works &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/43460&quot;&gt;#43460&lt;/a&gt; FGAP/UI: `reset-password` succeeds but UI shows 403 without Users:manage &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/43505&quot;&gt;#43505&lt;/a&gt; DPoP proof replay check doesn&#39;t consider clock skew &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/43516&quot;&gt;#43516&lt;/a&gt; Deleting Client is slow and fails when a lot of client sessions exist &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/43578&quot;&gt;#43578&lt;/a&gt; &quot;admin&quot; client role now requires server admin user &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/43579&quot;&gt;#43579&lt;/a&gt; 403 Forbidden when assigning realm-management client roles with realm-admin despite FGAP disabled (regression in 26.4.0+) &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/43596&quot;&gt;#43596&lt;/a&gt; FGAP: user can no longer open account management page, broken by `reset-password` &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/43621&quot;&gt;#43621&lt;/a&gt; Version 26.4.1 breaks existing ldap users with capital letters in username &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/43682&quot;&gt;#43682&lt;/a&gt; When syncing roles, the database layer can see deadlocks &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43698&quot;&gt;#43698&lt;/a&gt; Role Mapper is updating the user every time on login &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/43723&quot;&gt;#43723&lt;/a&gt; Only add the none verifier when attestation conveyance preference is none (or default) &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/43734&quot;&gt;#43734&lt;/a&gt; Refresh token allowed for offline session even the related scope is removed &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43736&quot;&gt;#43736&lt;/a&gt; FGAP V2: reset-password scope error when viewing users with Group permissions 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/43744&quot;&gt;#43744&lt;/a&gt; Increased memory usage due to leaking KeycloakSession instances &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/43759&quot;&gt;#43759&lt;/a&gt; QuarkusKeycloakSession not garbage collected when running Liquibase &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/43761&quot;&gt;#43761&lt;/a&gt; QuarkusKeycloakSession kept in memory for each timer &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/43763&quot;&gt;#43763&lt;/a&gt; Normalizing of Keycloak URLs not documented &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/43774&quot;&gt;#43774&lt;/a&gt; Under OLMv1 service monitor check uses wrong namespace &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/43785&quot;&gt;#43785&lt;/a&gt; QuarkusKeycloakSession leak in DeclarativeUserProfileProvider &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/43853&quot;&gt;#43853&lt;/a&gt; Ensure the logout endpoint removes the authentication session &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/43863&quot;&gt;#43863&lt;/a&gt; JS CI failing after normalization &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/2025/11/keycloak-2644-released</guid>
        <pubDate>Fri, 7 Nov 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.4.2 released</title>
        <link>https://www.keycloak.org/2025/10/keycloak-2642-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/42991&quot;&gt;#42991&lt;/a&gt; Final review and update for UPDATE_EMAIL 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/43351&quot;&gt;#43351&lt;/a&gt; Make pending email verification attribute removable by admin &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/43650&quot;&gt;#43650&lt;/a&gt; SPIFFE should support OIDC JWK endpoint &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/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/30939&quot;&gt;#30939&lt;/a&gt; Vulnerability in brute force detection settings &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/43022&quot;&gt;#43022&lt;/a&gt; Incorrect Basic Auth encoding for OIDC IDentity Provider when Client ID contains colon &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/43191&quot;&gt;#43191&lt;/a&gt; Upgrade guide for 26.4.0 should mention new minimal PostgreSQL server version 13 requirement &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/43244&quot;&gt;#43244&lt;/a&gt; UI crash on admin `/users/add-user` since 26.4.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/43544&quot;&gt;#43544&lt;/a&gt; Intra-document links not rendered 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/43561&quot;&gt;#43561&lt;/a&gt; Server does not shutdown gracefully when started with --optimized &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/2025/10/keycloak-2642-released</guid>
        <pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Recovery Authentication Codes</title>
        <link>https://www.keycloak.org/2025/10/recovery-codes</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_recovery-codes&quot;&gt;Recovery Codes&lt;/a&gt; are a supported authentication method in Keycloak since version 26.3.0. At that time, the new feature was not properly presented in this blog, but this new entry tries to address that oversight.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you prefer watching a video instead of reading this blog, Niko Köbler published &lt;a href=&quot;https://www.youtube.com/watch?v=fLzrgwAIR7g&quot;&gt;Keycloak Recovery Authentication Codes&lt;/a&gt; in youtube. Although the video is two years old, when the feature was in preview, it still stands for almost everything and it is very recommendable. This entry updates the recovery codes status when the feature is finally supported.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_are_recovery_authentication_codes&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_are_recovery_authentication_codes&quot;&gt;&lt;/a&gt;What are Recovery authentication codes?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Recovery codes are a Second Factor Authentication (2FA) method which can be used as a backup option to avoid losing access to your account. Therefore, they can be configured or enabled in the authentication flow to give another chance to login in case the OTP or WebAuthn device is unavailable (for example your phone or yubikey are broken or lost).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Technically the recovery codes are twelve sequential one-time passwords auto-generated by Keycloak. The authentication process asks the user for the next generated code in order. When that code is introduced, it is removed and the following code will be required in the subsequent login.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_enable_recovery_codes_for_authentication&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_enable_recovery_codes_for_authentication&quot;&gt;&lt;/a&gt;Enable recovery codes for authentication&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The default &lt;strong&gt;browser&lt;/strong&gt; flow already contains recovery codes as a 2FA sub-step, but the authenticator is disabled by default. You just need to enable it to make it available for the login. In the administration console, &lt;strong&gt;Authentication &amp;rarr; Flows&lt;/strong&gt;, select the &lt;strong&gt;browser&lt;/strong&gt; flow. Under the step &lt;strong&gt;Browser - Conditional 2FA&lt;/strong&gt;, &lt;strong&gt;OTP Form&lt;/strong&gt; is set to &lt;strong&gt;Alternative&lt;/strong&gt;, but &lt;strong&gt;Recovery Authentication Code Form&lt;/strong&gt; is &lt;strong&gt;Disabled&lt;/strong&gt;. Change the latter to &lt;strong&gt;Alternative&lt;/strong&gt; too.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/browser-flow.png&quot; alt=&quot;Set Recovery Authentication Code Form to Alternative in the browser flow&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this configuration, both alternative methods are available to login. Recovery codes can be integrated in more complex authentication flows if needed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_setup_recovery_codes_for_the_final_user&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_setup_recovery_codes_for_the_final_user&quot;&gt;&lt;/a&gt;Setup recovery codes for the final user&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The administrator can force any account to setup the recovery codes credentials assigning the &lt;strong&gt;Recovery Authentication Codes&lt;/strong&gt; required action to that specific user. The administrator can also enforce the action to all new users setting the action as a default action (&lt;strong&gt;Authentication &amp;rarr; Required Actions &amp;rarr; Recovery Authentication Codes&lt;/strong&gt;). In this regard, the recovery codes are just another required action that can be used normally inside Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Via required action or just manually clicking this credential type in the account console, the user can setup and store the codes. The twelve passwords should be saved in a secure place.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the account console, &lt;strong&gt;Account Security &amp;rarr; Signing in&lt;/strong&gt;, the &lt;strong&gt;Recovery authentication codes&lt;/strong&gt; section will appear as soon as the step is enabled in the authentication flow. Click the &lt;strong&gt;Set up Recovery authentication codes&lt;/strong&gt; link to start the setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/recovery-codes-setup.png&quot; alt=&quot;Click Set up Recovery authentication codes&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak generates and presents the codes. The list of passwords needs to be copied or saved by the final user. To ensure this step is done, a checkbox is displayed: &lt;strong&gt;I have saved these codes somewhere safe&lt;/strong&gt;. It needs to be acknowledged to complete the setup.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/recovery-codes-setup-2.png&quot; alt=&quot;Set up Recovery authentication codes page&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now the recovery codes are configured in the account and can be used as 2FA to login.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The list of codes can be re-generated in the account console at any time.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_login&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_login&quot;&gt;&lt;/a&gt;Login&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the previous steps completed, the user can access the Keycloak login page. The username and password form is presented.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/login-username-password.png&quot; alt=&quot;Login page for username and password&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If OTP is also configured for the account, the OTP form is displayed for the 2FA step. But this time, the OTP application is not available, because my phone is out of battery for example. The user clicks the &lt;strong&gt;Try Another Way&lt;/strong&gt; button.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/login-otp.png&quot; alt=&quot;Login page OTP&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;strong&gt;Recovery Authentication Code&lt;/strong&gt; option is selected.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/login-try-another-way.png&quot; alt=&quot;Login page OTP&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Code #1 is requested because recovery codes are used for the first time. Remember they are requested and consumed in order.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/login-recovery-codes.png&quot; alt=&quot;Login page OTP&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The user enters the code, clicks &lt;strong&gt;Sign in&lt;/strong&gt;, and the login will be completed successfully.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_extra_information&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_extra_information&quot;&gt;&lt;/a&gt;Extra information&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The account console warns you when the recovery codes are running out. The default warning threshold is four (less than four codes remaining), but this value can be modified in the required action configuration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/recovery-codes-warning.png&quot; alt=&quot;Login page OTP&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Recovery Codes and OTP can be configured by the user at the same time. The &lt;strong&gt;Configure OTP&lt;/strong&gt; required action has a switch to enable this feature (&lt;strong&gt;Authentication &amp;rarr; Required actions&lt;/strong&gt;). When activated, the setup for OTP enforces the user to also configure recovery codes if the account has not configure them before.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/recovery-codes/configure-otp.png&quot; alt=&quot;Login page OTP&quot; style=&quot;border:none;display:block;margin:auto;max-width:100%;height:auto;margin-top:2em;margin-bottom:3em;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As a final comment, the setup for recovery codes is also presented when the last code is used to login. This way, the list is re-generated again when all the passwords are consumed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/recovery-codes</guid>
        <pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Ricardo Martin Camarero</author>
      </item>
      <item>
        <title>Keycloak 26.4.1 released</title>
        <link>https://www.keycloak.org/2025/10/keycloak-2641-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/43020&quot;&gt;#43020&lt;/a&gt; Secure Client-Initiated Renegotiation - disable by default &lt;span class=&quot;badge bg-secondary&quot;&gt;dist/quarkus&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/42990&quot;&gt;#42990&lt;/a&gt; Hide read-only email attribute in update profile context with update email 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/43357&quot;&gt;#43357&lt;/a&gt; JDBC_PING should publish its physical address on startup &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/40965&quot;&gt;#40965&lt;/a&gt; Group permission denies to view 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/41292&quot;&gt;#41292&lt;/a&gt; openid-connect flow is missing response type on language change &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/42565&quot;&gt;#42565&lt;/a&gt; Standard Token Exchange: chain of exchanges eventually fails &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/42676&quot;&gt;#42676&lt;/a&gt; Security Defenses realm settings lost when switching between Headers and Brute Force Detection tabs (v25+) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42907&quot;&gt;#42907&lt;/a&gt; Race condition in authorization service leads to NullPointerException when evaluating permissions during concurrent resource deletion &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/43042&quot;&gt;#43042&lt;/a&gt; Avoid NPE in FederatedJWTClientAuthenticator when checking for supported assertion types &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/43070&quot;&gt;#43070&lt;/a&gt; Update email page with pending verification email messages prefilled with old 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/43096&quot;&gt;#43096&lt;/a&gt; keycloak-operator 26.4.0 missing clusterrole permissions &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/43104&quot;&gt;#43104&lt;/a&gt; Release notes fix for update email &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/43161&quot;&gt;#43161&lt;/a&gt; Restarting an user session broken for persistent sessions &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/43164&quot;&gt;#43164&lt;/a&gt; Keycloak docs state that only TLSv1.3 is used &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/43218&quot;&gt;#43218&lt;/a&gt; Cannot revoke access token generated by Standard Token Exchange &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/43254&quot;&gt;#43254&lt;/a&gt; Make sure username and email attributes are lower cased when fetching their values from LDAP object &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/43269&quot;&gt;#43269&lt;/a&gt; Keycloak 26.4 returns a different error response on a token request without Client Assertion (private_key_jwt client authentication) from Keycloak 26.3 does &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/43270&quot;&gt;#43270&lt;/a&gt; Keycloak 26.4 returns a different error response on a CIBA backchannel authentication request without Client Assertion (private_key_jwt client authentication) from Keycloak 26.3 does &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/43286&quot;&gt;#43286&lt;/a&gt; Broken links on DB server configuration 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/43304&quot;&gt;#43304&lt;/a&gt; SAML Client - Encrypt assertions toggle shows wrong dialog text (Client signature required) &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/43328&quot;&gt;#43328&lt;/a&gt; &quot;Remember me&quot; user sessions remain valid after &quot;remember me&quot; realm setting is disabled &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/43335&quot;&gt;#43335&lt;/a&gt; First JDBC_PING initialization happens in the JTA transaction context &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/43349&quot;&gt;#43349&lt;/a&gt; Client session may be lost during session restart &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/43394&quot;&gt;#43394&lt;/a&gt; SPIFFE client authentication does not work when JWT SVID includes `iss` claim &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/43459&quot;&gt;#43459&lt;/a&gt; Invalid YAML in advanced Operator configurations &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/2025/10/keycloak-2641-released</guid>
        <pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Official Support for DPoP in Keycloak 26.4</title>
        <link>https://www.keycloak.org/2025/10/dpop-support-26-4</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;DPoP has been available in Keycloak since version 23.0.0, but only as a preview feature. With the release of
&lt;strong&gt;Keycloak 26.4&lt;/strong&gt;, we&amp;#8217;re happy to share that &lt;strong&gt;OAuth 2.0 Demonstrating Proof-of-Possession (DPoP) is now officially supported&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_dpop&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_dpop&quot;&gt;&lt;/a&gt;What is DPoP? 🔑&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://datatracker.ietf.org/doc/html/rfc9449&quot;&gt;DPoP&lt;/a&gt; is a Proof-of-Possession mechanism that improves OAuth token security by binding a token (access or refresh) to a public/private key pair controlled by the client. By requiring a signed DPoP proof with each request,
DPoP ensures that a stolen bearer token cannot be used without possession of the associated private key. This significantly improves token security in
distributed systems.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_new_for_dpop_in_26_4&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_new_for_dpop_in_26_4&quot;&gt;&lt;/a&gt;What’s New for DPoP in 26.4 🆕&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;DPoP is now a supported feature and includes some improvements and minor capabilities:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Support for all Keycloak endpoints that accept bearer tokens, including the Admin REST API and the Account API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Option to bind &lt;strong&gt;only refresh tokens&lt;/strong&gt; for public clients, while leaving access tokens as bearer if required.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ability to request the &lt;code&gt;dpop_jkt&lt;/code&gt; parameter in OIDC authorization requests.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For full details, see the
&lt;a href=&quot;https://www.keycloak.org/docs/26.4.0/server_admin/#_dpop-bound-tokens&quot;&gt;official documentation&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;_how_to_enable_and_use_dpop_in_keycloak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_to_enable_and_use_dpop_in_keycloak&quot;&gt;&lt;/a&gt;How to enable and use DPoP in Keycloak 🚀&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to force a client to use DPoP, you need to enable the &lt;strong&gt;Require DPoP bound tokens&lt;/strong&gt; switch in the Admin Console Settings tab under Capability config.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If &lt;strong&gt;Require DPoP bound tokens&lt;/strong&gt; is off, the client can still send a DPoP proof in the token request. In that case, Keycloak verifies it and adds the thumbprint to the token, but DPoP binding is not enforced.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_try_it_out&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_try_it_out&quot;&gt;&lt;/a&gt;Try It Out 🔍&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to experiment with DPoP in practice, you can try it out using the
&lt;a href=&quot;https://github.com/keycloak/keycloak-playground/tree/main/fapi-playground&quot;&gt;Keycloak FAPI Playground&lt;/a&gt;,
which includes example client configurations and test flows that demonstrate how DPoP works end-to-end.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’d love to hear what you think about this feature and how we can improve it. Feedback and contributions from the community are always welcome.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/dpop-support-26-4</guid>
        <pubDate>Thu, 9 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Giuseppe Graziano</author>
      </item>
      <item>
        <title>Keycloak JS 26.2.1 released</title>
        <link>https://www.keycloak.org/2025/10/keycloak-js-2621-released</link>
        <description>

    &lt;h2&gt;Highlights&lt;/h2&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release of Keycloak JS is the first release after our &lt;a href=&quot;https://www.keycloak.org/2025/02/keycloak-js-2620-released&quot;&gt;initial announcement&lt;/a&gt; to split if off from the main project release cycle. This release is the result of a large internal refactor to make the code more maintainable and make use of modern JavaScript language features, as well as to introduce a new test suite with more comprehensive test coverage. Even though much has changed under the hood, this is a patch releases, and there should be no breaking changes for users, only bugfixes and small enhancements.&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/10/keycloak-js-2621-released</guid>
        <pubDate>Thu, 9 Oct 2025 00:00:00 GMT</pubDate>
        <category>Keycloak JS Release</category>
        
      </item>
      <item>
        <title>Keycloak celebrates 30k stars! 🎉</title>
        <link>https://www.keycloak.org/2025/10/30k-stars-celebration</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is a huge moment for all of us! 🚀🎉&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Reaching &lt;strong&gt;30,000 stars&lt;/strong&gt; on GitHub is not just another number — it is a powerful signal of how far Keycloak has come, how much trust the community has placed in it, and how essential it has become in the world of open source Identity and Access Management (IAM).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;30,000 stars&lt;/strong&gt; is a testament to a thriving global community, the trust of developers and enterprises, and Keycloak’s place as the go-to open source solution for securing apps and services.
It is a milestone that reflects years of collaboration, contribution, and community passion — and we couldn’t be prouder.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’re deeply grateful to our users and contributors whose support and contributions turned this milestone into reality — &lt;strong&gt;this wouldn’t have been possible without you!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As seen on the graph below, Keycloak just keeps getting more and more love on GitHub, with stars growing faster every year.
It is clear that more people are discovering and relying on it for their IAM needs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is on a great track and the community momentum is stronger than ever. 🚀&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/star-history-keycloak.png&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/star-history-keycloak.png&quot; alt=&quot;Star history of the Keycloak repository&quot; style=&quot;width: 100%; max-width: 600px; height: auto; border: 0;&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;_thank_you&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_thank_you&quot;&gt;&lt;/a&gt;Thank YOU!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Over the years, more than &lt;strong&gt;1,350+ contributors&lt;/strong&gt; have shaped Keycloak into what it is today.
From fixing bugs and adding features to improving docs and helping others, every contribution has played a role in making the project thrive.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This incredible community effort is what turned Keycloak into one of the most trusted open source solutions for securing applications and services.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’re grateful to every single contributor who has helped make Keycloak better and better! 🎉&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let’s give it up for Keycloak&amp;#8217;s top contributors (&lt;em&gt;more than 10 contributions&lt;/em&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;img src=&quot;https://contrib.nn.ci/api?no_bot=true&amp;repo=keycloak/keycloak&amp;cols=30&amp;pages=25&quot; alt=&quot;Keycloak top contributors&quot; style=&quot;border: 0;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you all!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/30k-stars-celebration</guid>
        <pubDate>Wed, 8 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Keycloak Team</author>
      </item>
      <item>
        <title>Meet Keycloak at KubeCon NA in Atlanta, Georgia November 2025</title>
        <link>https://www.keycloak.org/2025/10/keycloak25-na-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are thrilled to announce that Keycloak will be at this year&amp;#8217;s KubeCon NA, November 10-13th 2025, in Atlanta, Georgia.&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 multiple
Keycloak talks.&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;/a&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; and &lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&lt;/a&gt;
from IBM, and other contributors will be hosting a Keycloak kiosk at the
&lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/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 11B) 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 11: 15:30 - 19:45&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, November 12: 14:00 - 17:00&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Thursday, November 13: 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;_presentations&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_presentations&quot;&gt;&lt;/a&gt;Presentations&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_a_journey_to_zero_downtime_upgrades_with_keycloak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_a_journey_to_zero_downtime_upgrades_with_keycloak&quot;&gt;&lt;/a&gt;A Journey to Zero-Downtime Upgrades with Keycloak&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&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 A Journey to Zero-Downtime Upgrades with Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Wednesday, November 12, 16:00 - 16:30pm&lt;br&gt;
&lt;a href=&quot;https://kccncna2025.sched.com/event/27NoF/a-journey-to-zero-downtime-upgrades-with-keycloak-martin-bartos-ryan-emerson-ibm?iframe=yes&amp;amp;w=100%&amp;amp;sidebar=yes&amp;amp;bg=no&quot;&gt;&lt;strong&gt;A Journey to Zero-Downtime Upgrades with Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Martin Bartos &amp;amp; Ryan Emerson from IBM.&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;_modern_postgresql_authorization_with_keycloak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_modern_postgresql_authorization_with_keycloak&quot;&gt;&lt;/a&gt;Modern PostgreSQL Authorization With Keycloak&lt;/h3&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; and &lt;a href=&quot;https://github.com/gbartolini&quot;&gt;Gabriele Bartolini&lt;/a&gt;
will be preseneting a talk on Modern PostgreSQL Authorization With Keycloak: Cloud Native Identity Meets Database Security.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Tuesday, November 11, 17:45 - 18:15pm&lt;br&gt;
&lt;a href=&quot;https://kccncna2025.sched.com/event/27FXv/modern-postgresql-authorization-with-keycloak-cloud-native-identity-meets-database-security-yoshiyuki-tabata-hitachi-ltd-gabriele-bartolini-edb&quot;&gt;&lt;strong&gt;Modern PostgreSQL Authorization With Keycloak: Cloud Native Identity Meets Database Security&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
By Yoshiyuki Tabata, Hitachi &amp;amp; Gabriele Bartolini, EnterpriseDB&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;_see_you_soon&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_see_you_soon&quot;&gt;&lt;/a&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 NA 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 Atlanta!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/keycloak25-na-announce</guid>
        <pubDate>Fri, 3 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Ryan Emerson</author>
      </item>
      <item>
        <title>Automating Administrative Tasks with Workflows in Keycloak 26.4 (experimental)</title>
        <link>https://www.keycloak.org/2025/10/workflows-experimental-26-4</link>
        <description>&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_are_workflows_and_what_problems_do_they_solve&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_are_workflows_and_what_problems_do_they_solve&quot;&gt;&lt;/a&gt;What are Workflows and What Problems Do They Solve?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At its core, the Workflows feature is an automation engine for administrative tasks. It empowers Keycloak administrators to define
a series of steps that run automatically in response to specific events. The primary motivation behind this feature is to build a
robust identity governance model within Keycloak while reducing manual, repetitive work.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In any organization, managing the lifecycle of users and other resources is a critical but often time-consuming task. For example,
failing to disable or remove inactive user accounts can create significant security vulnerabilities. Similarly, manually onboarding
new users to specific roles or groups is inefficient and prone to error. Workflows aim to solve these problems by providing a flexible
framework to automate these essential processes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_workflows_and_identity_governance_and_administration_iga&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_workflows_and_identity_governance_and_administration_iga&quot;&gt;&lt;/a&gt;Workflows and Identity Governance and Administration (IGA)&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The introduction of Workflows is a significant step forward for Keycloak in the realm of Identity Governance and Administration (IGA).
IGA is a policy-based approach to identity management and access control that helps organizations strengthen security, meet compliance
requirements, and improve operational efficiency.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By allowing administrators to define automated processes for managing the user lifecycle, Workflows directly address key IGA principles.
This automation not only enhances security by addressing inactive accounts but also reduces the administrative burden on processes that
can be fully automated, like onboarding and offboarding users.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_core_capabilities&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_core_capabilities&quot;&gt;&lt;/a&gt;Core Capabilities&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In its initial experimental release, the Workflows feature focuses on the following core capabilities:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;User-Centric Automation&lt;/strong&gt;: In this first iteration, the feature is primarily targeted at automating tasks related to the management of user
resources. However, the concept is designed to be extensible and could be enhanced in the future to manage other realm components like clients,
organizations, or identity providers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Event-Driven Triggers&lt;/strong&gt;: Workflows are triggered by events within the realm. This includes not only user-triggered events, such as logins,
but also administrative events, such as a user being added to a group or being assigned a role.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Configurable Steps and Conditions&lt;/strong&gt;: A workflow consists of one or more steps that are executed in sequence if the conditions are satisfied.
The conditions are evaluated in addition to the event trigger, allowing for the definition of workflows for resources that match
specific set of conditions (e.g. users not in the &#39;admin&#39; role or users from a specific identity provider).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Schedulable Steps&lt;/strong&gt;: Steps can be configured to run immediately or after a specified delay. This is particularly useful for scenarios
like notifying users of impending account deactivation after a period of inactivity.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The steps and conditions have their own SPIs, allowing for custom implementations to be plugged in if the built-in options do not meet your
requirements. Implementations are referenced by their &lt;code&gt;providerId&lt;/code&gt; in the respective &lt;code&gt;uses&lt;/code&gt; property in the workflow definition - more on that in the
example below.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For the first iteration, the goal was to provide a set of capabilities to allow administrators to detect and act on inactive accounts. To achieve
that, the following built-in steps can be configured within a workflow:&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;notify-user&lt;/strong&gt;: Sends automated email notifications to users to inform their accounts can be disabled/deleted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;disable-user&lt;/strong&gt;: Disables the user account.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;delete-user&lt;/strong&gt;: Automatically removes an account from the system.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Future release will introduce other built-in steps to aid in onboarding and offboarding users, such as join/leave groups,
assign/unassign roles, add/remove user attributes, join/leave organizations, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As for the events that can trigger a workflow, the following are supported in this first release:&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;USER_LOGIN&lt;/strong&gt;: Triggered when a user successfully logs in&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;USER_ADD&lt;/strong&gt;: Triggered when a user is created or registered&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;USER_GROUP_MEMBERSHIP_ADD&lt;/strong&gt;: Triggered when a user is added to a group&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;USER_ROLE_ADD&lt;/strong&gt;: Triggered when a user is assigned a role&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The conditions that can be used to filter the resources that will be affected by a workflow include:&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;is-member-of&lt;/strong&gt;(group): Checks if a user is a member of a specific group&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;has-role&lt;/strong&gt;(role): Checks if a user has a specific role&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;has-user-attribute&lt;/strong&gt;(key, value): Checks if a user has a specific attribute with a given value&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;has-identity-provider-link&lt;/strong&gt;(identity-provider): Checks if a user is linked to a specific identity provider&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;_example_in_action&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_example_in_action&quot;&gt;&lt;/a&gt;Example in Action 🚀&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s walk through a practical example of how to use the feature by setting up a workflow that notifies and disables users who are not
admins after some period of inactivity. For the purposes of this demonstration, we will use short timespans, but in a real-world
scenario, you would likely use longer periods (e.g., 60 days, 90 days, etc).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_enable_workflows&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_enable_workflows&quot;&gt;&lt;/a&gt;Enable Workflows:&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The first step is to enable the feature when starting Keycloak:&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;./kc.sh start-dev --features=workflows --spi-events-listener--workflow-event-listener--step-runner-task-interval=1000 --log-level=&quot;INFO,org.keycloak.models.workflow:DEBUG&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;step-runner-task-interval&lt;/code&gt; configuration is optional and is used to change the interval at which the background task that executes
the scheduled steps runs. By default, it is set to 12 hours, but for demonstration purposes we are setting it to run every second.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;code&gt;log-level&lt;/code&gt; was also adjusted so we can see what is happening during the execution of the workflow.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_create_a_workflow&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_create_a_workflow&quot;&gt;&lt;/a&gt;Create a Workflow:&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As this is an experimental feature, it is recommended that you test it using a new realm in a non-production environment.&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;Access the Admin Console, then create a new realm and add two users to it:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;User 1: &lt;code&gt;alice&lt;/code&gt; (no special roles)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;User 2: &lt;code&gt;bob&lt;/code&gt; (assign the &lt;code&gt;realm-management/realm-admin&lt;/code&gt; role to this user)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make sure to set up the email settings for the realm so the notification step can send emails.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the new realm, navigate to the &lt;strong&gt;Workflows&lt;/strong&gt; section under the &lt;strong&gt;Configure&lt;/strong&gt; menu:&lt;/p&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;img src=&quot;https://www.keycloak.org/resources/images/blog/workflows/initial-screen.png&quot; alt=&quot;Workflows initial screen&quot; style=&quot;width: 100%; height: 100%; object-fit: contain; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;strong&gt;Create Workflow&lt;/strong&gt; to define a new workflow. At this moment the UI is very simple and takes a &lt;code&gt;JSON&lt;/code&gt; representation of the workflow as input.&lt;/p&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;img src=&quot;https://www.keycloak.org/resources/images/blog/workflows/create-workflow.png&quot; alt=&quot;Creating a workflow&quot; style=&quot;width: 100%; height: 100%; object-fit: contain; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Paste the following &lt;code&gt;JSON&lt;/code&gt; into the editor to create the test workflow:&lt;/p&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;name&quot;: &quot;disable inactive users&quot;,
  &quot;uses&quot;: &quot;event-based-workflow&quot;,
  &quot;on&quot;: &quot;USER_LOGIN&quot;,
  &quot;reset-on&quot;: &quot;USER_LOGIN&quot;,
  &quot;if&quot;: [
    {
      &quot;uses&quot;:&quot;expression&quot;,
      &quot;with&quot;: {
        &quot;expression&quot;: &quot;!has-role(\&quot;realm-management/realm-admin\&quot;)&quot;
      }
    }
  ],
  &quot;steps&quot;:[
    {
      &quot;uses&quot;:&quot;notify-user&quot;,
      &quot;after&quot;: &quot;30000&quot;,
      &quot;with&quot;:{
        &quot;custom_message&quot;: &quot;Your account can be disabled due to inactivity!&quot;
      }
    },
    {
      &quot;uses&quot;:&quot;disable-user&quot;,
      &quot;after&quot;:&quot;30000&quot;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;strong&gt;Save&lt;/strong&gt; to save the workflow.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Most of the workflow definition is self-explanatory, but it is worth highlighting a few points:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;reset-on&lt;/code&gt; property is also set to &lt;code&gt;USER_LOGIN&lt;/code&gt;, which means that if the user logs in again before the workflow completes, it will be reset and started over.
This is important when we track inactive users, as we want to reset the workflow if they become active again.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;As mentioned before, the &lt;code&gt;uses&lt;/code&gt; property references the &lt;code&gt;providerId&lt;/code&gt; of the step or condition implementation to be used.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The condition is using an expression to check if the user does not have the &lt;code&gt;realm-admin&lt;/code&gt; role. The expression can be used to
combine multiple conditions using the logical operators AND, OR, !(NOT) and parentheses. So it is possible to do something like
&lt;code&gt;!has-role(&quot;admin&quot;) AND has-user-attribute(&quot;department&quot;,&quot;engineering&quot;)&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The steps can have an &lt;code&gt;after&lt;/code&gt; property that defines when the step should run. The value is always relative to the previous step,
so in the example above, the &lt;code&gt;disable-user&lt;/code&gt; step will run 30 seconds after the &lt;code&gt;notify-user&lt;/code&gt; step completes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Additional properties of steps can be specified in the &lt;code&gt;with&lt;/code&gt; section. In the example above, we are customizing the notification email message.&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;_test_the_workflow&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_test_the_workflow&quot;&gt;&lt;/a&gt;Test the Workflow&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Go to the account console (&lt;code&gt;realms/{your-realm}/account&lt;/code&gt;) and log in as &lt;code&gt;alice&lt;/code&gt;. You should see the following in the server logs:&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;2025-10-01 12:33:46,320 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (executor-thread-37) Started workflow &#39;disable inactive users&#39; for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:33:46,320 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (executor-thread-37) Scheduling step notify-user to run in 30000 ms for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This indicates the workflow was activated for alice when they logged in as they do not have the &lt;code&gt;realm-admin&lt;/code&gt; role.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you wait 30 seconds, the notification email should be sent, and you should see the following in the logs:&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;2025-10-01 12:34:16,425 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (Timer-0) Running step notify-user on resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:34:16,433 DEBUG [org.keycloak.models.workflow.NotifyUserStepProvider] (Timer-0) Notification email sent to user alice (alice@keycloak.org)
2025-10-01 12:34:16,433 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (Timer-0) Step notify-user completed successfully (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:34:16,433 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (Timer-0) Scheduling step disable-user to run in 30000 ms for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At this point, the notification step was executed, and the disable step was scheduled to run in another 30 seconds. To simulate &lt;code&gt;alice&lt;/code&gt;
reacting to the e-mail, we will reload the account page to force a new login, which should reset the workflow as seen in the logs:&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;2025-10-01 12:34:46,997 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (executor-thread-39) Restarted workflow &#39;disable inactive users&#39; for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:34:46,997 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (executor-thread-39) Scheduling step notify-user to run in 30000 ms for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As can be seen, once &lt;code&gt;alice&lt;/code&gt; became active again, the workflow was restarted, and the steps were rescheduled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If we now wait for a whole minute, we should see the entire workflow executing:&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;2025-10-01 12:35:17,430 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (Timer-0) Running step notify-user on resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:35:17,441 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (Timer-0) Step notify-user completed successfully (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:35:17,442 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (Timer-0) Scheduling step disable-user to run in 30000 ms for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:35:48,435 DEBUG [org.keycloak.models.workflow.WorkflowsManager] (Timer-0) Running step disable-user on resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:35:48,436 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (Timer-0) Step disable-user completed successfully (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)
2025-10-01 12:35:48,436 DEBUG [org.keycloak.models.workflow.WorkflowExecutionContext] (Timer-0) Workflow &#39;disable inactive users&#39; completed for resource 8bddd017-5e0d-493d-a8d5-a657721299e4 (execution id: ea42006c-b7e1-421a-b6dc-44ece45f4011)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At this point, the workflow has completed, and `alice&amp;#8217;s account has been disabled.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Repeating the steps with user &lt;code&gt;bob&lt;/code&gt; should show that the workflow is not activated for this user, as they have the &lt;code&gt;realm-admin&lt;/code&gt; role.
So nothing should be printed in the logs when &lt;code&gt;bob&lt;/code&gt; logs in.&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_and_future_features&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_roadmap_and_future_features&quot;&gt;&lt;/a&gt;Roadmap and Future Features&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The roadmap for the Workflows feature is to get it to supported status in Keycloak 26.5. It is under active development, so it is possible
that some details shown in this blog post change before it becomes supported. Among the planned improvements are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Additional built-in steps to cover more use cases, particularly around onboarding and offboarding users.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Additional events that can trigger workflows, such as USER_UPDATED, USER_GROUP_MEMBERSHIP_REMOVE, USER_ROLE_REMOVE, USER_ORGANIZATION_ADD/REMOVE, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for workflow templates to simplify the creation of common workflows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for workflows in YAML format in addition to JSON.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Allow admins to assign workflows to existing resources, not only have them triggered by events.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improvements to the UI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Quality of life improvements - e.g., ability to use &lt;code&gt;30d&lt;/code&gt; or &lt;code&gt;12h&lt;/code&gt; instead of the time in milliseconds, along with other simplifications
to the workflow definition.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Allow better control over the background task that runs the scheduled steps, going beyond just the time interval and allowing
configuration of the exact time of day it runs, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can follow the progress of the feature on GitHub: &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39888&quot; class=&quot;bare&quot;&gt;https://github.com/keycloak/keycloak/issues/39888&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;_join_the_discussion_and_development&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_join_the_discussion_and_development&quot;&gt;&lt;/a&gt;Join the discussion and development&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We highly encourage our users to try out the feature and provide feedback. We&amp;#8217;ve opened a &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/43171&quot;&gt;dedicated discussion thread in Github&lt;/a&gt;,
so feel free to comment/discuss the features there or even in the Epic linked above. As usual, contributions and feedback are more than welcome!
Let&amp;#8217;s together make Keycloak even better with Workflows!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/workflows-experimental-26-4</guid>
        <pubDate>Thu, 2 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Stefan Guilhen</author>
      </item>
      <item>
        <title>Keycloak Performance Benchmarks: A Deep Dive into Scaling and Sizing (26.4)</title>
        <link>https://www.keycloak.org/2025/10/keycloak-benchmark</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When deploying a mission-critical component like Keycloak, performance is a top concern.
Questions about resource requirements, high availability, and network latency are crucial for a successful and stable production environment.
To provide a clear, data-driven perspective on these topics, we conducted a series of benchmarks on the latest Keycloak version 26.4.
In this post, we&amp;#8217;ll share our findings on how Keycloak scales with increasing load, performs under artificial network latency, and leverages caching to optimize database usage.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Share your feedback about this blog post &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/43133&quot;&gt;in our forum&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_environment&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_environment&quot;&gt;&lt;/a&gt;Environment&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;OpenShift 4.17 deployed across three availability zones in &lt;code&gt;eu-west-1&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Provisioned using &lt;a href=&quot;https://www.redhat.com/en/technologies/cloud-computing/openshift/aws&quot;&gt;Red Hat OpenShift Service on AWS&lt;/a&gt; (ROSA), with ROSA HCP.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At least one worker node in each availability zone.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Amazon Aurora PostgreSQL 17.5 database.&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Configured for high availability, with a primary DB instance in one availability zone and synchronously replicated readers in the other availability zones.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database populated with 100,000 users.&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-benchmark&quot;&gt;Keycloak Benchmark&lt;/a&gt; as the load generator.&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The benchmark ran on 20 to 50 &lt;code&gt;t4g.small&lt;/code&gt; AWS instances in the same region.&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;_scaling_keycloak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_scaling_keycloak&quot;&gt;&lt;/a&gt;Scaling Keycloak&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the most common questions when deploying Keycloak is: &lt;strong&gt;how many resources do I need?&lt;/strong&gt;
The answer, as you may have guessed, is that it depends on your specific use case.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For this test, we scaled only the login and refresh token requests.
Based on Keycloak&amp;#8217;s &lt;a href=&quot;https://www.keycloak.org/high-availability/single-cluster/concepts-memory-and-cpu-sizing&quot;&gt;Concepts for sizing CPU and memory resources&lt;/a&gt; documentation, we determined that you need &lt;strong&gt;1 vCPU to handle 15 logins per second&lt;/strong&gt; and an additional &lt;strong&gt;1 vCPU to handle 120 refresh token requests per second&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;After computing the total number of vCPUs required, we divided the value by the desired number of Pods, which was three in this case (one for each availability zone).
We allocated slightly more vCPU to each Pod than the calculated value to account for JVM background tasks like compilations and garbage collection.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonitionblock important&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td class=&quot;icon&quot;&gt;
&lt;i class=&quot;fa icon-important&quot; title=&quot;Important&quot;&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Because our test used a constant load, we did not allocate as much CPU as we typically recommend.
We &lt;strong&gt;strongly recommend&lt;/strong&gt; leaving &lt;strong&gt;150% extra headroom&lt;/strong&gt; for CPU usage to handle spikes in load, as mentioned in our documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Memory was increased when we observed high CPU usage by the garbage collector (GC).
It is difficult to formulate a precise memory requirement because it depends not only on the Keycloak data but also on the number of concurrent requests.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The database instance type was chosen based on observation.
If we observed failing requests or a 99th percentile response time above 100ms with database CPU usage exceeding 80%, we repeated the test using the next larger database instance type.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A summary of the results can be observed in the table below.&lt;/p&gt;
&lt;/div&gt;
&lt;table class=&quot;tableblock frame-all grid-all fit-content&quot;&gt;
&lt;caption class=&quot;title&quot;&gt;Table 1. Keycloak performance with load&lt;/caption&gt;
&lt;colgroup&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;OCP Instance Type&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;DB Instance Type&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Pod CPU limit&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Pod Memory Limit (GB)&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;# Pods&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Logins/sec&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Token Refreshes/sec&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-left valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;&lt;code&gt;c8g.8xlarge&lt;/code&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;&lt;code&gt;db.r8g.2xlarge&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;24&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;4&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;3&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;500&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;2500&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;&lt;code&gt;c8g.8xlarge&lt;/code&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;&lt;code&gt;db.r8g.4xlarge&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;40&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;8&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;3&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;1000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;5000&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;&lt;code&gt;c8g.24xlarge&lt;/code&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;&lt;code&gt;db.r8g.16xlarge&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;74&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;8&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;3&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;2000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;10000&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;Based on the overall results, we can confirm that Keycloak scales vertically almost linearly in the tested range.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Except the last test, we used the default Keycloak configuration.
For the final test, we had to increase the number of threads (using the &lt;code&gt;http-pool-max-threads&lt;/code&gt; option) to 330 for the scenario with the 2,000 logins and 10,000 token refreshes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We scaled up the OpenShift Ingress Routers because we were observing connection errors on the load generator.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following images illustrate how the requests correlated with the configured CPU and memory limits.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;div class=&quot;title&quot;&gt;CPU limits&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kc_perf_2025/kc_perf_1.png&quot; alt=&quot;requests vs cpu&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Memory limits&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kc_perf_2025/kc_perf_4.png&quot; alt=&quot;requests vs memory&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;_latency&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_latency&quot;&gt;&lt;/a&gt;Latency&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now that we have an understanding of the resources needed, our focus shifts to achieving high availability.
A key aspect of this is &lt;strong&gt;deploying Keycloak across different availability zones&lt;/strong&gt;, which, by its nature, introduces additional latency between Keycloak&amp;#8217;s Pods.
This leads us to a crucial question: &lt;strong&gt;how does Keycloak behave under these conditions?&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To find out, we used &lt;a href=&quot;https://chaos-mesh.org/&quot;&gt;Chaos Mesh&lt;/a&gt; to introduce an artificial delay to all outgoing network packets.
The table below specifies the round-trip delay increase, corresponding to the first column.
Since Keycloak 26.4 includes performance improvements for high availability deployments across different availability zones, we compare the results with the previous release, Keycloak 26.3.5.
For Keycloak 26.3, we set &lt;code&gt;spi-user-sessions&amp;#8212;&amp;#8203;infinispan&amp;#8212;&amp;#8203;use-batches&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt; to achieve a better response time (this option is disabled by default in Keycloak 26.4).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For this test, we used the 500 logins/second and 2,500 token refreshes/second setup.
The table below summarizes the gathered data, where the 99th percentile of the response time is taken from the Gatling report.&lt;/p&gt;
&lt;/div&gt;
&lt;table class=&quot;tableblock frame-all grid-all fit-content&quot;&gt;
&lt;caption class=&quot;title&quot;&gt;Table 2. Network latency - Response Time (ms, 99th pct)&lt;/caption&gt;
&lt;colgroup&gt;
&lt;col&gt;
&lt;col&gt;
&lt;col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Round-Trip Delay (ms)&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Keycloak 26.3&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Keycloak 26.4&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;0&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;51&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;47&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;10&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;116&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;84&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;20&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;1076&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;130&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;As anticipated, Keycloak&amp;#8217;s performance degrades under high-latency network conditions.
Round-trip delays of &lt;strong&gt;10ms&lt;/strong&gt; already push response times into the three-digit millisecond range.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For multi-availability zone deployments, Keycloak performs well because most cloud providers offer very low latency networks within the same region.
However, we &lt;strong&gt;do not recommend deploying Keycloak across different regions&lt;/strong&gt; as the increased latency and potential for network instability can significantly degrade performance and reliability.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A visual representation of these results can be found below.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Latency impact on response time&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kc_perf_2025/kc_perf_2.png&quot; alt=&quot;delay vs latency&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;_caching&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_caching&quot;&gt;&lt;/a&gt;Caching&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Finally, let&amp;#8217;s look at the impact of caching.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Have you ever wondered how large your Keycloak cache should be?
While we don&amp;#8217;t have a clear answer on that, we can tell you that increasing the cache size did not lead to any visible improvements in request response times during our tests.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;However, it had a significant impact on something that is not directly visible to users: the &lt;strong&gt;Aurora Database peak CPU usage&lt;/strong&gt;.
The table below illustrates how the database&amp;#8217;s peak CPU usage changed as we varied the Keycloak cache size.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For this benchmark, we used the 500 logins/second and 2,500 token refreshes/second setup.&lt;/p&gt;
&lt;/div&gt;
&lt;table class=&quot;tableblock frame-all grid-all fit-content&quot;&gt;
&lt;caption class=&quot;title&quot;&gt;Table 3. Cache size impact in DB usage&lt;/caption&gt;
&lt;colgroup&gt;
&lt;col&gt;
&lt;col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Cache Size&lt;/th&gt;
&lt;th class=&quot;tableblock halign-left valign-top&quot;&gt;Aurora CPU usage (%, peak)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;10000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;77.77&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;20000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;76.92&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;50000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;75.13&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;100000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;66.12&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;200000&lt;/p&gt;&lt;/td&gt;
&lt;td class=&quot;tableblock halign-right valign-top&quot;&gt;&lt;p class=&quot;tableblock&quot;&gt;63.77&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;Our tests show that increasing the Keycloak cache size significantly reduces the Aurora Database&amp;#8217;s peak CPU usage, which dropped from &lt;strong&gt;77% to 63%&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While this change had a minimal impact on overall memory usage, increasing it from 1.30 GB to 1.45 GB, we did observe an expected rise in average Garbage Collection (GC) pauses, from 3.99ms to 4.91ms.
Both of these behaviors are expected, as a larger cache naturally requires more memory, leading to slightly longer GC pauses.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A visual representation of these results can be found in the chart below.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Cache size and Aurora peak CPU usage&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kc_perf_2025/kc_perf_3.png&quot; alt=&quot;cache size vs db cpu&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To monitor the number of entries in the caches and how often entries are evicted to make space for new entries, see our &lt;a href=&quot;https://www.keycloak.org/observability/metrics-for-troubleshooting-embedded-caches&quot;&gt;metrics guide for embedded caches&lt;/a&gt;. This information is also visualized in our &lt;a href=&quot;https://www.keycloak.org/observability/grafana-dashboards&quot;&gt;Grafana dashboard&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;&lt;a class=&quot;anchor&quot; href=&quot;#_conclusion&quot;&gt;&lt;/a&gt;Conclusion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our benchmark results confirm that Keycloak is a robust and highly scalable identity and access management solution.
We have shown that with careful planning and proper resource allocation, Keycloak can handle significant loads while scaling almost linearly to 12,000 requests per second.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The data also underscores the importance of a low-latency network for multi-zone deployments and the significant role of caching in reducing database strain.
By taking these factors into account, you can deploy and operate Keycloak with more confidence.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The tools and scripts we used for this are available in the &lt;a href=&quot;https://github.com/keycloak/keycloak-benchmark&quot;&gt;Keycloak Benchmark GitHub repository&lt;/a&gt;, so you can use them to test your specific loads in your own environment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Share your feedback about this blog post &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/43133&quot;&gt;in our forum&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/10/keycloak-benchmark</guid>
        <pubDate>Wed, 1 Oct 2025 00:00:00 GMT</pubDate>
        
        <author>Pedro Ruivo</author>
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.7 released</title>
        <link>https://www.keycloak.org/2025/10/keycloak-client-2607-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/176&quot;&gt;#176&lt;/a&gt; Update RELEASE-CHECKLIST.md and README.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/187&quot;&gt;#187&lt;/a&gt; Sync after Keycloak server 26.4.0 release &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/184&quot;&gt;#184&lt;/a&gt; EdECUtilsImpl is not included in keycloak-client-common-synced &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/10/keycloak-client-2607-released</guid>
        <pubDate>Wed, 1 Oct 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.4.0 released</title>
        <link>https://www.keycloak.org/2025/09/keycloak-2640-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;paragraph&quot;&gt;
&lt;p&gt;This release features new capabilities focused on security enhancements, deeper integration, and improved server administration. The highlights of this release are:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Passkeys for seamless, passwordless authentication of users.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Federated Client Authentication to use SPIFFE or Kubernetes service account tokens for client authentication.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Simplified deployments across multiple availability zones to boost availability.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FAPI 2 Final: Keycloak now supports the final specifications of FAPI 2.0 Security Profile and FAPI 2.0 Message Signing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DPoP: The OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP) is now fully supported. Improvements include the ability to bind only refresh tokens for public clients, and securing all Keycloak endpoints with DPoP tokens.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on to learn more about each new feature. If you are upgrading from a previous release, &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html&quot;&gt;review also the changes listed in the upgrading guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_security_and_standards&quot;&gt;Security and Standards&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_passkeys_integration_supported&quot;&gt;Passkeys integration (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Passkeys are now seamlessly integrated in the Keycloak login forms using both conditional and modal UIs. To activate the integration in the realm, go to &lt;strong&gt;Authentication&lt;/strong&gt;, &lt;strong&gt;Policies&lt;/strong&gt;, &lt;strong&gt;Webauthn Passwordless Policy&lt;/strong&gt; and switch &lt;strong&gt;Enable Passkeys&lt;/strong&gt; to enabled.&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/26.4.0/server_admin/#passkeys_server_administration_guide&quot;&gt;Passkeys&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_fapi_2_final_supported&quot;&gt;FAPI 2 Final (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has support for the latest versions of FAPI 2 specifications. Specifications &lt;strong&gt;FAPI 2.0 Security Profile&lt;/strong&gt; and &lt;strong&gt;FAPI 2.0 Message Signing&lt;/strong&gt; are already promoted to Final and Keycloak supports them.
Keycloak client policies support
the final versions and corresponding client profiles for FAPI 2 are passing the FAPI conformance test suite.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Apart from some very minor polishing of existing policies, Keycloak has new client profiles (&lt;code&gt;fapi-2-dpop-security-profile&lt;/code&gt; and &lt;code&gt;fapi-2-dpop-message-signing&lt;/code&gt;) for the clients that use DPoP and are intended to be FAPI 2 compliant.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thank you to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for contributing this.&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/oidc-layers#_fapi-support&quot;&gt;Securing applications Guides&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_dpop_supported&quot;&gt;DPoP (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak has support for OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP), which was a preview feature since Keycloak 23. Also, the supported version includes some improvements and minor capabilities of the DPoP feature such 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;Possibility to make only refresh tokens of a public client to be DPoP bound and omit the binding of an access token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All Keycloak endpoints that are secured by bearer token can now handle DPoP tokens. This includes, for example, the Admin REST API and Account REST API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Possibility to require the &lt;code&gt;dpop_jkt&lt;/code&gt; parameter in the OIDC authentication request.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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 to the DPoP feature.&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/docs/26.4.0/server_admin/#_dpop-bound-tokens&quot;&gt;DPoP section&lt;/a&gt; in the documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_fips_140_2_mode_now_supports_eddsa&quot;&gt;FIPS 140-2 mode now supports EdDSA&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With the upgrade to Bouncy Castle 2.1.x, the algorithm EdDSA can now be used.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_listing_supported_oauth_standards_on_one_page&quot;&gt;Listing supported OAuth standards on one page&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new guide lists &lt;a href=&quot;https://www.keycloak.org/securing-apps/specifications&quot;&gt;all implemented OpenID Connect related specifications&lt;/a&gt;.
Thank you to &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; for contributing this.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_integration&quot;&gt;Integration&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_federated_client_authentication_preview&quot;&gt;Federated client authentication (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Identity providers are now able to federate client authentication. This allows clients to authenticate with SPIFFE JWT SVIDs,
Kubernetes service account tokens, or tokens issued by an OpenID Connect identity provider.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This feature is currently preview, and expected to become supported in 26.5.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_automatic_certificate_management_for_saml_clients&quot;&gt;Automatic certificate management for SAML clients&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The SAML clients can now be configured to automatically download the signing and encrypting certificates from the SP entity metadata descriptor endpoint. In order to use this new feature, in the client &lt;strong&gt;Settings&lt;/strong&gt; tab, section &lt;strong&gt;Signature and Encryption&lt;/strong&gt;, configure the &lt;strong&gt;Metadata descriptor URL&lt;/strong&gt; option (the URL where the SP metadata information with the certificates is published) and activate &lt;strong&gt;Use metadata descriptor URL&lt;/strong&gt;. The certificates will be automatically downloaded and cached in the &lt;code&gt;public-key-storage&lt;/code&gt; SPI from that URL.
This also allows for seamless rotation of certificates.&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/26.4.0/server_admin/#_client-saml-configuration&quot;&gt;Creating a SAML client&lt;/a&gt; in the Server Administration Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_serving_as_an_authorization_server_in_mcp&quot;&gt;Serving as an authorization server in MCP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems. Using MCP, AI applications can connect to data sources, tools and workflows enabling them to access key information and perform tasks.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To comply with MCP specification, this version provides its OAuth 2.0 Server Metadata via a well-known URI whose format complies with RFC 8414 OAuth 2.0 Authorization Server Metadata specification. Therefore, Keycloak users can now use Keycloak as an authorization server for MCP.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The latest MCP specification 2025-06-18 additionally requires support for resource indicators which are currently not implemented in Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_administration&quot;&gt;Administration&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_update_email_workflow_supported&quot;&gt;Update Email Workflow (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Users can now update their email addresses in a more secure and consistent flow. Accounts are forced to both re-authenticate and verify their emails before any account updates.&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/26.4.0/server_admin/#_update-email-workflow&quot;&gt;Update Email Workflow&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_optional_email_domain_for_organizations&quot;&gt;Optional email domain for organizations&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In earlier versions, each organization required at least one email domain, which was a limitation for some scenarios.
Starting with this release, an email domain is optional.
Thank you to &lt;a href=&quot;https://github.com/SferaDev&quot;&gt;Alexis Rico&lt;/a&gt; for contributing this.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When no domain is specified, organization members will not be validated against domain restrictions during authentication and profile validation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_hiding_identity_providers_from_the_account_console&quot;&gt;Hiding identity providers from the Account Console&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now control which identity providers appear in the Account Console based on different options using
the &lt;code&gt;Show in Account console&lt;/code&gt; setting. You can choose to show only those linked with a user or hide them completely.&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/26.4.0/server_admin/#_general-idp-config&quot;&gt;General configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_enforce_recovery_codes_setup_after_setting_up_otp&quot;&gt;Enforce recovery codes setup after setting up OTP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you have enabled OTPs and recovery codes as a second factor for authentication, you can configure the OTP required action to ask users to set up recovery codes once they set up an OTP.
Thank you to &lt;a href=&quot;https://github.com/dasniko&quot;&gt;Niko Köbler&lt;/a&gt; for contributing this.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_new_conditional_authenticator&quot;&gt;New conditional authenticator&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;strong&gt;Conditional - credential&lt;/strong&gt; is a new authenticator that checks if a specific credential type has been used (or not used) during the authentication process. This condition is related to the Passkeys feature. It is added by Keycloak to the default browser flow to skip 2FA in case a passkey was used to log in as the primary credential.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about conditional flows, see &lt;a href=&quot;https://www.keycloak.org/docs/26.4.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;sect3&quot;&gt;
&lt;h4 id=&quot;_translations_managed_by_weblate&quot;&gt;Translations managed by Weblate&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak distribution now includes 35 community translations, with Kazakh, Azerbaijani and Slovenian added in this release.
Community volunteers now maintain some of the translations in &lt;a href=&quot;https://hosted.weblate.org/projects/keycloak/&quot;&gt;Weblate&lt;/a&gt; to keep them up to date.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you want to volunteer to maintain an existing or a new translation via Weblate, you can find the necessary steps in the &lt;a href=&quot;https://github.com/keycloak/keycloak/blob/main/docs/translation.md&quot;&gt;translation guidelines&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;_configuring_and_running&quot;&gt;Configuring and Running&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_enhancements_for_single_cluster_and_multi_cluster_setups&quot;&gt;Enhancements for single-cluster and multi-cluster setups&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This release renamed multi-site to multi-cluster.
The updated documentation describes
how Keycloak clusters can be optionally distributed across multiple availability-zones within a region for increased availability.
The Keycloak Operator now deploys Keycloak across multiple availability zones within a Kubernetes cluster by default. Keycloak also detects split-brains within a cluster.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This change should provide better availability for users who are running Keycloak in Kubernetes clusters that span multiple availability zones.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_support_for_additional_databases_and_versions&quot;&gt;Support for additional databases and versions&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this release, we added support for the following new database vendors:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;EnterpriseDB (EDB) Advanced 17.6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Azure SQL Database and Azure SQL Managed Instance&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Where the previous documentation stated only tested database version, it now states all the supported database versions as well.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_expose_management_interface_via_http&quot;&gt;Expose management interface via HTTP&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Previous versions exposed the management endpoint only via HTTPS when the main interface was using HTTPS.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Set the new option &lt;code&gt;http-management-scheme&lt;/code&gt; to &lt;code&gt;http&lt;/code&gt; to have the management interface use HTTP rather than inheriting the HTTPS settings of the main interface.
This allows monitoring those endpoints in environments where no TLS client is available.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_expose_health_endpoints_on_the_main_https_port&quot;&gt;Expose health endpoints on the main HTTP(S) port&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With &lt;code&gt;health-enabled&lt;/code&gt; set to true, you may set the &lt;code&gt;http-management-health-enabled&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt; to indicate that health endpoints should be exposed on the main HTTP(s) port instead of the
management port. When this option is &lt;code&gt;false&lt;/code&gt; you should block unwanted external traffic to &lt;code&gt;/health&lt;/code&gt; at your proxy.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This allows using the health endpoints in environments where the load balancer might need access to those ports to direct traffic to the correct nodes.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_specify_a_tlssecret_on_the_keycloak_cr_ingress_spec&quot;&gt;Specify a &lt;code&gt;tlsSecret&lt;/code&gt; on the Keycloak CR &lt;code&gt;ingress&lt;/code&gt; spec&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To support basic TLS termination (edge) deployments by the operator, you may now set the Keycloak CR &lt;code&gt;spec.ingress.tlsSecret&lt;/code&gt; field to a TLS Secret name in the namespace.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_additional_datasources_configuration_supported&quot;&gt;Additional datasources configuration (supported)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Some Keycloak use cases like User Federation might require connecting to additional databases.
This was possible only through specifying unsupported raw Quarkus properties in previous Keycloak versions. In this release, there are now dedicated server options for additional datasources. This allows users to leverage additional databases in their extensions in a supported and user-friendly way.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more about it in the &lt;a href=&quot;https://www.keycloak.org/server/db#configure-multiple-datasources&quot;&gt;Configure multiple datasources&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&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;sect3&quot;&gt;
&lt;h4 id=&quot;_operator_creates_a_servicemonitor_automatically&quot;&gt;Operator creates a ServiceMonitor automatically&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Operator now provisions a &lt;code&gt;ServiceMonitor&lt;/code&gt; for the management endpoint if metrics are enabled and the
&lt;code&gt;monitoring.coreos.com/v1:ServiceMonitor&lt;/code&gt; Custom Resource Definition is present on the Kubernetes cluster. The
specification of the &lt;code&gt;ServiceMonitor&lt;/code&gt; takes into account the various management endpoint configurations, to ensure that
metrics can be scraped without any additional configuration. If you do not want a &lt;code&gt;ServiceMonitor&lt;/code&gt; to be created, you can disable
this by setting &lt;code&gt;spec.serviceMonitor.enabled: false&lt;/code&gt;. For more details, see the &lt;a href=&quot;https://www.keycloak.org/guides#operator&quot;&gt;Operator  Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_http_access_logging_of_incoming_http_requests&quot;&gt;HTTP access logging of incoming HTTP requests&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak supports HTTP access logging to record details of incoming HTTP requests.
While access logs are often used for debugging and traffic analysis, they are also important for security auditing and compliance monitoring.&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/server/logging&quot;&gt;Configuring logging&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_showing_context_information_in_log_messages_preview&quot;&gt;Showing context information in log messages (preview)&lt;/h4&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;You can now add context information via the mapped diagnostic context (MDC) to each log message like the realm or the client that initiated the request.
This helps you to track down a warning or error message in the log to a specific caller or environment
Thank you to &lt;a href=&quot;https://github.com/eicki&quot;&gt;Björn Eickvonder&lt;/a&gt; for contributing this.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on this opt-in feature, see &lt;a href=&quot;https://www.keycloak.org/server/logging&quot;&gt;Configuring logging&lt;/a&gt;.&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/19732&quot;&gt;#19732&lt;/a&gt; &quot;linked-accounts&quot; endpoint  displays all Identity providers &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/40237&quot;&gt;#40237&lt;/a&gt; Add option &quot;Requires short state parameter&quot; to OIDC IDP &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/40696&quot;&gt;#40696&lt;/a&gt; Wrap deprecated passkeys authenticator behind the feature &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/41316&quot;&gt;#41316&lt;/a&gt; Test suites config for the new test framework &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/41357&quot;&gt;#41357&lt;/a&gt; Disable tests for specific databases and servers in test framework &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/42313&quot;&gt;#42313&lt;/a&gt; Experimental SPIFFE identity provider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42742&quot;&gt;#42742&lt;/a&gt; Supported EnterpriseDB Advanced 17 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42743&quot;&gt;#42743&lt;/a&gt; Supported Azure SQL &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/10063&quot;&gt;#10063&lt;/a&gt; Display transport media for WebAuthn authenticators 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/14644&quot;&gt;#14644&lt;/a&gt; External IDP tokens are not refreshed automatically for OAuth2 &amp; OIDC IDPs when retrieving the external token &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/17028&quot;&gt;#17028&lt;/a&gt; SAML: Adapter SP seamless certificate rotation &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/19213&quot;&gt;#19213&lt;/a&gt; Allow enabling debug and verbose via environment variables &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/21816&quot;&gt;#21816&lt;/a&gt; Expose Keycloak config errors in the Keycloak CR status 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/22730&quot;&gt;#22730&lt;/a&gt; REST API returns different amount of 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/23972&quot;&gt;#23972&lt;/a&gt; Improve handling config options in scripts preventing re-augmentation  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/25668&quot;&gt;#25668&lt;/a&gt; Remove duplication of MP config initialization &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/26277&quot;&gt;#26277&lt;/a&gt; DPoP: Allow to only DPoP-bind refresh tokens and still issue access tokens of type Bearer &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/26995&quot;&gt;#26995&lt;/a&gt; Bad performance when requesting events of a user &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27025&quot;&gt;#27025&lt;/a&gt; Move import/export validation to the Property Mappers &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/28846&quot;&gt;#28846&lt;/a&gt; Allow the target attribute on &lt;a&gt; in the kcSanitize &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/29295&quot;&gt;#29295&lt;/a&gt; Exact match in users/count &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/30095&quot;&gt;#30095&lt;/a&gt; High Availability guides should make distinction between single-site and multi-site deployments &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/31285&quot;&gt;#31285&lt;/a&gt; Make domains for organisations optional &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32129&quot;&gt;#32129&lt;/a&gt; Automatically create external caches for MULTI_SITE deployments &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32569&quot;&gt;#32569&lt;/a&gt; Verify email when using UPDATE_EMAIL action without depending on realm wide setting &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33942&quot;&gt;#33942&lt;/a&gt; Make sure Keycloak endpoints have DPoP validation &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/34114&quot;&gt;#34114&lt;/a&gt; Operator: Support ConfigMaps for `Keycloak.spec.truststores` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34206&quot;&gt;#34206&lt;/a&gt; Move to single approach for setting `Robots` specifications: prefer `X-Robots-Tag` header to `&lt;meta&gt;` tags &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/34244&quot;&gt;#34244&lt;/a&gt; Enable branding without code changes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34777&quot;&gt;#34777&lt;/a&gt; [Operator] Use TLS secret for 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/35441&quot;&gt;#35441&lt;/a&gt; Add FAPI 2.0 + DPoP security profile as default profile of 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/36160&quot;&gt;#36160&lt;/a&gt; Default values for User attributes. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/36268&quot;&gt;#36268&lt;/a&gt; Configuration is not available outside of quarkus modules &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37363&quot;&gt;#37363&lt;/a&gt; Allow custom labels on Operator 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/37600&quot;&gt;#37600&lt;/a&gt; Experimental support for authenticating clients with Kubernetes Service Accounts &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38126&quot;&gt;#38126&lt;/a&gt; Improve documentation for the HEALTHCHECK Dockerfile directive &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/38897&quot;&gt;#38897&lt;/a&gt; Add WASM support to the MimeTypeUtil &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39293&quot;&gt;#39293&lt;/a&gt; [OID4VCI] Update credential format identifier of SD-JWT VCs from `vc+sd-jwt` to `dc+sd-jwt` &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/39299&quot;&gt;#39299&lt;/a&gt; Improve docs, and possibly defaults, around ldap pooling &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39342&quot;&gt;#39342&lt;/a&gt; Description for using too many threads / connections is incomplete &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/39658&quot;&gt;#39658&lt;/a&gt; OpenTelemetry Tracing: Visualize JGroups communication &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/39812&quot;&gt;#39812&lt;/a&gt; Add filter to include/fill MDC with request specific data for json logging &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40061&quot;&gt;#40061&lt;/a&gt; Redundant null-checks. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40067&quot;&gt;#40067&lt;/a&gt; Always null field in KeySelectorUtilizingKeyNameHint. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40069&quot;&gt;#40069&lt;/a&gt; Possible dereference of Null &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40226&quot;&gt;#40226&lt;/a&gt; Review and update the documentation regarding the UPDATE EMAIL feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40227&quot;&gt;#40227&lt;/a&gt; Make UPDATE_EMAIL a supported feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40231&quot;&gt;#40231&lt;/a&gt; Improve javadoc for admin-client methods with injecting own resteasyClient &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/40296&quot;&gt;#40296&lt;/a&gt; Update docs how to verify that a cluster has formed &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40377&quot;&gt;#40377&lt;/a&gt; Allow to expose IDP custom config values to Keycloak themes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40388&quot;&gt;#40388&lt;/a&gt; Write documentation for additional datasources &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/40406&quot;&gt;#40406&lt;/a&gt; Create ServiceMonitor via KC Operator &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40464&quot;&gt;#40464&lt;/a&gt; Improve extensibility of custom AccountConsole endpoint handling &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/40481&quot;&gt;#40481&lt;/a&gt; Provide CLI Parameters for jgroups.* options &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/40592&quot;&gt;#40592&lt;/a&gt; Upgrade to the Quarkus 3.24.2 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/40619&quot;&gt;#40619&lt;/a&gt; When editing protocol mappers, shows required 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/40629&quot;&gt;#40629&lt;/a&gt; Signs of fall-through behavior. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40630&quot;&gt;#40630&lt;/a&gt; Double check when working with multithreading. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40659&quot;&gt;#40659&lt;/a&gt; Possible Dereference of Null. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40660&quot;&gt;#40660&lt;/a&gt; Resources leak. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40677&quot;&gt;#40677&lt;/a&gt; Redundant null checks - operator new. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40683&quot;&gt;#40683&lt;/a&gt; Remove workaround for handling Syslog counting framing &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40687&quot;&gt;#40687&lt;/a&gt; Remove workaround for PostgreSQL and Liquibase &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40739&quot;&gt;#40739&lt;/a&gt; Avoid floating promises in UI code &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/40761&quot;&gt;#40761&lt;/a&gt; Change naming for disabling additional datasource &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40792&quot;&gt;#40792&lt;/a&gt; Changing default passwordless webauthn policy to follow recommended values in the documentation &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/40851&quot;&gt;#40851&lt;/a&gt; Upgrade to Infinispan 15.0.16.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40855&quot;&gt;#40855&lt;/a&gt; External-internal token exchange independent from FGAP v1 &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange/federated&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40858&quot;&gt;#40858&lt;/a&gt; Check cluster is correctly formed in ClusteredKeycloakServer &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/40874&quot;&gt;#40874&lt;/a&gt; Update code and documentation for import of a new realm &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40875&quot;&gt;#40875&lt;/a&gt; Improve memory footprint of single file realm import &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40923&quot;&gt;#40923&lt;/a&gt; Compliant with RFC8414, return server metadata at /.well-known/oauth-authorization-server/realms/{realm} &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/40926&quot;&gt;#40926&lt;/a&gt; More secure call of Facebook debug token &lt;span class=&quot;badge bg-secondary&quot;&gt;token-exchange/federated&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40933&quot;&gt;#40933&lt;/a&gt; Allow configure encryption details for SAML clients &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/40962&quot;&gt;#40962&lt;/a&gt; Update limitations of the preview feature rolling updates for patch 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/40970&quot;&gt;#40970&lt;/a&gt; Run clustering compatibility tests on release/x.y branches &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41014&quot;&gt;#41014&lt;/a&gt; Operator auto update hash &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/41022&quot;&gt;#41022&lt;/a&gt; Allow Features to declare that they support Rolling upgrades &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41034&quot;&gt;#41034&lt;/a&gt; Improve logging for client sessions load &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41045&quot;&gt;#41045&lt;/a&gt; Update email feature only enabled if the required action is enabled at the realm &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41074&quot;&gt;#41074&lt;/a&gt; Import client sessions into Infinispan concurrently for persistent sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41119&quot;&gt;#41119&lt;/a&gt; FAPI 2.0 Security Profile Final - only accept its issuer identifier value as a string in the aud claim received in client authentication assertions &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/41120&quot;&gt;#41120&lt;/a&gt; FAPI 2.0 Security Profile Final - Add FAPI 2.0 Final security profile as default profile of 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/41121&quot;&gt;#41121&lt;/a&gt; FAPI 2.0 Security Profile Final - Documentation &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/41138&quot;&gt;#41138&lt;/a&gt; Implement CompatibilityMetadataProvider for Cache CLI args &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41151&quot;&gt;#41151&lt;/a&gt; Update Traditional Chinese locale to latest version &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41161&quot;&gt;#41161&lt;/a&gt; Require setting DB kind for additional datasources &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/41172&quot;&gt;#41172&lt;/a&gt; Upgrade to Quarkus 3.24.3 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41176&quot;&gt;#41176&lt;/a&gt; Document supported OIDC/OAuth2 standards &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/41186&quot;&gt;#41186&lt;/a&gt; Upgrade to Quarkus 3.25.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/41192&quot;&gt;#41192&lt;/a&gt; Improve handling of datasource name specified in `persistence.xml` files &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/41208&quot;&gt;#41208&lt;/a&gt; MDC logging should contain the authentication session and user session ID &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41214&quot;&gt;#41214&lt;/a&gt; Document configuration changes that prevent rolling updates &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41219&quot;&gt;#41219&lt;/a&gt; Document spi-user-sessions--infinispan--use-batches &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41222&quot;&gt;#41222&lt;/a&gt; Provide DB SQL options support for additional datasources &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/41229&quot;&gt;#41229&lt;/a&gt; Remove obsolete code for the Liquibase LogHistoryService &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/41239&quot;&gt;#41239&lt;/a&gt; Migrate to zh-Hans / zh-Hant for simplified and traditional Chinese &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/41246&quot;&gt;#41246&lt;/a&gt; Upgrade to Quarkus 3.24.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/41257&quot;&gt;#41257&lt;/a&gt; Upgrade to Infinispan 15.0.18.Final &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/41259&quot;&gt;#41259&lt;/a&gt; Passkeys support in IdpUsernamePasswordForm &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/41283&quot;&gt;#41283&lt;/a&gt; Update ua-parser to 1.6.1 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41293&quot;&gt;#41293&lt;/a&gt; Remove obsolete Liquibase FK snapshot generator &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/41297&quot;&gt;#41297&lt;/a&gt; Implement CompatibilityMetadataProvider for DB options &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41303&quot;&gt;#41303&lt;/a&gt; Allow for health check on main interface &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41312&quot;&gt;#41312&lt;/a&gt; FAPI 2.0 Message Signing Final - Add FAPI 2.0 Final message singning as default profile of 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/41313&quot;&gt;#41313&lt;/a&gt; FAPI 2.0 Message Signing Final - Documentation &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/41328&quot;&gt;#41328&lt;/a&gt; Utilise table to display Features &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41335&quot;&gt;#41335&lt;/a&gt; Kerberos &quot;Server Principal&quot; value should automatically trim leading/trailing whitespace &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41352&quot;&gt;#41352&lt;/a&gt; Provide simple HTTP access logs &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/41354&quot;&gt;#41354&lt;/a&gt; Avoid OTP when logging in with passkey &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41374&quot;&gt;#41374&lt;/a&gt; Upgrade to Quarkus 3.24.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/41405&quot;&gt;#41405&lt;/a&gt; Add log details about client assertion for client authentication with Client-JWT &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41455&quot;&gt;#41455&lt;/a&gt; Adds TiDB into the database test matrix &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41459&quot;&gt;#41459&lt;/a&gt; Query parameter &quot;claims&quot; not forwarded to external 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/41551&quot;&gt;#41551&lt;/a&gt; Support for key size 3072 in rsa-generated key providers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41556&quot;&gt;#41556&lt;/a&gt; Switch passkeys to supported &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/41557&quot;&gt;#41557&lt;/a&gt; Update passkeys documentation after they 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/41558&quot;&gt;#41558&lt;/a&gt; Ensure cache configuration has correct number of owners &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41559&quot;&gt;#41559&lt;/a&gt; Simplify Cache Configuration file by removing built-in cache configurations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41561&quot;&gt;#41561&lt;/a&gt; Detect and handle KC split brain clusters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41585&quot;&gt;#41585&lt;/a&gt; Refactor high-availability guide to include both single and multi cluster architectures &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41613&quot;&gt;#41613&lt;/a&gt; Ability to display &#39;authenticator provider&#39; of the WebAuthn credential &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/41625&quot;&gt;#41625&lt;/a&gt; Login[v2]: &quot;Update email&quot; screen is not polished &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/41666&quot;&gt;#41666&lt;/a&gt; Default to stretched clusters on Kubernetes when possible &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41670&quot;&gt;#41670&lt;/a&gt; Allow forwarding the `claims` parameter from the initial authorization request to brokered OPs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41717&quot;&gt;#41717&lt;/a&gt; Upgrade to Quarkus 3.25.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/41729&quot;&gt;#41729&lt;/a&gt; Define default topologySpreadConstraints &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41765&quot;&gt;#41765&lt;/a&gt; Add Azerbaijani 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/41766&quot;&gt;#41766&lt;/a&gt; Add the ability to set abritrary environment variables in Keycloak CR &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41820&quot;&gt;#41820&lt;/a&gt; Add a warning about provider jars &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41831&quot;&gt;#41831&lt;/a&gt; Improve autocomplete on mobile for OTP field &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41836&quot;&gt;#41836&lt;/a&gt; Add config option to Configure OTP action to automatically add RecoveryCodes action upon OTP creation. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41837&quot;&gt;#41837&lt;/a&gt; Remove OIDCLoginProtocolService.certsHead() &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/41870&quot;&gt;#41870&lt;/a&gt; Kazakh (kk) locale support with 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/41898&quot;&gt;#41898&lt;/a&gt; Clarify the documentation on automatic database schema downgrades &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/41901&quot;&gt;#41901&lt;/a&gt; FGAP v2: RESET_PASSWORD capability for USERS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41933&quot;&gt;#41933&lt;/a&gt; Configure topology information in Infinispan &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41934&quot;&gt;#41934&lt;/a&gt; Infinispan 15.0.19.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41950&quot;&gt;#41950&lt;/a&gt; Log applied cache configurations as part of debug logs &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42016&quot;&gt;#42016&lt;/a&gt; More flexible handling  of params, headers and entities for SimpleHTTP &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42030&quot;&gt;#42030&lt;/a&gt; Could the list of supported DPoP algorithms be dynamically retrieved? &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/42031&quot;&gt;#42031&lt;/a&gt; Minor enhancements in the DPoP related codebase &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/42032&quot;&gt;#42032&lt;/a&gt; Switch DPoP feature to supported &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/42047&quot;&gt;#42047&lt;/a&gt; Skip configuring `jdbc-ping` stack in local mode &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42094&quot;&gt;#42094&lt;/a&gt; keycloak oob (out-of-band) copy button &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/42096&quot;&gt;#42096&lt;/a&gt; Concurrently update the remote caches &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42180&quot;&gt;#42180&lt;/a&gt; Cache UserAgent parsing result &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42186&quot;&gt;#42186&lt;/a&gt; Document network latency requirements for stretched clusters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42191&quot;&gt;#42191&lt;/a&gt; Document mtls considerations for probes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42203&quot;&gt;#42203&lt;/a&gt; Upgrade to Quarkus 3.27 LTS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42269&quot;&gt;#42269&lt;/a&gt; Some 409 API responses are missing from the OpenAPI spec &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/42274&quot;&gt;#42274&lt;/a&gt; Session IDs and auth codes have less than 128 bits of entropy &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42283&quot;&gt;#42283&lt;/a&gt; More efficient secure ID generator &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42286&quot;&gt;#42286&lt;/a&gt; Support EdDSA for 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/42293&quot;&gt;#42293&lt;/a&gt; Set Liquibase DB type based on the `db` option &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/42300&quot;&gt;#42300&lt;/a&gt; Validate wait_timeout parameter on MySQL and MariaDB &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42304&quot;&gt;#42304&lt;/a&gt; Document tested and supported configurations for single-cluster deployments &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42305&quot;&gt;#42305&lt;/a&gt; Document that single-cluster deployments expect all Keycloak instances to serve traffic &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42308&quot;&gt;#42308&lt;/a&gt; Support Aurora PostgreSQL 17.5 in Keycloak&#39;s nightly run &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42342&quot;&gt;#42342&lt;/a&gt; Upgrade to Quarkus 3.26.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/42356&quot;&gt;#42356&lt;/a&gt; Support MariaDB 11.8 LTS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42358&quot;&gt;#42358&lt;/a&gt; Remove usage of the term &quot;stretched&quot; from single-cluster HA guides &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42374&quot;&gt;#42374&lt;/a&gt; Concurrent update embedded caches and database &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42381&quot;&gt;#42381&lt;/a&gt; [RLM] - Validate actions that support aggregating actions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42382&quot;&gt;#42382&lt;/a&gt; [RLM] - Immediate policies should not allow setting a time to their actions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42384&quot;&gt;#42384&lt;/a&gt; [RLM] Allow adding and removing actions to existing policies &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42385&quot;&gt;#42385&lt;/a&gt; [RLM] Scheduled time of actions should be based on the previous action &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42389&quot;&gt;#42389&lt;/a&gt; [RLM] Review the available event names to makre more explicit the resource type and the operation they are related to &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42392&quot;&gt;#42392&lt;/a&gt; Link to quay IO website for the Keycloak image in upstream &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/42409&quot;&gt;#42409&lt;/a&gt; Wrong form to enter username and password for an unknown 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/42499&quot;&gt;#42499&lt;/a&gt; Follow-up: FAPI 2.0 Message Signing final version support - updating the link to the final spec &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/42525&quot;&gt;#42525&lt;/a&gt; Catch specific expeception and add logging when there is no active request context &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42532&quot;&gt;#42532&lt;/a&gt; Edit Keycloak 26.4 release notes &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42547&quot;&gt;#42547&lt;/a&gt; Replace UUID with composite key for client session cache &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/42564&quot;&gt;#42564&lt;/a&gt; Edit Keycloak 26.4 Upgrading Guide &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42628&quot;&gt;#42628&lt;/a&gt; Lazy load client sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42697&quot;&gt;#42697&lt;/a&gt; [RLM] - Improve the Workflow JSON schema &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42705&quot;&gt;#42705&lt;/a&gt; Document Caffeine cache metrics &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42728&quot;&gt;#42728&lt;/a&gt; DPoP: documentation update &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/42733&quot;&gt;#42733&lt;/a&gt; Test JDK 25 in CI &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/42740&quot;&gt;#42740&lt;/a&gt; Possibility to enforce authorization code binding to 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/42746&quot;&gt;#42746&lt;/a&gt; Polishing of client switch on 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/42751&quot;&gt;#42751&lt;/a&gt; Allow EdDSA keys in the JWTClientCredentialsProvider to authenticate clients &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/42755&quot;&gt;#42755&lt;/a&gt; [OID4VCI] Filter supported_enc_algorithms to only include asymmetric algorithms &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/42756&quot;&gt;#42756&lt;/a&gt; Add missing Swedish translation for login theme &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42888&quot;&gt;#42888&lt;/a&gt; [RLM] - Allow defining steps in a workflow that can run immediate or scheduled &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42916&quot;&gt;#42916&lt;/a&gt; [RLM] - Dot not allow updates to workflow properties that impact the scheduled steps &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42927&quot;&gt;#42927&lt;/a&gt; Update OID4VCI documentation with new .well-known URL 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/42955&quot;&gt;#42955&lt;/a&gt; Use JDK 25 Temurin in GHA CI &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/43017&quot;&gt;#43017&lt;/a&gt; OID4VCI in the release notes for 26.4.0 &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/43035&quot;&gt;#43035&lt;/a&gt; Allow setting max age to the update email action &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/26972&quot;&gt;#26972&lt;/a&gt; NginxProxySslClientCertificateLookupFactory unable to work with custom trust stores &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/35825&quot;&gt;#35825&lt;/a&gt; Per client session idle time capped by realm level client idle timeout &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/35932&quot;&gt;#35932&lt;/a&gt; Importing a realm takes more than 1 minute when multiple others exist. &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/36716&quot;&gt;#36716&lt;/a&gt; invalid_request when authenticating using PAR (Pushed Authorization Request) while Kerberos is enabled &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/38016&quot;&gt;#38016&lt;/a&gt; User session limit exceeded for both realm and client removes the wrong session &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/38556&quot;&gt;#38556&lt;/a&gt; Consistent behaviour for User API getUsers and count &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/38924&quot;&gt;#38924&lt;/a&gt; `--debug` does not work with docker container version of Keycloak &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/38928&quot;&gt;#38928&lt;/a&gt; Can&#39;t install Keycloak Operator on OpenShift via OperatorHub on ARM &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/39079&quot;&gt;#39079&lt;/a&gt; AuthenticationFlowException when a user tries a password grant using a service account &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/39091&quot;&gt;#39091&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.JGroupsCertificateRotationClusterTest#testCoordinatorHasScheduleTask &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/39122&quot;&gt;#39122&lt;/a&gt; Export fails with an unexpected error if the realm does not exist &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/39608&quot;&gt;#39608&lt;/a&gt; Getting Keycloak exception with request 500 status code on /account with semicolon in URL &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/39609&quot;&gt;#39609&lt;/a&gt; Users searchAttributes broken for empty value &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/39766&quot;&gt;#39766&lt;/a&gt; [Keycloak Operator CI] - Test local apiserver - Kube API Server did not start properly &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/39854&quot;&gt;#39854&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.PermissionTicketInvalidationClusterTest#crudWithFailover &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/39864&quot;&gt;#39864&lt;/a&gt; IdP redirect fails when user belongs to multiple organizations with organization:* 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/40160&quot;&gt;#40160&lt;/a&gt; Action Tokens Copy Nonce Into JTI &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/40192&quot;&gt;#40192&lt;/a&gt; REST Admin API - ClientsResource response with 200 OK even needed roles are missing &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/40368&quot;&gt;#40368&lt;/a&gt; NPE during loading user groups with concurrent deletion &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/40374&quot;&gt;#40374&lt;/a&gt; Random but frequent duplicate key value violates unique constraint \&quot;constraint_offl_us_ses_pk2\&quot; errors &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/40383&quot;&gt;#40383&lt;/a&gt; KC should connect to a writer instance of PostgreSQL automatically &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/40398&quot;&gt;#40398&lt;/a&gt; ModelDuplicateException on next login after deleting an account and back-channel logout &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/40463&quot;&gt;#40463&lt;/a&gt; Login to Account Console produces two consecutive LOGIN events &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/40557&quot;&gt;#40557&lt;/a&gt; Uploading JSON import in UI causes extreme lag or entirely unresponsive page since 26.1 &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40680&quot;&gt;#40680&lt;/a&gt; Inconsistency between UserModel.isMemberOf and RoleUtils.isMember (with LDAP involved) &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/40713&quot;&gt;#40713&lt;/a&gt; Unable to configure TLS reloading in Keycloak version 26.2.0 or later &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/40754&quot;&gt;#40754&lt;/a&gt; UserSession Offline removed from DB if not in cache &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/40782&quot;&gt;#40782&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.RealmInvalidationClusterTest#crudWithFailover &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/40784&quot;&gt;#40784&lt;/a&gt; Default jdbc-ping cluster setup for distributed caches fails in Oracle &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/40786&quot;&gt;#40786&lt;/a&gt; Typo in Consent Scope Representation &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/40788&quot;&gt;#40788&lt;/a&gt; Custom scope display name not shown in 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/40818&quot;&gt;#40818&lt;/a&gt; Identity provider links list is limited to 100 entries for a user 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/40838&quot;&gt;#40838&lt;/a&gt; Mark options for additional datasources as preview &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/40857&quot;&gt;#40857&lt;/a&gt; Unbounded login_hint Parameter Can Corrupt KC_RESTART Cookie and Break Login 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/40890&quot;&gt;#40890&lt;/a&gt; Keycloak Operator 26.3.0 fails to update to 26.3.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/40903&quot;&gt;#40903&lt;/a&gt; Proxy detection needs tweaked for insecure context warning &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/40930&quot;&gt;#40930&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/40932&quot;&gt;#40932&lt;/a&gt; [Operator] UpdateTest.testImageChange throws TimeoutException &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/40935&quot;&gt;#40935&lt;/a&gt; NPE thrown when encoding a token without having a client set in the session &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/40945&quot;&gt;#40945&lt;/a&gt; Unclear documentation for setting management server as http when main server is https &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/40954&quot;&gt;#40954&lt;/a&gt; Keycloak 26.3.0 Regression: Failed to login if web-authn 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/40959&quot;&gt;#40959&lt;/a&gt; Update &quot;Enabling and disabling features&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/40975&quot;&gt;#40975&lt;/a&gt; Make passkeys feature dependent on web_authn &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/40977&quot;&gt;#40977&lt;/a&gt; Loglevel recorded from build phase &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/40980&quot;&gt;#40980&lt;/a&gt; Can&#39;t update security-admin-console via admin UI with volatile sessions &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/40984&quot;&gt;#40984&lt;/a&gt; Backchannel logout token with an unexpected signature algorithm key &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/40995&quot;&gt;#40995&lt;/a&gt; LDAP /  ModelException: At least one condition should be provided to OR query &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/40997&quot;&gt;#40997&lt;/a&gt; Wildcard mappers should be implicitly handled and value propagated &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/41008&quot;&gt;#41008&lt;/a&gt; Missing signin with passkeys feature when FORCED_REAUTHENTICATION = true &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/41018&quot;&gt;#41018&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.ClientInvalidationClusterTest#crudWithFailover &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/41023&quot;&gt;#41023&lt;/a&gt; Can&#39;t send e-mails to international e-mail addresses: bad UTF-8 syntax &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/41029&quot;&gt;#41029&lt;/a&gt; DOC: &#39;Running Keycloak in a Container&#39; inconsistent &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/41035&quot;&gt;#41035&lt;/a&gt; Skip update email required action if email attribute is not writable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41037&quot;&gt;#41037&lt;/a&gt; WebAuthN Setup: OperationError: A request is already pending. &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/41038&quot;&gt;#41038&lt;/a&gt; FIPS errors in CI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41041&quot;&gt;#41041&lt;/a&gt; Able to create a client without entering 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/41044&quot;&gt;#41044&lt;/a&gt; Federated users incorrectly listed on first load due to uninitialized userProfileProvidersEnabled &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41080&quot;&gt;#41080&lt;/a&gt; Permission evaluatio for resource type Clients broken &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/41082&quot;&gt;#41082&lt;/a&gt; Multiple primary key defined when attempting to upgrade after 26.3.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/41098&quot;&gt;#41098&lt;/a&gt; Locked out after upgrade to 26.3.1 due to missing sub in lightweight 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/41103&quot;&gt;#41103&lt;/a&gt; Service Account users now showing in the User List &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41105&quot;&gt;#41105&lt;/a&gt; Unknown relation when removing realm role with --db-schema configured &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/41117&quot;&gt;#41117&lt;/a&gt; NUL byte characters are sent from query parameters to the database causing SQL exception &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/41140&quot;&gt;#41140&lt;/a&gt; Blank Tab in Client Registration Access 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/41148&quot;&gt;#41148&lt;/a&gt; org.keycloak.authentication.forms.RegistrationPassword#validate -&gt; java.lang.UnsupportedOperationException &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/41152&quot;&gt;#41152&lt;/a&gt; Docs use em-dashes instead of double dashes for SPI options in regular text &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/41170&quot;&gt;#41170&lt;/a&gt; &#39;exp&#39; and &#39;iat&#39; missing from claims_supported entry in OpenID Endpoint Configuration &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/41181&quot;&gt;#41181&lt;/a&gt; FAPI 2.0 Message Singing Final - PAR endpoind does not return an appropriate error regarding a 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/41184&quot;&gt;#41184&lt;/a&gt; CVE-2025-48924 - Uncontrolled Recursion vulnerability in Apache Commons Lang &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41188&quot;&gt;#41188&lt;/a&gt; UserResources.addFederatedIdentity is missing OpenApi @Consumes annotation &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/41204&quot;&gt;#41204&lt;/a&gt; UpdateTest CI failures &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/41228&quot;&gt;#41228&lt;/a&gt; [quarkus-next] Migration tests failed for MySQL-based DB drivers &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/41235&quot;&gt;#41235&lt;/a&gt; Group imports performance &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/41242&quot;&gt;#41242&lt;/a&gt; Re-authentication with passkeys not easily possible &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/41268&quot;&gt;#41268&lt;/a&gt; `--optimized` flag and providers jar are incompatible when used with tools changing `last-modify-date` &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/41287&quot;&gt;#41287&lt;/a&gt; Failing test 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/41289&quot;&gt;#41289&lt;/a&gt; Account test failing &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/41290&quot;&gt;#41290&lt;/a&gt; Concurrent starts with JDBC_PING lead to a split cluster &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/41295&quot;&gt;#41295&lt;/a&gt; Avoid additional execution of Liquibase changelog lock table statement &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/41299&quot;&gt;#41299&lt;/a&gt; [quarkus-next] Missing comment generated by Liquibase executor in the custom script &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/41331&quot;&gt;#41331&lt;/a&gt; Prevent sending massive amount of emails if a user clicks multiple times to get a new verify email link &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/41339&quot;&gt;#41339&lt;/a&gt; Add and delete bundle test 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/41388&quot;&gt;#41388&lt;/a&gt; Welcome page creates an temporary 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/41390&quot;&gt;#41390&lt;/a&gt; JDBC_PING2 doesn&#39;t merge split clusters after a while &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/41418&quot;&gt;#41418&lt;/a&gt; Access to user details for restricted admin fails after enabling organizationin realm &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/41421&quot;&gt;#41421&lt;/a&gt; Broken link securing-cache-communication in caching 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/41423&quot;&gt;#41423&lt;/a&gt; Duplicate IDs in generated all configuration 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/41427&quot;&gt;#41427&lt;/a&gt; Parallel token exchange fails if client session is expired &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/41466&quot;&gt;#41466&lt;/a&gt; [quarkus-next] @QuarkusTest fetches JARs again when executed &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/41468&quot;&gt;#41468&lt;/a&gt; [quarkus-next] [windows] ClassNotFoundException: JvmOptionsBuilder &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/41469&quot;&gt;#41469&lt;/a&gt; Uncaught exception cases unclosed spans in tracing &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/41474&quot;&gt;#41474&lt;/a&gt; File choosing tests fail on Windows &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41488&quot;&gt;#41488&lt;/a&gt; Synchronize Maven surefire plugin with Quarkus &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/41491&quot;&gt;#41491&lt;/a&gt; ExternalLinks are broken 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/41520&quot;&gt;#41520&lt;/a&gt; LDAP Import: KERBEROS_PRINCIPAL not updated when UserPrincipal changes and KERBEROS_PRINCIPAL was null on creation &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/41532&quot;&gt;#41532&lt;/a&gt; LDAP Sync all users takes unexpectedly long in 26.3 (&gt; 30 min) &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/41537&quot;&gt;#41537&lt;/a&gt; Getting error 405 &quot;Method Not Allowed&quot; when calling the &quot;certs&quot; endpoint with HEAD method &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/41598&quot;&gt;#41598&lt;/a&gt; Kerberos playwright test flaky &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41609&quot;&gt;#41609&lt;/a&gt; RejectImplicitGrantExecutor does not return an error when a PAR request includes Implicit or Hybrid response type &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/41620&quot;&gt;#41620&lt;/a&gt; Typos and AsciiDoc formatting in token exchange &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/41624&quot;&gt;#41624&lt;/a&gt; Duplicate fields in RealmRepresentation in OpenAPI JSON file &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/41641&quot;&gt;#41641&lt;/a&gt; Cannot use `dev-file` for additional datasources &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/41643&quot;&gt;#41643&lt;/a&gt; Test SMTP connection fails when no port is 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/41648&quot;&gt;#41648&lt;/a&gt; Flaky user profile 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/41653&quot;&gt;#41653&lt;/a&gt; Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerWellKnownProviderTest#testMetaDataEndpointIsCorrectlySetup &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/41662&quot;&gt;#41662&lt;/a&gt; TiDB Many WAITING threads during high load scenario &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/41663&quot;&gt;#41663&lt;/a&gt; Typo in the caching doc &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/41669&quot;&gt;#41669&lt;/a&gt; Keycloak SAML Adapter subsystem does not work in WildFly 37 &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/41677&quot;&gt;#41677&lt;/a&gt; Provider default regression &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/41683&quot;&gt;#41683&lt;/a&gt; SAML test is flaky &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41701&quot;&gt;#41701&lt;/a&gt; The same text shows up twice on the e-mail validity confirmation screen &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/41711&quot;&gt;#41711&lt;/a&gt; Another flaky SAML 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/41728&quot;&gt;#41728&lt;/a&gt; Node.js v22.18.0 causes JavaScript CI to fail &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41744&quot;&gt;#41744&lt;/a&gt; Weblate does not show zh_hant for the 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/41752&quot;&gt;#41752&lt;/a&gt; Flaky Organization 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/41755&quot;&gt;#41755&lt;/a&gt; Forwarded `claims` parameter from the initial authorization request to brokered OPs is not URL encoded &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/41792&quot;&gt;#41792&lt;/a&gt; docs: Non interactive logout options missing documentation &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/41799&quot;&gt;#41799&lt;/a&gt; Authorization filtering causes NullPointerException with &quot;Null keys are not supported!&quot; in searchForUserStream (26.3.1+) &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/41801&quot;&gt;#41801&lt;/a&gt; Lack of coordination in database creation in 26.3.0 causes deployment failures (Reopen) &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/41804&quot;&gt;#41804&lt;/a&gt; OIDC identity provider token refresh fails with JsonMapperException &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/41808&quot;&gt;#41808&lt;/a&gt; CVE-2025-7962 In Jakarta Mail 2.0.2 it is possible to preform a SMTP Injection by utilizing the \r and \n UTF-8 characters to separate different 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/41821&quot;&gt;#41821&lt;/a&gt; Fix Jandex version collision to allow running tests using 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/41823&quot;&gt;#41823&lt;/a&gt; Test flaky due to dual certificates &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41834&quot;&gt;#41834&lt;/a&gt; Clicking email confirmation links in Outlook results in a &quot;stale link&quot; 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/41842&quot;&gt;#41842&lt;/a&gt; memberOf attribute empty or values with a DN that does not match the role base DN fetches all roles &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/41854&quot;&gt;#41854&lt;/a&gt; KeycloakSession javadoc references keycloak-server.json &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/41860&quot;&gt;#41860&lt;/a&gt; Unbalanced HTML in login form 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/41897&quot;&gt;#41897&lt;/a&gt; Hibernate 7.1 breaks TiDB support &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/41903&quot;&gt;#41903&lt;/a&gt; [Operator CI] - Test local apiserver - Could not load class with name KeycloakDistConfiguratorTest &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/41906&quot;&gt;#41906&lt;/a&gt; Backwards incompatible changes to 26.3.0 cause NullPointerException when requesting /certificates/jwt.credential/generate-and-download &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/41909&quot;&gt;#41909&lt;/a&gt; Admin console provider info shows &quot;Add providers&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/41913&quot;&gt;#41913&lt;/a&gt; [Store IT] - UserSessionRefreshTimePolicyTest 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/41914&quot;&gt;#41914&lt;/a&gt; Role mapping `account.manage-account-links` not sufficient for Client initiated account linking &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/41937&quot;&gt;#41937&lt;/a&gt; Display name for requireAction.idp_link, requireAction.delete_credential and requireAction.update_user_locale not mapping 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/41942&quot;&gt;#41942&lt;/a&gt; Uncaught server error: org.keycloak.models.ModelException: Database operation failed : Sync LDAP Groups to Keycloak (Custom 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/41945&quot;&gt;#41945&lt;/a&gt; After upgrade to 26.3: Not possible to use Credentials having not-unique label &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/41994&quot;&gt;#41994&lt;/a&gt; Check for non-ascii local part on emails depending on SMTP 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/42006&quot;&gt;#42006&lt;/a&gt; Fix flaky tests for personal info 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/42012&quot;&gt;#42012&lt;/a&gt; Client session timestamp not updated in the database if running multiple 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/42018&quot;&gt;#42018&lt;/a&gt; Realm overrides test is flaky &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42033&quot;&gt;#42033&lt;/a&gt; [RLM] NPE during user authentication &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/42044&quot;&gt;#42044&lt;/a&gt; Dynamic client authentication configuration uses wrong config &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42046&quot;&gt;#42046&lt;/a&gt; KeycloakRealmImport placeholder replacement provides access to sensitive environment variables. &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/42050&quot;&gt;#42050&lt;/a&gt; Recovery Codes are shown as &quot;another way&quot; even if not configured &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/42052&quot;&gt;#42052&lt;/a&gt; User Profile attribute annotation &quot;inputType&quot; yields in not savable 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/42057&quot;&gt;#42057&lt;/a&gt; [Operator] Update job incorrectly inherits podTemplate configuration from unsupported.podTemplate &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/42069&quot;&gt;#42069&lt;/a&gt; Fix common failures when running the admin console tests on Firefox &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42114&quot;&gt;#42114&lt;/a&gt; &quot;Session/EntityManager is closed&quot; during  application startup &quot;singleFile&quot; users import &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/42139&quot;&gt;#42139&lt;/a&gt; Backwards compatibility awareness &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/42142&quot;&gt;#42142&lt;/a&gt; Dedicated client scope mappers missing &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/42158&quot;&gt;#42158&lt;/a&gt; Bug in configuration keycoak via keycloak.conf &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/42159&quot;&gt;#42159&lt;/a&gt; Docs: authorization_services/topics/permission-typed-resource-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/42164&quot;&gt;#42164&lt;/a&gt; [Keycloak CI - Docs] Broken links &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/42165&quot;&gt;#42165&lt;/a&gt; [Keycloak CI - Admin UI, Account UI, Account E2E UI] Installing PNMP 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/42178&quot;&gt;#42178&lt;/a&gt; Integer validation error not shown for user profile fields &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/42182&quot;&gt;#42182&lt;/a&gt; Validation errors for required actions don&#39;t show translated 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/42201&quot;&gt;#42201&lt;/a&gt; Local access required if KC_BOOTSTRAP_ADMIN_CLIENT_ID is set but not KC_BOOTSTRAP_ADMIN_USERNAME &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/42208&quot;&gt;#42208&lt;/a&gt; Audience mapper not honored when requesting organization 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/42213&quot;&gt;#42213&lt;/a&gt; Importing SAML IdP metadata sets Validate Signatures to false even if signing certificate is provided &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/42263&quot;&gt;#42263&lt;/a&gt; Quarkus config (quarkus.properties) not picked up after 26.3.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/42270&quot;&gt;#42270&lt;/a&gt; Missing double-dash in the events 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/42276&quot;&gt;#42276&lt;/a&gt; Admin UI hides local users when LDAP provider fails (generic error shown; forces workaround) &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42278&quot;&gt;#42278&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.UserSessionConcurrencyTest#testConcurrentNotesChange &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/42334&quot;&gt;#42334&lt;/a&gt; Experimental features enabled warning shown multiple times &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/42335&quot;&gt;#42335&lt;/a&gt; Colored output is lost during 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/42339&quot;&gt;#42339&lt;/a&gt; Allowed Client Scopes add openid scope in scope list &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/42360&quot;&gt;#42360&lt;/a&gt; LDAP mapper test is flaky &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42369&quot;&gt;#42369&lt;/a&gt; Missing client session offline settings on realm level 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/42375&quot;&gt;#42375&lt;/a&gt; Client to be included cannot be configured for the OID4VCITargetRoleMapper anymore &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/42390&quot;&gt;#42390&lt;/a&gt; OIDC fails if doens&#39;t have email mapper if a LDAP 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/42403&quot;&gt;#42403&lt;/a&gt; ui-shared: Accessibility of Switch control &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42405&quot;&gt;#42405&lt;/a&gt; Old hmac-generated (32bit) is recreated when order is changed in realm keys 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/42408&quot;&gt;#42408&lt;/a&gt; Organization without email domain shows an error when trying to link an Identity Provider &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/42419&quot;&gt;#42419&lt;/a&gt; Client authenticators executed multiple times &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/42426&quot;&gt;#42426&lt;/a&gt; Guides contain broken ha 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/42496&quot;&gt;#42496&lt;/a&gt; Compilation error in RolePolicyConditionProvider &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/42575&quot;&gt;#42575&lt;/a&gt; Locale selector displays incorrect label for Chinese &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/42650&quot;&gt;#42650&lt;/a&gt; Failing device-activitiy test in account-ui 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/42652&quot;&gt;#42652&lt;/a&gt; NullPointerException when persisting a client session &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/42678&quot;&gt;#42678&lt;/a&gt; Operator ClusterRoleBinding contains hardcoded namespace &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/42706&quot;&gt;#42706&lt;/a&gt; Incorrect scheme in the WWW-Authenticate when Authorization: DPoP 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/42716&quot;&gt;#42716&lt;/a&gt; The core class EdECUtilsImpl is not present in the sources jar &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/42726&quot;&gt;#42726&lt;/a&gt; Update of sssd should add IFP section to the 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/42736&quot;&gt;#42736&lt;/a&gt; Reset password in admin UI with &#39;not recently used&#39; password policy leads to error &#39;Device already exists with the same name&#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/42737&quot;&gt;#42737&lt;/a&gt; The new email is mandatory error for update profile action with enabled 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/42752&quot;&gt;#42752&lt;/a&gt; Keycloak build broken &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/42765&quot;&gt;#42765&lt;/a&gt; Can&#39;t log in to admin and account console due to Web Crypto API not being 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/42769&quot;&gt;#42769&lt;/a&gt; Missing switch &quot;ID Token as detached signature&quot; in the admin console client settings &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/42770&quot;&gt;#42770&lt;/a&gt; Introduce pending email verification message for UPDATE_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/42786&quot;&gt;#42786&lt;/a&gt; Inconsistent spelling auth WebAuthn &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/42792&quot;&gt;#42792&lt;/a&gt; IDX_EVENT_ENTITY_USER_ID_TYPE missing column EVENT_TIME &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/42828&quot;&gt;#42828&lt;/a&gt; Remove environment information from the server-info &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/42833&quot;&gt;#42833&lt;/a&gt; Add validation of workflow steps also when adding single step to workflow &lt;span class=&quot;badge bg-secondary&quot;&gt;workflows&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42837&quot;&gt;#42837&lt;/a&gt; Identify-First form should disallow empty entry &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/42856&quot;&gt;#42856&lt;/a&gt; Broken external link in documentation for npm.js.com &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/42867&quot;&gt;#42867&lt;/a&gt; LOGIN event without a user session &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/42877&quot;&gt;#42877&lt;/a&gt; Valid scope parameter in access token request is rejected with invalid_scope error &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/42887&quot;&gt;#42887&lt;/a&gt; SPIFFE IdP added to login screen when created via browser &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/42918&quot;&gt;#42918&lt;/a&gt; Typo in the latest 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/42922&quot;&gt;#42922&lt;/a&gt; Dynamic Client Registration invalidates 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/42949&quot;&gt;#42949&lt;/a&gt; Username containing a &#39;#&#39; is truncated in Admin Console when hiding inherited roles &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/42958&quot;&gt;#42958&lt;/a&gt; Upgrade bc-fips dependencies &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/43002&quot;&gt;#43002&lt;/a&gt; Delete workflow has wrong messages. &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/09/keycloak-2640-released</guid>
        <pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.3.5 released</title>
        <link>https://www.keycloak.org/2025/09/keycloak-2635-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/41371&quot;&gt;#41371&lt;/a&gt; Upgrade to Quarkus 3.20.3 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/41373&quot;&gt;#41373&lt;/a&gt; Remove explicit MariaDB connector dependency &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/41418&quot;&gt;#41418&lt;/a&gt; Access to user details for restricted admin fails after enabling organizationin realm &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/42405&quot;&gt;#42405&lt;/a&gt; Old hmac-generated (32bit) is recreated when order is changed in realm keys 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/42491&quot;&gt;#42491&lt;/a&gt; CVE-2025-58057 - Netty BrotliDecoder / Data Amplification vulnerability &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/42492&quot;&gt;#42492&lt;/a&gt; CVE-2025-58056 - Netty HTTP Request Smuggling vulnerability &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/42736&quot;&gt;#42736&lt;/a&gt; Reset password in admin UI with &#39;not recently used&#39; password policy leads to error &#39;Device already exists with the same name&#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/42769&quot;&gt;#42769&lt;/a&gt; Missing switch &quot;ID Token as detached signature&quot; in the admin console client settings &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/42922&quot;&gt;#42922&lt;/a&gt; Dynamic Client Registration invalidates the realm cache &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/2025/09/keycloak-2635-released</guid>
        <pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Passkeys support in upcoming Keycloak release (26.4)</title>
        <link>https://www.keycloak.org/2025/09/passkeys-support-26-4</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Passkeys have been available in Keycloak since version 23.0.0 as a preview feature. We are happy to announce official support for passkeys in upcoming &lt;strong&gt;Keycloak 26.4.0&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_passkey&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_passkey&quot;&gt;&lt;/a&gt;What is passkey?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Definition from &lt;a href=&quot;https://fidoalliance.org&quot;&gt;FIDO Alliance&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;exampleblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A passkey is a FIDO authentication credential based on FIDO standards, that allows a user to sign in to apps and websites with the same process that they use to unlock their device (biometrics, PIN, or pattern).
Passkeys are FIDO cryptographic credentials that are tied to a user’s account on a website or application.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.passkeycentral.org/home&quot;&gt;More info&lt;/a&gt;&lt;/p&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;_whats_new&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_new&quot;&gt;&lt;/a&gt;What&amp;#8217;s new?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Passkeys are now seamlessly integrated to Keycloak using both conditional and modal UI. There is no need to modify default browser flow to use passkeys. Passkeys support is not enabled by default. It needs to be enabled in the &lt;strong&gt;WebAuthn Passwordless Policy&lt;/strong&gt; (&lt;strong&gt;Authentication&lt;/strong&gt; → &lt;strong&gt;Policies&lt;/strong&gt; → &lt;strong&gt;Webauthn Passwordless Policy&lt;/strong&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;There is new &lt;strong&gt;Conditional - credential&lt;/strong&gt; authenticator that checks if a specific credential type (passkey) has been used during
the authentication process. It is added to the default &lt;strong&gt;browser&lt;/strong&gt; flow to skip 2FA in case a passkey was used to log in as
the primary credential.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Further quite hidden passkey support is also in the re-authentication form, where users can choose passkey as well as password.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information check &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_passkeys-conditional-ui&quot;&gt;Keycloak Server Administration Guide&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;_a_few_examples&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_a_few_examples&quot;&gt;&lt;/a&gt;A few examples&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s start form the fresh Keycloak database. The first steps are obvious ones.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;create admin user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;create one test user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;enable passkey support in (&lt;strong&gt;Authentication&lt;/strong&gt; → &lt;strong&gt;Policies&lt;/strong&gt; → &lt;strong&gt;Webauthn Passwordless Policy&lt;/strong&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;set default required action in (&lt;strong&gt;Authentication&lt;/strong&gt; → &lt;strong&gt;Required actions&lt;/strong&gt; → &lt;strong&gt;Webauthn Register Passwordless&lt;/strong&gt;)&lt;br&gt;
(This step is not necessary, one can use Account Console to register a passkey.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;No need for any other changes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_conditional_ui&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_conditional_ui&quot;&gt;&lt;/a&gt;Conditional UI&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Conditional UI is displayed when other components of the platform supports this UI style and username input field is present.
It can be achieved for example on Linux using Google Chrome browser and 1password password manager with Chrome extension for 1password.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_registering_passkey_stored_in_1password_manager&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_registering_passkey_stored_in_1password_manager&quot;&gt;&lt;/a&gt;Registering passkey stored in 1password manager&lt;/h4&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;img src=&quot;https://www.keycloak.org/resources/images/blog/passkeys/1pwd-register.png&quot; alt=&quot;Registerering 1password passkey&quot; style=&quot;width: 100%; max-width: 863px; height: 100%; object-fit: cover; object-fit: none; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_using_passkey_stored_in_1password_manager&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_using_passkey_stored_in_1password_manager&quot;&gt;&lt;/a&gt;Using passkey stored in 1password manager:&lt;/h4&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;img src=&quot;https://www.keycloak.org/resources/images/blog/passkeys/1pwd-use.png&quot; alt=&quot;Using 1password passkey&quot; style=&quot;width: 100%; max-width: 863px; object-fit: cover; object-fit: none; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_modal_ui&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_modal_ui&quot;&gt;&lt;/a&gt;Modal UI&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Modal UI is an older style and it is used mainly with hardware keys asking for PIN or biometric (such as Yubikeys). It is directly supported in all major browsers. This style of UI is displayed on browser screen when username input field is present (same situations than conditional) but also when the username is already selected and password is requested (re-authentication for example). The modal UI is initiated clicking the button labelled &lt;strong&gt;Sign in with Passkey&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The modal UI can also be slightly different depending on data stored in your hardware key.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_using_hardware_security_key_yubikey_in_case_of_login_pin_entering&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_using_hardware_security_key_yubikey_in_case_of_login_pin_entering&quot;&gt;&lt;/a&gt;Using hardware security key (Yubikey) in case of login (PIN entering)&lt;/h4&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;img src=&quot;https://www.keycloak.org/resources/images/blog/passkeys/hwkey-pin.png&quot; alt=&quot;Enter the pin for the hardware key&quot; style=&quot;width: 100%; max-width:565px; height: 100%; max-height: 790px; object-fit: cover; object-fit: none; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_using_hardware_security_key_yubikey_in_case_of_login_touch_the_key_to_activate_transfer&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_using_hardware_security_key_yubikey_in_case_of_login_touch_the_key_to_activate_transfer&quot;&gt;&lt;/a&gt;Using hardware security key (Yubikey) in case of login (touch the key to activate transfer)&lt;/h4&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;img src=&quot;https://www.keycloak.org/resources/images/blog/passkeys/hwkey-touch.png&quot; alt=&quot;Touch the key to activate transfer&quot; style=&quot;width: 100%; max-width:565px; height: 100%; max-height: 790px;  object-fit: cover; object-fit: none; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_re_authenticating_using_passkey&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_re_authenticating_using_passkey&quot;&gt;&lt;/a&gt;Re-authenticating using passkey&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Leave your window with no actions to pass timeout. Then you see re-authentication window with passkey button (conditional UI style and modal UI are supported) .&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;img src=&quot;https://www.keycloak.org/resources/images/blog/passkeys/1pwd-re-authenticate.png&quot; alt=&quot;Touch the key to activate transfer&quot; style=&quot;width: 100%; max-width: 1037px;  object-fit: cover; object-fit: none; object-position: 0 0&quot;&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;_conclusion&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_conclusion&quot;&gt;&lt;/a&gt;Conclusion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All examples here show the passkeys usage with minimal configuration. There are much more options to change behavior of passkeys in Keycloak authentication. For more information see &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_passkeys-conditional-ui&quot;&gt;Keycloak Server Administration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let us know of possible issues or what you like, please. We are looking for different combinations of operating systems, browsers, password managers and hardware keys. All issues should be reported at &lt;a href=&quot;https://github.com/keycloak/keycloak/issues&quot;&gt;our project&lt;/a&gt;. Thank you in advance.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/09/passkeys-support-26-4</guid>
        <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
        
        <author>Peter Skopek</author>
      </item>
      <item>
        <title>Keycloak 26.3.4 released</title>
        <link>https://www.keycloak.org/2025/09/keycloak-2634-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/40630&quot;&gt;#40630&lt;/a&gt; Double check when working with multithreading. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/42245&quot;&gt;#42245&lt;/a&gt; Upgrade to Quarkus 3.20.2.2 &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/35825&quot;&gt;#35825&lt;/a&gt; Per client session idle time capped by realm level client idle timeout &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/40374&quot;&gt;#40374&lt;/a&gt; Random but frequent duplicate key value violates unique constraint \&quot;constraint_offl_us_ses_pk2\&quot; errors &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/40463&quot;&gt;#40463&lt;/a&gt; Login to Account Console produces two consecutive LOGIN events &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/40857&quot;&gt;#40857&lt;/a&gt; Unbounded login_hint Parameter Can Corrupt KC_RESTART Cookie and Break Login 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/41427&quot;&gt;#41427&lt;/a&gt; Parallel token exchange fails if client session is expired &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/41801&quot;&gt;#41801&lt;/a&gt; Lack of coordination in database creation in 26.3.0 causes deployment failures (Reopen) &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/41942&quot;&gt;#41942&lt;/a&gt; Uncaught server error: org.keycloak.models.ModelException: Database operation failed : Sync LDAP Groups to Keycloak (Custom 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/42012&quot;&gt;#42012&lt;/a&gt; Client session timestamp not updated in the database if running multiple 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/42046&quot;&gt;#42046&lt;/a&gt; KeycloakRealmImport placeholder replacement provides access to sensitive environment variables. &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/42158&quot;&gt;#42158&lt;/a&gt; Bug in configuration keycoak via keycloak.conf &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/42164&quot;&gt;#42164&lt;/a&gt; [Keycloak CI - Docs] Broken links &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/42178&quot;&gt;#42178&lt;/a&gt; Integer validation error not shown for user profile fields &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/42182&quot;&gt;#42182&lt;/a&gt; Validation errors for required actions don&#39;t show translated 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/42270&quot;&gt;#42270&lt;/a&gt; Missing double-dash in the events 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/42339&quot;&gt;#42339&lt;/a&gt; Allowed Client Scopes add openid scope in scope list &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/42369&quot;&gt;#42369&lt;/a&gt; Missing client session offline settings on realm level in the admin UI &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/09/keycloak-2634-released</guid>
        <pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.3.3 released</title>
        <link>https://www.keycloak.org/2025/08/keycloak-2633-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/41558&quot;&gt;#41558&lt;/a&gt; Ensure cache configuration has correct number of owners &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41934&quot;&gt;#41934&lt;/a&gt; Infinispan 15.0.19.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41963&quot;&gt;#41963&lt;/a&gt; Upgrade to Quarkus 3.20.2.1 &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/39562&quot;&gt;#39562&lt;/a&gt; Breaking template change: Unknown `locale` input field added to user-profile registration page &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/40984&quot;&gt;#40984&lt;/a&gt; Backchannel logout token with an unexpected signature algorithm key &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/41023&quot;&gt;#41023&lt;/a&gt; Can&#39;t send e-mails to international e-mail addresses: bad UTF-8 syntax &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/41098&quot;&gt;#41098&lt;/a&gt; Locked out after upgrade to 26.3.1 due to missing sub in lightweight 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/41268&quot;&gt;#41268&lt;/a&gt; `--optimized` flag and providers jar are incompatible when used with tools changing `last-modify-date` &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/41290&quot;&gt;#41290&lt;/a&gt; Concurrent starts with JDBC_PING lead to a split cluster &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/41390&quot;&gt;#41390&lt;/a&gt; JDBC_PING2 doesn&#39;t merge split clusters after a while &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/41421&quot;&gt;#41421&lt;/a&gt; Broken link securing-cache-communication in caching 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/41423&quot;&gt;#41423&lt;/a&gt; Duplicate IDs in generated all configuration 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/41469&quot;&gt;#41469&lt;/a&gt; Uncaught exception cases unclosed spans in tracing &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/41488&quot;&gt;#41488&lt;/a&gt; Synchronize Maven surefire plugin with Quarkus &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/41491&quot;&gt;#41491&lt;/a&gt; ExternalLinks are broken 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/41520&quot;&gt;#41520&lt;/a&gt; LDAP Import: KERBEROS_PRINCIPAL not updated when UserPrincipal changes and KERBEROS_PRINCIPAL was null on creation &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/41532&quot;&gt;#41532&lt;/a&gt; LDAP Sync all users takes unexpectedly long in 26.3 (&gt; 30 min) &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/41537&quot;&gt;#41537&lt;/a&gt; Getting error 405 &quot;Method Not Allowed&quot; when calling the &quot;certs&quot; endpoint with HEAD method &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/41643&quot;&gt;#41643&lt;/a&gt; Test SMTP connection fails when no port is 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/41663&quot;&gt;#41663&lt;/a&gt; Typo in the caching doc &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/41677&quot;&gt;#41677&lt;/a&gt; Provider default regression &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/41808&quot;&gt;#41808&lt;/a&gt; CVE-2025-7962 In Jakarta Mail 2.0.2 it is possible to preform a SMTP Injection by utilizing the \r and \n UTF-8 characters to separate different 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/41842&quot;&gt;#41842&lt;/a&gt; memberOf attribute empty or values with a DN that does not match the role base DN fetches all roles &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/41906&quot;&gt;#41906&lt;/a&gt; Backwards incompatible changes to 26.3.0 cause NullPoointerException when requesting /certificates/jwt.credential/generate-and-download &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/41945&quot;&gt;#41945&lt;/a&gt; After upgrade to 26.3: Not possible to use Credentials having not-unique label &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/08/keycloak-2633-released</guid>
        <pubDate>Wed, 20 Aug 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak DevDay 2026 Announcement and Call-for-Papers</title>
        <link>https://www.keycloak.org/2025/08/keycloak-devday-2026-announcement</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We (&lt;a href=&quot;https://www.linkedin.com/in/dasniko/&quot;&gt;Niko&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/seb7/&quot;&gt;Sebastian&lt;/a&gt;) are excited to announce the next edition of Keycloak DevDay!
DevDay is expanding to a &lt;strong&gt;2-day event&lt;/strong&gt; taking place again in Darmstadt, Germany, on &lt;strong&gt;March 5th and 6th, 2026&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The conference takes place again in Darmstadt, about 30 minutes away from Frankfurt/Main, see &lt;a href=&quot;https://www.keycloak-day.dev&quot; class=&quot;bare&quot;&gt;https://www.keycloak-day.dev&lt;/a&gt; for details.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_whats_new_for_2026&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_new_for_2026&quot;&gt;&lt;/a&gt;What&amp;#8217;s New for 2026?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak DevDay - &lt;strong&gt;the Keycloak community conference&lt;/strong&gt; - expands to an exciting two days:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;strong&gt;Day 1 (February 5th)&lt;/strong&gt; - Traditional Conference Format&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Full day of talks, presentations, and panels featuring maintainers, industry-leading speakers, and community experts.
Dive deep into Keycloak developments, best practices, real-world use cases, and the latest innovations in and around Keycloak.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;&lt;strong&gt;Day 2 (February 6th)&lt;/strong&gt; - Unconference &amp;amp; Open Space&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Interactive format shaped entirely by YOU, the participants! Join fellow Keycloakers in an Unconference/Open Space environment where you can:&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pitch your own topics and ideas&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lead discussions about the challenges you&amp;#8217;re facing&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Collaborate on solutions in small groups&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Share knowledge through informal sessions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Network intensively with community members&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Work on hands-on projects together&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This has been a successful pre-conf event in 2025.
From the feedback of all DevDay participants, we made it an official part of the DevDay.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_to_expect&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_to_expect&quot;&gt;&lt;/a&gt;What to Expect&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;DevDay 2026 continues our tradition of bringing together the vibrant Keycloak community with lots of opportunities for networking and exchange among like-minded people.
As always, there will be plenty of drinks 🥤🍹 and food 🍔🌮🥗, an evening event on the first day, as well as an exclusive surprise gift 🎁 for all participants.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Meet and connect with:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak maintainers and core developers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extension developers and contributors&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Operators running Keycloak in production&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Security architects and IAM specialists&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fellow community members from around the world&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_for_papers&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_call_for_papers&quot;&gt;&lt;/a&gt;Call for Papers 📝&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The call for papers is now open: &lt;a href=&quot;https://sessionize.com/keycloak-devday-2026&quot; class=&quot;bare&quot;&gt;https://sessionize.com/keycloak-devday-2026&lt;/a&gt;!&lt;/strong&gt;&lt;/em&gt; We&amp;#8217;re looking for talks covering:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak core features and new developments&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Real-world implementation case studies&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extension development and customization&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Security best practices and patterns&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Performance optimization and scaling&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integration with cloud-native technologies&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Identity standards and protocols&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Migration experiences and lessons learned&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Submission deadline:&lt;/strong&gt; Mid-October 2025&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;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.
&lt;strong&gt;Submitting early gives you the best chance of being part of DevDay 2026!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_registration_tickets_️&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_registration_tickets_️&quot;&gt;&lt;/a&gt;Registration &amp;amp; Tickets 🎟️&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Ticket sales&lt;/strong&gt; will start in mid-September 2025.
Given the expanded 2-day format, we&amp;#8217;ll have different types of tickets available and they remain limited.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keep an eye on &lt;a href=&quot;https://www.keycloak-day.dev&quot; class=&quot;bare&quot;&gt;https://www.keycloak-day.dev&lt;/a&gt; for:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Early bird discounts&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Registration opening announcements&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Speaker announcements&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Schedule updates&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Newsletter subscription&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;_about_keycloak_devday&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_about_keycloak_devday&quot;&gt;&lt;/a&gt;About KEYCLOAK DevDay&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KEYCLOAK DevDay is organized by active community members for the community.
It&amp;#8217;s the premier gathering for anyone involved in using Keycloak to provide identity and access management value to customers and employees in digital products and services.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Whether you&amp;#8217;re a seasoned Keycloak expert or just getting started with identity and access management, DevDay 2026 offers something for everyone.
Join us for two days of learning, sharing, and building the future of the Keycloak ecosystem together!&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;More details and updates will be published on &lt;a href=&quot;https://www.keycloak-day.dev&quot; class=&quot;bare&quot;&gt;https://www.keycloak-day.dev&lt;/a&gt;.
Follow us for the latest news and announcements!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We can&amp;#8217;t wait to see you in Darmstadt in March 2026! 🚀&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/08/keycloak-devday-2026-announcement</guid>
        <pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate>
        
        <author>Sebastian Rose</author>
      </item>
      <item>
        <title>BRZ Keycloak case study published</title>
        <link>https://www.keycloak.org/2025/08/brz-case-study</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;BRZ migrated the Austrian Business Service Portal with 2M+ users to Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Austrian Business Service Portal (USP) is the central online eGovernment platform for entrepreneurs and businesses. It connects businesses with various Austrian online government services, where businesses can access all digital services and information in one place.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The USP was launched in 2010 by the &lt;a href=&quot;https://www.brz.gv.at/en/&quot;&gt;Austrian Federal Computing Center&lt;/a&gt; (BRZ, abbreviated from the German name Bundesrechenzentrum). The BRZ is the market-leading eGovernment partner of the Austrian federal administration and is both developing and operating the portal.&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.cncf.io/case-studies/brz-migrated-the-austrian-business-service-portal-with-2m-users-to-keycloak/&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/brz-banner-usp.png&quot; alt=&quot;Banner for BRZ Case Study&quot; style=&quot;width: 100%; max-width: 917px; object-fit: cover; height: 240px; object-fit: none; object-position: 0% 0%&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Authenticating and authorizing 2+ million users for 130+ public services is the most important key feature of the USP which now uses Keycloak, microservices and GitOps under the hood.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cncf.io/case-studies/brz-migrated-the-austrian-business-service-portal-with-2m-users-to-keycloak/&quot;&gt;Read on to learn why the team chose to migrate to this solution, how they managed the migration and the benefits of the new setup in this CNCF case study&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are now starting to collect all case studies at &lt;a href=&quot;https://www.keycloak.org/case-studies&quot;&gt;our case studies page&lt;/a&gt;.
If you want to share your case study with the Keycloak community, &lt;a href=&quot;https://github.com/ahus1&quot;&gt;contact me&lt;/a&gt; to sort out the details.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/08/brz-case-study</guid>
        <pubDate>Tue, 5 Aug 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.3.2 released</title>
        <link>https://www.keycloak.org/2025/07/keycloak-2632-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/40237&quot;&gt;#40237&lt;/a&gt; Add option &quot;Requires short state parameter&quot; to OIDC IDP &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/40970&quot;&gt;#40970&lt;/a&gt; Run clustering compatibility tests on release/x.y branches &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41034&quot;&gt;#41034&lt;/a&gt; Improve logging for client sessions load &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41257&quot;&gt;#41257&lt;/a&gt; Upgrade to Infinispan 15.0.18.Final &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&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/39091&quot;&gt;#39091&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.JGroupsCertificateRotationClusterTest#testCoordinatorHasScheduleTask &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/39634&quot;&gt;#39634&lt;/a&gt; Update MariaDB connector to 3.5.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/39854&quot;&gt;#39854&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.PermissionTicketInvalidationClusterTest#crudWithFailover &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/40553&quot;&gt;#40553&lt;/a&gt; Upgrade org.postgresql:postgresql to version 42.7.7 to address CVE-2025-49146 &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/40736&quot;&gt;#40736&lt;/a&gt; CVE-2025-49574 - Exposure of Resource to Wrong Sphere vulnerability in io.vertx:vertx-core &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/40782&quot;&gt;#40782&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.RealmInvalidationClusterTest#crudWithFailover &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/40784&quot;&gt;#40784&lt;/a&gt; Default jdbc-ping cluster setup for distributed caches fails in Oracle &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/40977&quot;&gt;#40977&lt;/a&gt; Loglevel recorded from build phase &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/40980&quot;&gt;#40980&lt;/a&gt; Can&#39;t update security-admin-console via admin UI with volatile sessions &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/40995&quot;&gt;#40995&lt;/a&gt; LDAP /  ModelException: At least one condition should be provided to OR query &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/41018&quot;&gt;#41018&lt;/a&gt; Flaky test: org.keycloak.testsuite.cluster.ClientInvalidationClusterTest#crudWithFailover &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/41038&quot;&gt;#41038&lt;/a&gt; FIPS errors in CI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41082&quot;&gt;#41082&lt;/a&gt; Multiple primary key defined when attempting to upgrade after 26.3.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/41103&quot;&gt;#41103&lt;/a&gt; Service Account users now showing in the User List &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/41105&quot;&gt;#41105&lt;/a&gt; Unknown relation when removing realm role with --db-schema configured &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/41152&quot;&gt;#41152&lt;/a&gt; Docs use em-dashes instead of double dashes for SPI options in regular text &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/41204&quot;&gt;#41204&lt;/a&gt; UpdateTest CI failures &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/41370&quot;&gt;#41370&lt;/a&gt; [26.3] MariaDB connector dependency is not properly overriden &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/07/keycloak-2632-released</guid>
        <pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.3.1 released</title>
        <link>https://www.keycloak.org/2025/07/keycloak-2631-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/40851&quot;&gt;#40851&lt;/a&gt; Upgrade to Infinispan 15.0.16.Final &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40962&quot;&gt;#40962&lt;/a&gt; Update limitations of the preview feature rolling updates for patch releases &lt;span class=&quot;badge bg-secondary&quot;&gt;infinispan&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/35932&quot;&gt;#35932&lt;/a&gt; Importing a realm takes more than 1 minute when multiple others exist. &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/40368&quot;&gt;#40368&lt;/a&gt; NPE during loading user groups with concurrent deletion &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/40713&quot;&gt;#40713&lt;/a&gt; Unable to configure TLS reloading in Keycloak version 26.2.0 or later &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/40838&quot;&gt;#40838&lt;/a&gt; Mark options for additional datasources as preview &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/40890&quot;&gt;#40890&lt;/a&gt; Keycloak Operator 26.3.0 fails to update to 26.3.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/40930&quot;&gt;#40930&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/40954&quot;&gt;#40954&lt;/a&gt; Keycloak 26.3.0 Regression: Failed to login if web-authn is disabled &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/2025/07/keycloak-2631-released</guid>
        <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.6 released</title>
        <link>https://www.keycloak.org/2025/07/keycloak-client-2606-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/134&quot;&gt;#134&lt;/a&gt; Can we create automatically GH Issue for the PR sent by &quot;&quot;Sync with Keycloak Server and send PR with changes&quot; ? &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/166&quot;&gt;#166&lt;/a&gt; Improve documentation of keycloak-admin-client and add compatibility section &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/170&quot;&gt;#170&lt;/a&gt; Sync with Keycloak server release/26.3 branch &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/172&quot;&gt;#172&lt;/a&gt; Test with supported keycloak server versions &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/165&quot;&gt;#165&lt;/a&gt; Test failures in last Keycloak-client-ci &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/07/keycloak-client-2606-released</guid>
        <pubDate>Fri, 4 Jul 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.3.0 released</title>
        <link>https://www.keycloak.org/2025/07/keycloak-2630-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;paragraph&quot;&gt;
&lt;p&gt;This release delivers advancements to optimize your system and improve the experience of users, developers and administrators:&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;Account recovery&lt;/strong&gt; with 2FA recovery codes, protecting users from lockout.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Simplified experiences for application developers with &lt;strong&gt;streamlined WebAuthn/Passkey registration&lt;/strong&gt; and &lt;strong&gt;simplified account linking&lt;/strong&gt; to identity providers via application initiated actions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Broader connectivity with the ability to &lt;strong&gt;broker with any OAuth 2.0 compliant authorization server&lt;/strong&gt;, and enhanced &lt;strong&gt;trusted email verification&lt;/strong&gt; for OpenID Connect providers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous logging&lt;/strong&gt; for higher throughput and lower latency, ensuring more efficient deployments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For administrators, &lt;strong&gt;experimental rolling updates for patch releases&lt;/strong&gt; mean minimized downtime and smoother upgrades.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on to learn more about each new feature, and &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html&quot;&gt;find additional details in the upgrading guide&lt;/a&gt; if you are upgrading from a previous release of Keycloak.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_recovering_your_account_if_you_lose_your_2fa_credentials&quot;&gt;Recovering your account if you lose your 2FA credentials&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When using for example a one-time-password (OTP) generators as a second factor for authenticating users (2FA), a user can get locked out of their account when they, for example, lose their phone that contains the OTP generator.
To prepare for such a case, the recovery codes feature allows users to print a set of recovery codes as an additional second factor.
If the recovery codes are then allowed as an alternative 2FA in the login flow, they can be used instead of the OTP generated passwords.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With this release, the recovery codes feature is promoted from preview to a supported feature.
For newly created realms, the browser flow now includes the Recovery Authentication Code Form as &lt;em&gt;Disabled&lt;/em&gt;, and it can be switched to &lt;em&gt;Alternative&lt;/em&gt; by admins if they want to use this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more information about this 2FA method, see the &lt;a href=&quot;https://www.keycloak.org/docs/26.3.0/server_admin/#_recovery-codes&quot;&gt;Recovery Codes&lt;/a&gt; chapter in the Server Administration Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_performance_improvements_to_import_export_and_migration&quot;&gt;Performance improvements to import, export and migration&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The time it takes to run imports, exports or migrations involving a large number of realms has been improved. There is no longer a cumulative performance degradation for each additional realm processed.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_simplified_registration_for_webauthn_and_passkeys&quot;&gt;Simplified registration for WebAuthn and Passkeys&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Both WebAuthn Register actions (&lt;code&gt;webauthn-register&lt;/code&gt; and &lt;code&gt;webauthn-register-passwordless&lt;/code&gt;) which are also used for Passkeys now support a parameter &lt;code&gt;skip_if_exists&lt;/code&gt; when initiated by the application (AIA).&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This should make it more convenient to use the AIA in scenarios where a user has already set up WebAuthn or Passkeys.
The parameter allows skipping the action if the user already has a credential of that type.&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/docs/26.3.0/server_admin/#_webauthn_aia&quot;&gt;Registering WebAuthn credentials using AIA&lt;/a&gt; chapter in the Server Administration Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_simplified_linking_of_the_user_account_to_an_identity_provider&quot;&gt;Simplified linking of the user account to an identity provider&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Client-initiated linking a user account to the identity provider is now based on application-initiated action (AIA) implementation.
This functionality aligns configuring this functionality and simplifies the error handling the calling of the client application,
making it more useful for a broader audience.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The custom protocol, which was previously used for client-initiated account linking, is now deprecated.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_brokering_with_oauth_v2_compliant_authorization_servers&quot;&gt;Brokering with OAuth v2 compliant authorization servers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous releases Keycloak already supported federation with other OpenID Connect and SAML providers, as well as with several Social Providers like GitHub and Google which are based on OAuth 2.0.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The new OAuth 2.0 broker now closes the gap to federate with any OAuth 2.0 provider.
This then allows you to federate, for example, with Amazon or other providers.
As this is a generic provider, you will need to specify the different claims and a user info endpoint in the provider&amp;#8217;s configuration.&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/docs/26.3.0/server_admin/#_identity_broker_oauth&quot;&gt;OAuth v2 identity providers&lt;/a&gt; chapter in the Server Administration Guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_trusted_email_verification_when_brokering_openid_connect_providers&quot;&gt;Trusted email verification when brokering OpenID Connect Providers&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Until now, the OpenID Connect broker did not support the standard &lt;code&gt;email_verified&lt;/code&gt; claim available from the ID Tokens issued by OpenID Connect Providers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Starting with this release, Keycloak supports this standard claim as defined by the &lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims&quot;&gt;OpenID Connect Core Specification&lt;/a&gt; for federation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Whenever users are federated for the first time or re-authenticating and if the &lt;strong&gt;Trust email&lt;/strong&gt; setting is enabled, &lt;strong&gt;Sync Mode&lt;/strong&gt; is set to &lt;code&gt;FORCE&lt;/code&gt; and the provider sends the &lt;code&gt;email_verified&lt;/code&gt; claim, the user account will have their email marked according to the &lt;code&gt;email_verified&lt;/code&gt; claim.
If the provider does not send the claim, it defaults to the original behavior and sets the email as verified.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_asynchronous_logging_for_higher_throughput_and_lower_latency&quot;&gt;Asynchronous logging for higher throughput and lower latency&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;All available log handlers now support asynchronous logging capabilities.
Asynchronous logging helps deployments that require high throughput and low latency.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For more details on this opt-in feature, 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;_rolling_updates_for_patch_releases_for_minimized_downtime_preview&quot;&gt;Rolling updates for patch releases for minimized downtime (preview)&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the previous release, the Keycloak Operator was enhanced to support performing rolling updates of the Keycloak image if both images contain the same version.
This is useful, for example, when switching to an optimized image, changing a theme or a provider source code.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release, we extended this to perform rolling update when the new image contains a future patch release from the same &lt;code&gt;major.minor&lt;/code&gt; release stream as a preview feature.
This can reduce the service&amp;#8217;s downtime even further, as downtime is only needed when upgrading from a different minor or major version.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more on how to enable this feature in &lt;a href=&quot;https://www.keycloak.org/server/update-compatibility#rolling-updates-for-patch-releases&quot;&gt;update compatibility command&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_passkeys_integrated_in_the_default_username_forms&quot;&gt;Passkeys integrated in the default username forms&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In this release Keycloak integrates &lt;strong&gt;Passkeys&lt;/strong&gt; in the default authentications forms. A new switch &lt;strong&gt;Enable Passkeys&lt;/strong&gt; is available in the configuration, &lt;strong&gt;Authentication&lt;/strong&gt; → &lt;strong&gt;Policies&lt;/strong&gt; → &lt;strong&gt;Webauthn Passwordless Policy&lt;/strong&gt;, that seamlessly incorporates passkeys support to the realm. With just one click, Keycloak offers conditional and modal user interfaces in the default login forms to allow users to authenticate with a passkey.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The &lt;strong&gt;Passkeys&lt;/strong&gt; feature is still in preview. Follow the &lt;a href=&quot;https://www.keycloak.org/server/features&quot;&gt;Enabling and disabling features&lt;/a&gt; guide to enable it.&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/26.3.0/server_admin/#passkeys_server_administration_guide&quot;&gt;Passkeys section in the 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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-private/issues/238&quot;&gt;#238&lt;/a&gt; EMBARGOED CVE-2025-3501 keycloak: Keycloak hostname verification &lt;code&gt;private&lt;/code&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/21995&quot;&gt;#21995&lt;/a&gt; Configurable probes 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/29116&quot;&gt;#29116&lt;/a&gt; Add supported config options for additional datasources &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/29596&quot;&gt;#29596&lt;/a&gt; Passkeys conditional UI: integration with username/password form &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/38465&quot;&gt;#38465&lt;/a&gt; Name for OTP device should be unique &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/38985&quot;&gt;#38985&lt;/a&gt; Possibility to log details and representation to the jboss-logging listener &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39408&quot;&gt;#39408&lt;/a&gt; make MaxAuthAge configurable for 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/40021&quot;&gt;#40021&lt;/a&gt; Passkeys conditional UI: integration with independent username and password form &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/40033&quot;&gt;#40033&lt;/a&gt; Deprecate or remove the current conditionalUI authenticator &lt;span class=&quot;badge bg-secondary&quot;&gt;authentication/webauthn&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/12025&quot;&gt;#12025&lt;/a&gt; Get multiple users by Ids &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/21277&quot;&gt;#21277&lt;/a&gt; Support IPv6 only environments &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/23283&quot;&gt;#23283&lt;/a&gt; Allow Keycloak operator to parameterize the Service annotations and labels &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/28713&quot;&gt;#28713&lt;/a&gt; Temporarily Locked out users change the enabled flag of the 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/28851&quot;&gt;#28851&lt;/a&gt; Support Syslog async 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/30227&quot;&gt;#30227&lt;/a&gt; Admin-UI: move PKCE Code Challenge Method setting from Advanced to Settings tab &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33978&quot;&gt;#33978&lt;/a&gt; Migration progress missing &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/34160&quot;&gt;#34160&lt;/a&gt; Remove CACHE_EMBEDDED_REMOTE_STORE Feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/35446&quot;&gt;#35446&lt;/a&gt; Ensure Client Initiated Account Linking behaves like other Application Initiated 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/36635&quot;&gt;#36635&lt;/a&gt; Change User details page drop-down filter to make it easier to find the &#39;admin&#39; 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/37532&quot;&gt;#37532&lt;/a&gt; Remove user event types from admin UI is unusable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37716&quot;&gt;#37716&lt;/a&gt; Add ability for Quick Theme to import theme from a jar &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37717&quot;&gt;#37717&lt;/a&gt; Quick Theme should allow naming the jar before download &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38091&quot;&gt;#38091&lt;/a&gt; Add more validation for proxy-headers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38228&quot;&gt;#38228&lt;/a&gt; Auto submit the &quot;Organization Identity-First Login&quot; form with pre-filled username 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/38259&quot;&gt;#38259&lt;/a&gt; Enhance mapping from env variables to wildcards &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38262&quot;&gt;#38262&lt;/a&gt; Add `count` endpoint for 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/38433&quot;&gt;#38433&lt;/a&gt; Make `ThemeManagerFactory` into a proper SPI so that it can be accessed/overridden &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/38496&quot;&gt;#38496&lt;/a&gt; Create CacheRemoteConfigProvider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38497&quot;&gt;#38497&lt;/a&gt; Create CacheEmbeddedConfigProvider &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38578&quot;&gt;#38578&lt;/a&gt; Support Asynchronous logging &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38614&quot;&gt;#38614&lt;/a&gt; Improve Dutch translation for Theme base/login and base/email &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/38620&quot;&gt;#38620&lt;/a&gt; Key generation for client authentication is always RSA 2048 with a 10-year validity, regardless of the selected algorithm &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/38621&quot;&gt;#38621&lt;/a&gt; Client secret generation provides lower than expected entropy &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/38649&quot;&gt;#38649&lt;/a&gt; Improve migration performance &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/38663&quot;&gt;#38663&lt;/a&gt; Access Token IDs have less than 128 bits of entropy &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/38714&quot;&gt;#38714&lt;/a&gt; Add feedback when user sync process is triggered in user federation &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38863&quot;&gt;#38863&lt;/a&gt; Allow logging of slow database operations &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38882&quot;&gt;#38882&lt;/a&gt; Upgrade command rolling updates for patch releases / step 1: experimental &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38883&quot;&gt;#38883&lt;/a&gt; Upgrade command rolling updates for patch releases / step 2: preview &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38956&quot;&gt;#38956&lt;/a&gt; Clarify upgrade instructions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38981&quot;&gt;#38981&lt;/a&gt; Allow setting locale when edit mode is `READ_ONLY` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38994&quot;&gt;#38994&lt;/a&gt; Make recovery codes supported &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/39057&quot;&gt;#39057&lt;/a&gt; Change the title for Grafana dashboards guide to plural &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/39059&quot;&gt;#39059&lt;/a&gt; Document operator `Auto` update strategy when used with `podTemplate` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39080&quot;&gt;#39080&lt;/a&gt; Standardize introductory text in Keycloak guides &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39136&quot;&gt;#39136&lt;/a&gt; Update LDAP configuration with a hint how to enable password hashing in ApacheDS &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39142&quot;&gt;#39142&lt;/a&gt; Make distribution startup timeout configurable &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/39172&quot;&gt;#39172&lt;/a&gt; Add description to groups &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39191&quot;&gt;#39191&lt;/a&gt; Ability to skip AIA for adding WebAuthn security key in case that user already has one &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/39198&quot;&gt;#39198&lt;/a&gt; Better tooltip for Strategy to increase wait time in brute force settings &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39213&quot;&gt;#39213&lt;/a&gt; Polishing 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/39214&quot;&gt;#39214&lt;/a&gt; Use required action configuration instead of password policy for warning threshold &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/39243&quot;&gt;#39243&lt;/a&gt; Should we improve metadata of recovery code credential? &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/39338&quot;&gt;#39338&lt;/a&gt; Keycloak Operator: TTL for KeycloakRealmImport jobs &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/39405&quot;&gt;#39405&lt;/a&gt; Message bundle hot reloading &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39418&quot;&gt;#39418&lt;/a&gt; Clarify when to use podman &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/39469&quot;&gt;#39469&lt;/a&gt; Fix Securing Apps links to adapters &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/39486&quot;&gt;#39486&lt;/a&gt; Email server credentials can be harvested through host/port manipulation &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/39541&quot;&gt;#39541&lt;/a&gt; Fix doc link to FGAP v1 &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/39543&quot;&gt;#39543&lt;/a&gt; Apply edits to Operators 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/39544&quot;&gt;#39544&lt;/a&gt; Change discovery in Kubernetes to `jdbc-ping` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39545&quot;&gt;#39545&lt;/a&gt; JGroups: Switch to &quot;per-destination&quot; bundler for `jdbc-ping` &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39563&quot;&gt;#39563&lt;/a&gt; Protocol `openid-connect` should be selected as default for ClientScopes &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/39572&quot;&gt;#39572&lt;/a&gt; Edit Observability 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/39587&quot;&gt;#39587&lt;/a&gt; Make slow SQL and SQL comment prefix configurable &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39590&quot;&gt;#39590&lt;/a&gt; Fix callouts in 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/39595&quot;&gt;#39595&lt;/a&gt; Build user representations when searching based on the user profile settings &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/39617&quot;&gt;#39617&lt;/a&gt; OpenTelemetry Tracing: Spans as part of the &quot;commit&quot; should be nested &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/39619&quot;&gt;#39619&lt;/a&gt; OpenTelementry Tracing: Show calls within a rest resource as nested &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/39638&quot;&gt;#39638&lt;/a&gt; Sessions from Infinispan should be mapped lazily for the Admin UI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39641&quot;&gt;#39641&lt;/a&gt; Return only manage permissions when listing users via administration console &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39651&quot;&gt;#39651&lt;/a&gt; Speed up Infinispan list of all sessions be more eagerly remove old client sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39653&quot;&gt;#39653&lt;/a&gt; Pass notifications in batches to remote and local ISPN cache &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/39665&quot;&gt;#39665&lt;/a&gt; When logging in, all client sessions are loaded which is slow &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/39670&quot;&gt;#39670&lt;/a&gt; Add re-authentication when updating email via UPDATE_EMAIL feature &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39723&quot;&gt;#39723&lt;/a&gt; Redirect request from wrong version to the right version &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39748&quot;&gt;#39748&lt;/a&gt; Docs: server_admin/topics/clients/oidc/proc-using-a-service-account.adoc &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/39761&quot;&gt;#39761&lt;/a&gt; Revise DPoP Codes - refactor retrieveDPoPHeaderIfPresent method &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/39817&quot;&gt;#39817&lt;/a&gt; Document that a shell wrapper must not start replace PID 1 in containers &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39826&quot;&gt;#39826&lt;/a&gt; Revise DPoP Codes - refactor remove unused 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/39855&quot;&gt;#39855&lt;/a&gt; Revise Client Policies Codes - AbstractClientPoliciesTest &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/39872&quot;&gt;#39872&lt;/a&gt; Improve JGroups network bind address documetion &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39885&quot;&gt;#39885&lt;/a&gt; Identity provider with FORCE sync mode does not detect verified email change &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/39889&quot;&gt;#39889&lt;/a&gt; Revise Client Policies Codes - ClientPoliciesAdminTest &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/39891&quot;&gt;#39891&lt;/a&gt; Revise Client Policies Codes - ClientPoliciesConditionTest &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/39909&quot;&gt;#39909&lt;/a&gt; Add missing id attributes for button elements of keycloak.v2 login theme &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39962&quot;&gt;#39962&lt;/a&gt; Create a POC of running 2 containers in the new testsuite &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39965&quot;&gt;#39965&lt;/a&gt; Create test cases for OIDC flows &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39975&quot;&gt;#39975&lt;/a&gt; Make the checkbox &quot;Sign out from other devices&quot; unchecked by default &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/39980&quot;&gt;#39980&lt;/a&gt; Revise Client Policies Codes - ClientPoliciesExecutorTest &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/39982&quot;&gt;#39982&lt;/a&gt; Revise Client Policies Codes - ClientPoliciesExtendedEventTest &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/39987&quot;&gt;#39987&lt;/a&gt; Unnecessary boxing/unboxing to parse a primitive. SAST &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/40012&quot;&gt;#40012&lt;/a&gt; Revise Client Policies Codes -  ClientPoliciesLoadUpdateTest &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/40014&quot;&gt;#40014&lt;/a&gt; Revise Client Policies Codes - ClientPoliciesTest &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/40016&quot;&gt;#40016&lt;/a&gt; Revise Client Policies Codes - SecureRedirectUrisEnforcerExecutorTest &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/40022&quot;&gt;#40022&lt;/a&gt; Passkeys conditional UI: integration with the organization authenticator &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/40023&quot;&gt;#40023&lt;/a&gt; Upgrade webauthn4j to a newer version &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/40024&quot;&gt;#40024&lt;/a&gt; Throw an exception if transport mTLS keystore or Truststore does not exist &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40027&quot;&gt;#40027&lt;/a&gt; Unrelated Types. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40030&quot;&gt;#40030&lt;/a&gt; Potential thread safety Issue with lazy init of transformerFactory at TransformerUtil. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40034&quot;&gt;#40034&lt;/a&gt; Serialization issue in SAMLEntityAttributesParser - no void constructor in superclass. SAST &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40039&quot;&gt;#40039&lt;/a&gt; Abbreviate text in PKCE method configuration label in OIDC Client configuration &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40050&quot;&gt;#40050&lt;/a&gt; Revise Client Policies Codes - OAuth 2.1 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/40052&quot;&gt;#40052&lt;/a&gt; Revise Client Policies Codes - FAPI1Test &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/40054&quot;&gt;#40054&lt;/a&gt; Revise Client Policies Codes - FAPI2Test &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/40056&quot;&gt;#40056&lt;/a&gt; Revise Client Policies Codes - FAPICIBATest &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/40060&quot;&gt;#40060&lt;/a&gt; Sign of a bad copy/paste in logging of usserSessionLimitsAuthenticator &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/40108&quot;&gt;#40108&lt;/a&gt; Support more i18n keys for messages_ru.properties &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40129&quot;&gt;#40129&lt;/a&gt; Refactor the key value input so that it has an override for key and value component &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40165&quot;&gt;#40165&lt;/a&gt; Upgrade to Infinispan 15.0.15 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40166&quot;&gt;#40166&lt;/a&gt; Upgrade Aurora PostgreSQL to a supported release &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40188&quot;&gt;#40188&lt;/a&gt; Document security implications of 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/40191&quot;&gt;#40191&lt;/a&gt; Icon for default role should have a separator to the role 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/40208&quot;&gt;#40208&lt;/a&gt; ServerInfo View in Admin-Console should show CPU information &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40233&quot;&gt;#40233&lt;/a&gt; Make `ProviderConfigurationBuilder` fail when a duplicate property is added. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40336&quot;&gt;#40336&lt;/a&gt; Support all i18n keys for messages_ru.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/40419&quot;&gt;#40419&lt;/a&gt; Update links specs in OIDC 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/40440&quot;&gt;#40440&lt;/a&gt; Add link to OIDC Discovery Spec in the documentation of the certs 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/40441&quot;&gt;#40441&lt;/a&gt; Add templates for release notes and migration 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/40446&quot;&gt;#40446&lt;/a&gt; Review Profile makes users prone to phishing attacks &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/40448&quot;&gt;#40448&lt;/a&gt; add (ky )kyrgyz language support &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/40472&quot;&gt;#40472&lt;/a&gt; Default to num_owners=2 when the persistent-user-sessions feature 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/40487&quot;&gt;#40487&lt;/a&gt; Clarify OpenShift v4 Identity Provider instructions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40489&quot;&gt;#40489&lt;/a&gt; When redirecting old resource versions, keep query parameters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40533&quot;&gt;#40533&lt;/a&gt; Clarify FIPS instructions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40564&quot;&gt;#40564&lt;/a&gt; Add clarifying language around jgroups failure detection ports &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40566&quot;&gt;#40566&lt;/a&gt; Synchronization of Polish language in login 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/40579&quot;&gt;#40579&lt;/a&gt; Add missing translations in email and account theme for Polish lang &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/40639&quot;&gt;#40639&lt;/a&gt; Update documentation about volatile sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40641&quot;&gt;#40641&lt;/a&gt; [docs] fix spelling error in hostname.adoc &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40705&quot;&gt;#40705&lt;/a&gt; Documentation for passkeys for 26.3.0 &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/40709&quot;&gt;#40709&lt;/a&gt; Update javadoc of java admin-client for Keycloak 26.3 &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/40765&quot;&gt;#40765&lt;/a&gt; Make abstract class AbstractUserRoleMappingMapper public &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/27945&quot;&gt;#27945&lt;/a&gt; Passkey &quot;Avoid same authenticator registration&quot; doesn&#39;t work &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/32600&quot;&gt;#32600&lt;/a&gt; OpenAPI spec: Missing attributes in ClientPolicyConditionRepresentation and ClientPolicyExecutorRepresentation schemas &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/33078&quot;&gt;#33078&lt;/a&gt; account/ui spinner use patternfly v3 classes instead of patternfly v5 classes &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/35266&quot;&gt;#35266&lt;/a&gt; Amazon Identity Provider does not accept scope = openid and Keycloak always sets it &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/35278&quot;&gt;#35278&lt;/a&gt; Double click on social provider link causes page has expired 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/36150&quot;&gt;#36150&lt;/a&gt; wrong redirect after login timeout for parallel logins &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/36320&quot;&gt;#36320&lt;/a&gt; [Keycloak CI] - User Federation Tests - LDAPUserProfileTest.testMultipleLDAPProviders &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/36396&quot;&gt;#36396&lt;/a&gt; &quot;identity-provider-redirector&quot; does not forward LOGIN_HINT of authentication session &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/36562&quot;&gt;#36562&lt;/a&gt; Social login - Instagram Login test fails, API changed &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/36609&quot;&gt;#36609&lt;/a&gt; Keycloak container incorrectly read CGroups settings on Kernel 6.12 &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/36622&quot;&gt;#36622&lt;/a&gt; Login UI edit profile textarea doesn&#39;t have styles applied &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/36986&quot;&gt;#36986&lt;/a&gt; Localization: when the user has forgotten the password, the email is sent in default language, instead of the selected one &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/37202&quot;&gt;#37202&lt;/a&gt; Client scopes evaluate function shows sub claim in access token even if &quot;basic&quot; client scope is not 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/37269&quot;&gt;#37269&lt;/a&gt; External IDP error during Step-Up Authentication does no longer route back to 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/37447&quot;&gt;#37447&lt;/a&gt; account-console no longer provides nonce/state parameter &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/37490&quot;&gt;#37490&lt;/a&gt; [Keycloak CI] - Quarkus IT (windows-latest, win) - QuarkusPropertiesDistTest &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/37526&quot;&gt;#37526&lt;/a&gt; Unexpected Application Initiated Actions Cause Server Errors &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/37537&quot;&gt;#37537&lt;/a&gt; LDAP group mapper skips configured filter and imports all groups with memberOf strategy when fetching the user&#39;s 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/37555&quot;&gt;#37555&lt;/a&gt; User Federation: Remove imported users modal has wrong 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/37559&quot;&gt;#37559&lt;/a&gt; Linking user in different browser doesn&#39;t work if original window/tab is closed &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/37598&quot;&gt;#37598&lt;/a&gt; Realm context uses route and can&#39;t be used in libary &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37648&quot;&gt;#37648&lt;/a&gt; User Attribute option of SAML &quot;User Attribute Mapper for NameID&quot; should be required &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/37720&quot;&gt;#37720&lt;/a&gt; MSADUserAccountControlStorageMapper attempts to persist a userAccountControl value of 0 on user create, resulting in LDAP error and incomplete user provisioning &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/37899&quot;&gt;#37899&lt;/a&gt; User email not registered when user has not the permission to edit his 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/38049&quot;&gt;#38049&lt;/a&gt; Upload of JKS keystore fails with a server 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/38104&quot;&gt;#38104&lt;/a&gt; Temporary failure in name resolution with nip.io &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/38145&quot;&gt;#38145&lt;/a&gt; Unknown error on authentication-flow delete action &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38161&quot;&gt;#38161&lt;/a&gt; RawKeycloakDistribution exit code is always 0 &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/38251&quot;&gt;#38251&lt;/a&gt; Importing a realm from a directory fail if the realm contain organizations with users. &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/38351&quot;&gt;#38351&lt;/a&gt; Mail settings can&#39;t be provided via environment variables &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/38382&quot;&gt;#38382&lt;/a&gt; Disable user row if not allowed to delete &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38458&quot;&gt;#38458&lt;/a&gt; [FGAP] [UI] Permission search doesn&#39;t execute correct consequent search request &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/38482&quot;&gt;#38482&lt;/a&gt; SAML client certificate not persisted &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38487&quot;&gt;#38487&lt;/a&gt; [Keycloak Operator CI] - Test remote (slow) - UpdateTest.testExplicitStrategy &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/38542&quot;&gt;#38542&lt;/a&gt; JWK Subtypes fail when mapping JWK to PublicKey &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/38602&quot;&gt;#38602&lt;/a&gt; Keycloak fails to start on MySQL Cluster due to missing primary key in databasechangelog &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/38616&quot;&gt;#38616&lt;/a&gt; Fix alignment of the &#39;Action&#39; selectbox with the &#39;Enabled&#39; switch for 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/38660&quot;&gt;#38660&lt;/a&gt; Ldap federation seems to open and keep open a new thread/connection for each ldap request &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/38662&quot;&gt;#38662&lt;/a&gt; Update commands trigger build checks &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/38671&quot;&gt;#38671&lt;/a&gt; Duplicate Key Violation When Reauthenticating After Account Deletion via Google &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/38676&quot;&gt;#38676&lt;/a&gt; Dropdown search input is not cleared after selecting with mouse &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38692&quot;&gt;#38692&lt;/a&gt; Test coverage for count menthods when filtering &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/38703&quot;&gt;#38703&lt;/a&gt; Password Policy Changes get overwritten 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/38757&quot;&gt;#38757&lt;/a&gt; Keycloak statefulset is not mapped to any headless service if installed via 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/38767&quot;&gt;#38767&lt;/a&gt; Make group required when selecting a specific group creating a premission &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38783&quot;&gt;#38783&lt;/a&gt; `content.json`&#39;s isVisible flags are ignored in `Root.tsx`&#39;s `mapRoutes` function, which makes the pages still accessible &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/38789&quot;&gt;#38789&lt;/a&gt; [Keycloak JS CI]  Admin UI E2E tests on Firefox have failures &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/38799&quot;&gt;#38799&lt;/a&gt; Kerberos principal attribute value &quot;comes back&quot; when cleared. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38801&quot;&gt;#38801&lt;/a&gt; Building docker image of keycloak with curl using 2 stage process hangs &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/38812&quot;&gt;#38812&lt;/a&gt; Test failures in CI in Chrome 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/38846&quot;&gt;#38846&lt;/a&gt; StatefulSet reconciliation infinitely looping &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/38850&quot;&gt;#38850&lt;/a&gt; Changing a password with the option log out all other sessions doesn&#39;t log out 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/38852&quot;&gt;#38852&lt;/a&gt; [Organization] Failed authentication (ModelDuplicateException) when e-mail duplicates are allowed on the realm &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/38873&quot;&gt;#38873&lt;/a&gt; Client Credentials tab : &quot;Allow regex pattern comparison&quot; toggle is always &quot;On&quot; on page load &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38893&quot;&gt;#38893&lt;/a&gt; Multi-stage docker builds fail --optimized validation &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/38910&quot;&gt;#38910&lt;/a&gt; Bug: Hosted Domain Validation Logic Issue in Keycloak 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/38911&quot;&gt;#38911&lt;/a&gt; Filtering of user- and admin-events by dateTo always returns empty results &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/38913&quot;&gt;#38913&lt;/a&gt; [FGAP] AvailableRoleMappings do not consider all-clients 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/38918&quot;&gt;#38918&lt;/a&gt; IPv6 support: Broker tests failing with proxy configuration &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/38920&quot;&gt;#38920&lt;/a&gt; Downstream docs have duplicate ID on sampling &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/38925&quot;&gt;#38925&lt;/a&gt; Blocking issue with increasing JVM thread count after migrating from 26.0.8 to 26.1.4 &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/38929&quot;&gt;#38929&lt;/a&gt; Permission details sometimes don&#39;t show the name of the 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/38930&quot;&gt;#38930&lt;/a&gt; [Docs] Broken link in ExternalLinksTest for importmap &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/38932&quot;&gt;#38932&lt;/a&gt; Home button always redirects to master realm when permission denied &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38934&quot;&gt;#38934&lt;/a&gt; UI: Readonly/disabled profile form input fields are visually indistinguishable from active fields &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/38937&quot;&gt;#38937&lt;/a&gt; Liquibase checksum mismatch when upgrading from Keycloak ≤ 22.0.4 directly to 26.2.x &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/38938&quot;&gt;#38938&lt;/a&gt; Missing null checks in IdentityProviderResource lead to NPE &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/38944&quot;&gt;#38944&lt;/a&gt; Admin UI test &quot;Enable user events&quot; breaks as event metadata has changed &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38964&quot;&gt;#38964&lt;/a&gt; [26.2.3/26.1.5] Regression: ClientList value is empty in UI for Custom UserStorageProviderFactory &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38970&quot;&gt;#38970&lt;/a&gt; Authentication request can fail with `unknown_error` &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/38982&quot;&gt;#38982&lt;/a&gt; JpaRealmProvider getGroupByName return group duplicate due to change of comparison (like vs equal) &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/39015&quot;&gt;#39015&lt;/a&gt; Keycloak operator with update strategy to Auto: missing imagePullSecrets &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/39021&quot;&gt;#39021&lt;/a&gt; After migrating to newer Keycloak, token refreshes using inherited offline sessions return access tokens with invalid exp value &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/39022&quot;&gt;#39022&lt;/a&gt; Setting batch size to 0 in LDAP provider with pagination enabled leads to NPE &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/39023&quot;&gt;#39023&lt;/a&gt; Keycloak 26.2.0 UI Performance Degradation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39026&quot;&gt;#39026&lt;/a&gt; Fine-grained-permssion v2 Display problem &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/39037&quot;&gt;#39037&lt;/a&gt; UserInfo request fails by using an access token obtained in Hybrid flow with offline_access 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/39046&quot;&gt;#39046&lt;/a&gt; Keycloak 26.2.0 can&#39;t authenticate to the H2 database after the 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/39055&quot;&gt;#39055&lt;/a&gt; After import of keys an export doesn&#39;t include these 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/39061&quot;&gt;#39061&lt;/a&gt; Missing iteration key property in SigningIn 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/39063&quot;&gt;#39063&lt;/a&gt; Optimized startup fails from `kc.spi-connections-http-client-default-expect-continue-enabled` passed 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/39065&quot;&gt;#39065&lt;/a&gt; Issue with SSL and `CertificatereloadManager` in Keycloak 26.2 when using Istio &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/39085&quot;&gt;#39085&lt;/a&gt; Redirects to admin endpoint 404s on hostname-admin / request scheme mismatch &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/39096&quot;&gt;#39096&lt;/a&gt; Release note 26.2.0 has broken 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/39110&quot;&gt;#39110&lt;/a&gt; jwks_uri endpoint returns content-type as &quot;application/json&quot; instead of &quot;application/jwk+json&quot; or &quot;application/jwk-set+json&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/39119&quot;&gt;#39119&lt;/a&gt; Evaluate client scopes can corrupt UI completely &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39124&quot;&gt;#39124&lt;/a&gt; [Operator CI] - Test remote (slow) &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/39125&quot;&gt;#39125&lt;/a&gt; [Keycloak CI] - FIPS UT - Run crypto 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/39130&quot;&gt;#39130&lt;/a&gt; Authorization Code Flow Fails Scope Validation After Credential Definition Migration to Realm Level &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/39144&quot;&gt;#39144&lt;/a&gt; Getting Started Podman: We are sorry... HTTPS required &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/39146&quot;&gt;#39146&lt;/a&gt; [FGAP] [UI] Searching for permissions doesn&#39;t allow to search for all group 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/39150&quot;&gt;#39150&lt;/a&gt; Evaluation should consider roles granted to the 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/39156&quot;&gt;#39156&lt;/a&gt; Quick theme: logo is undefined if not 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/39157&quot;&gt;#39157&lt;/a&gt; [quarkus-next] TestEngine with ID &#39;junit-jupiter&#39; failed to discover tests &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/39173&quot;&gt;#39173&lt;/a&gt; duplicate key value violates unique constraint &quot;constraint_offl_cl_ses_pk3&quot; &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/39179&quot;&gt;#39179&lt;/a&gt; Uncaught server error during organization update when name already exists &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/39180&quot;&gt;#39180&lt;/a&gt; Groups view: Filter/search bar disappears and groups not shown after clearing empty search results &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39182&quot;&gt;#39182&lt;/a&gt; Oracle driver problems in keycloak 26.2.1 &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/39187&quot;&gt;#39187&lt;/a&gt; Account console: defaultLocale item in select locale field &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/39206&quot;&gt;#39206&lt;/a&gt; Wrong UDP jgroups metric name &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/39219&quot;&gt;#39219&lt;/a&gt; Serverinfo response grows over time &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/39227&quot;&gt;#39227&lt;/a&gt; Quarkus devtools dependencies in 26.2.x &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/39237&quot;&gt;#39237&lt;/a&gt; Deletion of a role is slow when when there are a lot of roles in 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/39246&quot;&gt;#39246&lt;/a&gt; Duplicate user entries when searching custom attributes &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/39259&quot;&gt;#39259&lt;/a&gt; Admin E2E tests ignores `RETRY_COUNT` environment variable &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39262&quot;&gt;#39262&lt;/a&gt; Keycloak does not take into account value request parameter in the claims request for acr claim &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/39264&quot;&gt;#39264&lt;/a&gt; [OID4VCI] Documentation Errors &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/39267&quot;&gt;#39267&lt;/a&gt; Avoid a NPE at org.keycloak.email.freemarker.beans.ProfileBean#getOrganizations when feature &quot;organization&quot; is disabled &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/39274&quot;&gt;#39274&lt;/a&gt; Aurora DB should not update automatically to the latest minor version &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/39296&quot;&gt;#39296&lt;/a&gt; Inconsistent &quot;grant_types&quot; vs &quot;grantTypes&quot; Naming Causes GrantTypeCondition to Always Fail &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/39312&quot;&gt;#39312&lt;/a&gt; SLO measurement should mention a month as a period &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/39336&quot;&gt;#39336&lt;/a&gt; Tests failing with embedded undertow due the infinispan &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/39345&quot;&gt;#39345&lt;/a&gt; Ghost user entries in database from ldap causes import errors &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/39349&quot;&gt;#39349&lt;/a&gt; CVE-2025-3910 Two factor authentication bypass &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39350&quot;&gt;#39350&lt;/a&gt; CVE-2025-3501 Keycloak hostname verification &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39358&quot;&gt;#39358&lt;/a&gt; Aggregated policy: Cannot select policies that do not appear in the drop-down list &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39402&quot;&gt;#39402&lt;/a&gt; Client Scope with mapper Organization Membership - claim disappears as soon as user is member of more than one Organisation &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/39403&quot;&gt;#39403&lt;/a&gt; Client Scope with mapper Organization Membership - organizations claim disappears when Include in token scope is off &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/39429&quot;&gt;#39429&lt;/a&gt; Flaky test: org.keycloak.testsuite.model.session.OfflineSessionPersistenceTest#testPersistenceMultipleNodesClientSessionsAtRandomNode &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/39442&quot;&gt;#39442&lt;/a&gt; Non-closing HTML tag in footer example &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/39450&quot;&gt;#39450&lt;/a&gt; quarkus runtime options are treated as buildtime 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/39454&quot;&gt;#39454&lt;/a&gt; JGroups errors when running a containerized Keycloak in Strict FIPS mode and with Istio &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/39457&quot;&gt;#39457&lt;/a&gt; Typos in French login and email messages 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/39465&quot;&gt;#39465&lt;/a&gt; Scheduled Task cannot access realm when feature fpap:v2 is active, but realm has it not configured &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/39485&quot;&gt;#39485&lt;/a&gt; Inconsistent &quot;Forgot Password&quot; behavior reveals user account information &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/39487&quot;&gt;#39487&lt;/a&gt; Incorrect tooltip over enabled features &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39492&quot;&gt;#39492&lt;/a&gt; Check if suspicious log about CORS is correct &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39496&quot;&gt;#39496&lt;/a&gt; [26.2.3/26.1.5] Regression: empty ClientList in UI for Custom UserStorageProvider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39499&quot;&gt;#39499&lt;/a&gt; UI does not show user&#39;s attributes after reentering the Attributes 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/39500&quot;&gt;#39500&lt;/a&gt; Update Job Pod is listed in the keycloak discovery service &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/39502&quot;&gt;#39502&lt;/a&gt; Refreshed tokens are not persisted for IDP 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/39509&quot;&gt;#39509&lt;/a&gt; UI does not show organization&#39;s attributes after reentering the Attributes 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/39538&quot;&gt;#39538&lt;/a&gt; Autocomplete in Mapper type of user federation 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/39540&quot;&gt;#39540&lt;/a&gt; Forms IT tests breaks with Chrome 136.0.7103.59 &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/39549&quot;&gt;#39549&lt;/a&gt; Inconsistency in User enabled status in Rest query results. &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/39596&quot;&gt;#39596&lt;/a&gt; Enabling &quot;HTTP-POST binding response&quot; is not reflected in the SP 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/39599&quot;&gt;#39599&lt;/a&gt; Error when requesting token inspection for a access token requested by a offline 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/39612&quot;&gt;#39612&lt;/a&gt; Unable to change the OTP hash algorithm &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39614&quot;&gt;#39614&lt;/a&gt; Keycloak not using custom Infinispan config &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/39643&quot;&gt;#39643&lt;/a&gt; Can&#39;t change locale on expired 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/39663&quot;&gt;#39663&lt;/a&gt; Duplicate validation message “Please specify username.” shown on 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/39668&quot;&gt;#39668&lt;/a&gt; Fetching 1250 group children much slower in v26 vs. v25 &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/39669&quot;&gt;#39669&lt;/a&gt; Hide update email link in account console when email is read-only in 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/39693&quot;&gt;#39693&lt;/a&gt; Clicking on the jump links removes the localization of 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/39697&quot;&gt;#39697&lt;/a&gt; Authorization documentation shows the wrong view &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/39710&quot;&gt;#39710&lt;/a&gt; Recreate update is not scaling down the statefulset to zero &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/39715&quot;&gt;#39715&lt;/a&gt; Users Credentials tab crashes on orphan LDAP 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/39720&quot;&gt;#39720&lt;/a&gt; User listing broken because of missing `is_temporary_admin` attribute &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39724&quot;&gt;#39724&lt;/a&gt; Hibernate LazyInitializationException when deleting client with CompositeRoles &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/39753&quot;&gt;#39753&lt;/a&gt; POST realm API returns 400 on conflict instead of 409 in version 26.2.4 &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/39759&quot;&gt;#39759&lt;/a&gt; ModelDuplicateException since Keycloak v26 when logging into Keycloak &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/39765&quot;&gt;#39765&lt;/a&gt; SAML certificate in UI not refreshed after keystore import &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/39781&quot;&gt;#39781&lt;/a&gt; SMTP password overwritten with asterisks &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/39785&quot;&gt;#39785&lt;/a&gt; Client sessions are not cached when loaded from 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/39798&quot;&gt;#39798&lt;/a&gt; Documentation has outdated link to the &quot;latest&quot; branch of quickstarts &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/39800&quot;&gt;#39800&lt;/a&gt; [KEYCLOAK CI] - AuroraDB IT - Create EC2 runner instance &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/39816&quot;&gt;#39816&lt;/a&gt; Do not show warning ISPN000312: Lost data because of graceful leaver &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/39843&quot;&gt;#39843&lt;/a&gt; Custom classes for checkbox are not applied on password reset form 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/39850&quot;&gt;#39850&lt;/a&gt; [FGAP] Clients empty when using role based policy and roles inherited from groups &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/39861&quot;&gt;#39861&lt;/a&gt; [Keycloak CI] - Several failures HTTP response code 429 -  too many requests &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/39866&quot;&gt;#39866&lt;/a&gt; MigrationModel duplicate entry on Recreate Upgrade in Cluster with 2+ nodes &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/39876&quot;&gt;#39876&lt;/a&gt; JS CI fails with merging playwright reports &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39893&quot;&gt;#39893&lt;/a&gt; Missing Quarkus flag for syslog logging &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/39904&quot;&gt;#39904&lt;/a&gt; Missing angle bracket &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/39915&quot;&gt;#39915&lt;/a&gt; Searching user by attributes force an exact request even if not asked &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39917&quot;&gt;#39917&lt;/a&gt; Liquibase update failed from KC 26.1 to KC 26.2 with PostgreSQL JDBC driver 42.7.5 &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/39918&quot;&gt;#39918&lt;/a&gt; Admin UI key permissionPoliciesHelp possible typo &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39920&quot;&gt;#39920&lt;/a&gt; Admin UI doesn&#39;t use conditionsHelpItem message 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/39923&quot;&gt;#39923&lt;/a&gt; ModelDuplicateException on next login after deleting an account &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/39934&quot;&gt;#39934&lt;/a&gt; Locale set to English even when only one Locale 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/39937&quot;&gt;#39937&lt;/a&gt; Admin UI shows message &quot;Imported users have been removed&quot; twice &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39939&quot;&gt;#39939&lt;/a&gt; Operator error: desiredPullSecrets is null &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/39942&quot;&gt;#39942&lt;/a&gt; LDAP Edit mode option is required but not marked &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39949&quot;&gt;#39949&lt;/a&gt; [Keycloak JavaScript CI] - Admin UI E2E (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/39950&quot;&gt;#39950&lt;/a&gt; [Keycloak CI] - Cookies Tests -  KcOidcBrokerTokenExchangeTest &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39956&quot;&gt;#39956&lt;/a&gt; Allow mapping Admin roles to server administrator only &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/39971&quot;&gt;#39971&lt;/a&gt; Custom tabs implementing UiTabProvider/UiTabProviderFactory not displayed since KC26.2.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/40003&quot;&gt;#40003&lt;/a&gt; Change connection settings totle to OAuth2 settings &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40046&quot;&gt;#40046&lt;/a&gt; Cache TLS is not available with protocol UDP after upgrading from 26.2.4 to 26.2.5 &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/40049&quot;&gt;#40049&lt;/a&gt; Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnSigningInTest#checkAuthenticatorTimeLocale &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/40085&quot;&gt;#40085&lt;/a&gt; Federated user IDs are not correctly evicted from cache &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/40088&quot;&gt;#40088&lt;/a&gt; Make UPDATE_TIME unique for MIGRATION_MODEL table &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40090&quot;&gt;#40090&lt;/a&gt; Emphasize using StatefulSet instead of Deployment &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/40096&quot;&gt;#40096&lt;/a&gt; Error creating user in Windows Active Directory over 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/40099&quot;&gt;#40099&lt;/a&gt; [Keycloak Operator CI] - Test OLM Installation &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/40104&quot;&gt;#40104&lt;/a&gt; NPE during external-internal token exchange in case that user exists &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/40106&quot;&gt;#40106&lt;/a&gt; Two same tests in KcOidcBrokerTokenExchangeTest &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/40128&quot;&gt;#40128&lt;/a&gt; Unable to set LoA field in auth-flow-enforcer &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/40135&quot;&gt;#40135&lt;/a&gt; Transparent filter panel in Admin &gt; Events &gt; Search events 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/40139&quot;&gt;#40139&lt;/a&gt; Incorrect placeholder for &quot;delete multiple users&quot; title in German 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/40151&quot;&gt;#40151&lt;/a&gt; Avoid unbalanced curly braces in message 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/40159&quot;&gt;#40159&lt;/a&gt; Brute force detection permanent lockout flag not shown for users auto-unlocked after temporary lockout &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40171&quot;&gt;#40171&lt;/a&gt; SQL error when logging in for first time (per user) after Keycloak 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/40180&quot;&gt;#40180&lt;/a&gt; Admin UI doesn&#39;t show client names from resource 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/40187&quot;&gt;#40187&lt;/a&gt; Client Registration with fake 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/40195&quot;&gt;#40195&lt;/a&gt; Documentation of Argon2 hash-length configuration property is incorrect. &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/40213&quot;&gt;#40213&lt;/a&gt; `UserStorageManager.getUserById` called multiple times on `POST /realms/{realm}/protocol/{protocol}/token` &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/40232&quot;&gt;#40232&lt;/a&gt; Setting of `type` of `Argon2PasswordHashProviderFactory` is incorrect, &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/40235&quot;&gt;#40235&lt;/a&gt; PasswordHashingTest#testPasswordRehashedWhenCredentialImportedWithDifferentKeySize fails to successfully log in &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/40240&quot;&gt;#40240&lt;/a&gt; Capitalize each word of the string &quot;security admin console&quot; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40253&quot;&gt;#40253&lt;/a&gt; Case sensitive Organization/IDP linking on domain &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/40270&quot;&gt;#40270&lt;/a&gt; LDAP: error code 19 - pwdChangedTime: no user modification allowed &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/40284&quot;&gt;#40284&lt;/a&gt; Webauthn policy data resets to previous state after binding 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/40303&quot;&gt;#40303&lt;/a&gt; Account UI goBack link doesn&#39;t render when referrer query string is set &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/40339&quot;&gt;#40339&lt;/a&gt; [Keycloak CI] - Windows: local maven repository 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/40353&quot;&gt;#40353&lt;/a&gt; Issue with Handling Negative Values in Certain Fields of Brute Force Detection &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/40360&quot;&gt;#40360&lt;/a&gt; [Keycloak-Operator]: Rolling Updates -- Strategy=Auto, operator error keycloak-update-job is invalid -- Strategy=Explicit, operator always replaces &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/40365&quot;&gt;#40365&lt;/a&gt; Labeler fails to set version of parent issue &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/40375&quot;&gt;#40375&lt;/a&gt; Outdated information in HA Keycloak deployment &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/40402&quot;&gt;#40402&lt;/a&gt; Failing WebAuthn IT (chrome) / WebAuthnSigningInTest.passwordlessWebAuthnTest &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/40408&quot;&gt;#40408&lt;/a&gt; Multiple QuarkusJpaUpdaterProvider calls during boot &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/40423&quot;&gt;#40423&lt;/a&gt; Missing highlighting of deprecated and disabled-by-default features &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40438&quot;&gt;#40438&lt;/a&gt; Unable to retrieve `attributes` with organization get members endpoint &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/40444&quot;&gt;#40444&lt;/a&gt; Link to dynamic client registration section is broken in docs &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/40451&quot;&gt;#40451&lt;/a&gt; Compilation error in AbstractWebAuthnAccountTest &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/40474&quot;&gt;#40474&lt;/a&gt; WebAuthn Passwordless Policy Timeout Field Causes Syntax Error When Value Exceeds 1000 Seconds Due to Locale-Specific Number Formatting in FTL Generated JavaScript &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/40479&quot;&gt;#40479&lt;/a&gt; Federation unlink failure message contains double single quotes &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/40483&quot;&gt;#40483&lt;/a&gt; Missing adjustment about offline session caches for volatile sessions &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/40494&quot;&gt;#40494&lt;/a&gt; On change of language, confirmation is shown in old language &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/40497&quot;&gt;#40497&lt;/a&gt; Creating a user profile attribute &quot;displayName&quot; does not work as expected. &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/40498&quot;&gt;#40498&lt;/a&gt; Account UI e2e tests do not run in CI &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/40514&quot;&gt;#40514&lt;/a&gt; Authentication flows documentation should match new GUI &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/40531&quot;&gt;#40531&lt;/a&gt; DefaultLazyLoader is not thread safe, but is used in a shared instance of 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/40542&quot;&gt;#40542&lt;/a&gt; Nightly build shows outdated information on the Keycloak website &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/40596&quot;&gt;#40596&lt;/a&gt; UI Customization missing footer example &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/40598&quot;&gt;#40598&lt;/a&gt; Account console reports duplicate keys in development mode  &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/40611&quot;&gt;#40611&lt;/a&gt; Negative expiration for token exchange using an offline 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/40632&quot;&gt;#40632&lt;/a&gt; Translation key missing from Greek 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/40637&quot;&gt;#40637&lt;/a&gt; Front logout channel broken in 26.2.5 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/40663&quot;&gt;#40663&lt;/a&gt; Potential copy-paste issue in PersistentClientSessionEntity.java &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/40694&quot;&gt;#40694&lt;/a&gt; quarkus-next: update Quarkus snapshots url &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/40695&quot;&gt;#40695&lt;/a&gt; Multiple resources that match same URI with different scope cause inconsistent authorization response &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/40717&quot;&gt;#40717&lt;/a&gt; Allow passkeys login when user has no password credential &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/2025/07/keycloak-2630-released</guid>
        <pubDate>Thu, 3 Jul 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Talks announced for KEYCONF25 - get your tickets!</title>
        <link>https://www.keycloak.org/2025/06/keyconf25-amsterdam-schedule</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The talks and speakers have now been announced for Keycloak&amp;#8217;s Identity Summit. Save your spot today!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;📍 &lt;a href=&quot;https://keyconf.dev/&quot;&gt;KEYCONF25&lt;/a&gt; – taking place in Amsterdam on August 28th, 2025!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year’s edition of the Keycloak Identity Summit promises more content, more connections, and even more opportunities to engage with the people shaping the future of identity and access management.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_talk_highlights&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_talk_highlights&quot;&gt;&lt;/a&gt;Talk highlights&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Our talks highlight the broad spectrum of the Keycloak ecosystem: How to run it with confidence and securely, how extend it, and how to apply it in existing and new scenarios.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See below for a short-list of topics we cover:&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;Human and Workload Identities: Bridging the Gap with Keycloak&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI Meets Identity: Managing Keycloak with Natural Language via MCP&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Observability in Keycloak: Where Does It Hurt?&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The Event Sorcerer with the Keycloak: The Battle against Dynamic Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Protectors of the Realm: Breaking and Fixing Keycloak Configurations&lt;/strong&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;_a_great_place_to_network&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_a_great_place_to_network&quot;&gt;&lt;/a&gt;A great place to network&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Networking lunch&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Our extended lunch break is designed to help you meet fellow attendees, swap ideas, and build meaningful professional connections in a relaxed setting.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Meet the maintainers&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;We will have a panel discussion with the maintainers. Ask your questions live and get a response from the experts!&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Business drinks&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Stick around after the last session for informal networking over drinks. Want to sponsor this year’s Business Drink? Get in touch with us—we’d love to partner with you!&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;_get_your_ticket_and_join_us&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_get_your_ticket_and_join_us&quot;&gt;&lt;/a&gt;Get your ticket and join us!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Whether you&amp;#8217;re a developer, architect, security specialist, or product owner, KEYCONF25 is your opportunity to gain knowledge, grow your network, and contribute to the future of the Keycloak community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;📅 August 28th, 2025&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;📍 Amsterdam, Netherlands&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Tickets are now available at &lt;a href=&quot;https://keyconf.dev/&quot;&gt;keyconf.dev&lt;/a&gt; – secure your spot!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_want_to_get_involved&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_want_to_get_involved&quot;&gt;&lt;/a&gt;Want to get involved?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let’s continue building a stronger, smarter IAM community—together.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We can’t wait to see you in Amsterdam!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/06/keyconf25-amsterdam-schedule</guid>
        <pubDate>Fri, 27 Jun 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Meet Keycloak at KubeCon India in August</title>
        <link>https://www.keycloak.org/2025/06/keycloak-kubecon25-india-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Last year&amp;#8217;s KubeCon India was a great success, and Keycloak will be part of this year&amp;#8217;s edition in Hyderabad on August 7-8.&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-india/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;A lot of people use Keycloak and develop extensions in for Keycloak in India, so we are thrilled to connect with the community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Connect with me in &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/40439&quot;&gt;this GitHub discussion&lt;/a&gt; to have your contributions or projects mentioned in the talk!&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-india/&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/keycloak-kubecon25-india-announce.png&quot; alt=&quot;Banner for KubeCon India&quot; style=&quot;width: 100%; max-width: 1200px; object-fit: cover; height: 250px; object-fit: none; object-position: 95% 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;&lt;a class=&quot;anchor&quot; href=&quot;#_talks_at_kubecon&quot;&gt;&lt;/a&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 India 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://kccncind2025.sched.com/event/23VYD/project-lightning-talk-how-to-get-your-custom-access-tokens-from-keycloak-alexander-schwartz-maintainer&quot;&gt;&lt;strong&gt;Project Lightning Talk: How to get your custom access tokens from Keycloak&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Wednesday August 6, 2025 11:37 IST&lt;br&gt;
Alexander Schwartz, Red Hat&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kccncind2025.sched.com/event/23EuW/delegate-authentication-and-a-lot-more-to-keycloak-with-openid-connect-alexander-schwartz-rishabh-singh-red-hat&quot;&gt;&lt;strong&gt;Delegate Authentication and a Lot More To Keycloak With OpenID Connect&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Wednesday August 6, 2025 12:10 IST&lt;br&gt;
Alexander Schwartz &amp;amp; Rishabh Singh, 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;_project_pavillion&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_project_pavillion&quot;&gt;&lt;/a&gt;Project Pavillion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak project table in the Project Pavillion is the place to meet the Keycloak maintainers, contributors and the larger community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be there in the afternoons, while other projects will be there during the mornings.
See below for the location and the times.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Wednesday, August 6:&lt;/strong&gt; 3:10 pm - 7:15 pm&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Thursday, August 7:&lt;/strong&gt; 1:25 pm - 3:50 pm&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Meet us at Table number 3 in the Hyderabad International Convention Centre, Hall 4, solutions showcase.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_see_you_there&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_see_you_there&quot;&gt;&lt;/a&gt;See you there!&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 India 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;Let me know in &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/40439&quot;&gt;this GitHub discussion&lt;/a&gt; to have your contributions or projects mentioned in the talk!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;See you in Hyderabad!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/06/keycloak-kubecon25-india-announce</guid>
        <pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Keycloak 26.2.5 released</title>
        <link>https://www.keycloak.org/2025/05/keycloak-2625-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/39469&quot;&gt;#39469&lt;/a&gt; Fix Securing Apps links to adapters &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/39486&quot;&gt;#39486&lt;/a&gt; Email server credentials can be harvested through host/port manipulation &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/39541&quot;&gt;#39541&lt;/a&gt; Fix doc link to FGAP v1 &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/39543&quot;&gt;#39543&lt;/a&gt; Apply edits to Operators 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/39572&quot;&gt;#39572&lt;/a&gt; Edit Observability 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/39590&quot;&gt;#39590&lt;/a&gt; Fix callouts in 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/39638&quot;&gt;#39638&lt;/a&gt; Sessions from Infinispan should be mapped lazily for the Admin UI &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39651&quot;&gt;#39651&lt;/a&gt; Speed up Infinispan list of all sessions be more eagerly remove old client sessions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39665&quot;&gt;#39665&lt;/a&gt; When logging in, all client sessions are loaded which is slow &lt;span class=&quot;badge bg-secondary&quot;&gt;oidc&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/39130&quot;&gt;#39130&lt;/a&gt; Authorization Code Flow Fails Scope Validation After Credential Definition Migration to Realm Level &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/39157&quot;&gt;#39157&lt;/a&gt; [quarkus-next] TestEngine with ID &#39;junit-jupiter&#39; failed to discover tests &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/39264&quot;&gt;#39264&lt;/a&gt; [OID4VCI] Documentation Errors &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/39358&quot;&gt;#39358&lt;/a&gt; Aggregated policy: Cannot select policies that do not appear in the drop-down list &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39450&quot;&gt;#39450&lt;/a&gt; quarkus runtime options are treated as buildtime 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/39496&quot;&gt;#39496&lt;/a&gt; [26.2.3/26.1.5] Regression: empty ClientList in UI for Custom UserStorageProvider &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39499&quot;&gt;#39499&lt;/a&gt; UI does not show user&#39;s attributes after reentering the Attributes 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/39502&quot;&gt;#39502&lt;/a&gt; Refreshed tokens are not persisted for IDP 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/39509&quot;&gt;#39509&lt;/a&gt; UI does not show organization&#39;s attributes after reentering the Attributes 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/39538&quot;&gt;#39538&lt;/a&gt; Autocomplete in Mapper type of user federation 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/39540&quot;&gt;#39540&lt;/a&gt; Forms IT tests breaks with Chrome 136.0.7103.59 &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/39612&quot;&gt;#39612&lt;/a&gt; Unable to change the OTP hash algorithm &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39614&quot;&gt;#39614&lt;/a&gt; Keycloak not using custom Infinispan config &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/39663&quot;&gt;#39663&lt;/a&gt; Duplicate validation message “Please specify username.” shown on 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/39693&quot;&gt;#39693&lt;/a&gt; Clicking on the jump links removes the localization of 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/39697&quot;&gt;#39697&lt;/a&gt; Authorization documentation shows the wrong view &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/39710&quot;&gt;#39710&lt;/a&gt; Recreate update is not scaling down the statefulset to zero &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/39724&quot;&gt;#39724&lt;/a&gt; Hibernate LazyInitializationException when deleting client with CompositeRoles &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/39753&quot;&gt;#39753&lt;/a&gt; POST realm API returns 400 on conflict instead of 409 in version 26.2.4 &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/39798&quot;&gt;#39798&lt;/a&gt; Documentation has outdated link to the &quot;latest&quot; branch of quickstarts &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/39800&quot;&gt;#39800&lt;/a&gt; [KEYCLOAK CI] - AuroraDB IT - Create EC2 runner instance &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/2025/05/keycloak-2625-released</guid>
        <pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Standard Token Exchange is now officially supported in Keycloak 26.2</title>
        <link>https://www.keycloak.org/2025/05/standard-token-exchange-kc-26-2</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Token Exchange feature has been available in Keycloak for a long time, but only as a preview feature. With the release of
&lt;strong&gt;Keycloak 26.2&lt;/strong&gt;, we&amp;#8217;re happy to share that &lt;strong&gt;Standard Token Exchange is now officially supported&lt;/strong&gt; and fully compliant with &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc8693&quot;&gt;OAuth 2.0 Token Exchange (RFC 8693)&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_is_token_exchange&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_token_exchange&quot;&gt;&lt;/a&gt;What is Token Exchange? 🔄&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Token Exchange is a mechanism that allows a client to exchange one token for another. In the context of Keycloak, this means a client can exchange a token originally issued for another client and receive a new token issued specifically for itself.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Token Exchange is especially helpful in these scenarios:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_different_audience&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_different_audience&quot;&gt;&lt;/a&gt;🎯 Different Audience&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When a token was issued for one service but needs to be used to access another, Token Exchange can issue a new token with the appropriate audience.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_scoped_permissions&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_scoped_permissions&quot;&gt;&lt;/a&gt;🔐 Scoped Permissions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If a client needs to access a service with more limited permissions, it can exchange its token for one with reduced or more specific scopes.&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;_whats_new&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_new&quot;&gt;&lt;/a&gt;What&amp;#8217;s new? 🆕&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;✅ Official support (no longer a preview feature)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📘 Compliance with RFC 8693 (OAuth 2.0 Token Exchange)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🖱️ Simple configuration via the Admin Console (just a switch in client settings)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🛡️ Integration with Client Policies to enforce custom rules. You can restrict exchanges to specific clients, or deny exchanges based on requested scopes.&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;_how_to_get_started&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_to_get_started&quot;&gt;&lt;/a&gt;How to get started 🚀&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you&amp;#8217;re using Keycloak 26.2 or later, there&amp;#8217;s nothing extra to enable. Token Exchange is ready to use, just open the client settings in the admin console and enable the dedicated switch.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;If you&amp;#8217;re still using the preview feature of token exchange, check the &lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#supported-standard-token-exchange&quot;&gt;migration guide&lt;/a&gt; and the &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_standard-token-exchange-comparison&quot;&gt;comparison&lt;/a&gt; to understand the differences and plan your migration.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;📄 For full setup instructions and configuration details, refer to the &lt;a href=&quot;https://www.keycloak.org/securing-apps/token-exchange#_standard-token-exchange&quot;&gt;official documentation&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;_whats_next&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_next&quot;&gt;&lt;/a&gt;What’s next? 🔍&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’re continuing to expand Token Exchange support with future enhancements such as:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔄 Exchanging tokens issued by external identity providers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;👤 Using token exchange to impersonate users&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Stay tuned for updates in upcoming releases.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’d love to hear what you think about this feature and how we can improve it. Feedback and contributions from the community are always welcome.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/05/standard-token-exchange-kc-26-2</guid>
        <pubDate>Mon, 26 May 2025 00:00:00 GMT</pubDate>
        
        <author>Giuseppe Graziano</author>
      </item>
      <item>
        <title>Hitachi Keycloak case study published</title>
        <link>https://www.keycloak.org/2025/05/hitachi-case-study</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Hitachi Ltd. uses Keycloak to make financial grade security easier.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;They are providing an API management cloud service for Japanese banks. Banks can open their APIs (like accessing bank accounts) to third-party fintech companies securely by using the service. One of the biggest challenges in the development phase was authorizing APIs for financial grade security. For API authorization in the financial sector, Financial-grade API (FAPI) is specified by the OpenID Foundation and widely adopted.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;By using Keycloak as an authorization server of the API management cloud service, they can provide a fully FAPI conformant API authorization for their customers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more on their challenges and the solution in this &lt;a href=&quot;https://www.cncf.io/case-studies/hitachi-ltd/&quot;&gt;CNCF case study published for the Keycloak project&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are now starting to collect all case studies at &lt;a href=&quot;https://www.keycloak.org/case-studies&quot;&gt;our case studies page&lt;/a&gt;.
If you want to share your case study with the Keycloak community, &lt;a href=&quot;https://github.com/ahus1&quot;&gt;contact me&lt;/a&gt; to sort out the details.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/05/hitachi-case-study</guid>
        <pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Secure email delivery with XOAUTH2</title>
        <link>https://www.keycloak.org/2025/05/send-mails-xoauth-26-2</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak relies on email functionality for tasks like password resets, user verifications, and notifications.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A common setup is for Keycloak to authenticate to the SMTP server with a username and password.
With issue &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17432&quot;&gt;#17432&lt;/a&gt;, the Keycloak community raised the need for token-based authentication with XOAUTH2, as some providers deprecated the authentication for SMTP with passwords.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With Keycloak 26.2, the SMTP AUTH configuration now supports XOAUTH2.
As Keycloak&amp;#8217;s role is that of an application, it uses the client credentials grant to fetch the token.
The SMTP AUTH configuration in Keycloak now supports all required fields to fetch such a token with client id and client secret.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When implementing this functionality, I found that while it works with Microsoft Azure and Office365, it would need a different mechanism for providers like Google.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So let&amp;#8217;s follow through this example, and then discuss if we need something different from SMTP altogether.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_configuring_keycloak_to_send_emails_with_xoauth2&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_configuring_keycloak_to_send_emails_with_xoauth2&quot;&gt;&lt;/a&gt;Configuring Keycloak to send emails with XOAUTH2&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The following assumes that you are working with Keycloak 26.2.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In a realm, navigate to &lt;strong&gt;Realm Settings&lt;/strong&gt; &amp;#8594; &lt;strong&gt;Email&lt;/strong&gt; and fill in the fields.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To see the new XOAUTH2 feature, enable &lt;strong&gt;Authentication&lt;/strong&gt; via the radio-button and switch the &lt;strong&gt;Authentication Type&lt;/strong&gt; from &lt;strong&gt;Password&lt;/strong&gt; to &lt;strong&gt;Token&lt;/strong&gt;.
You can find further details in the documentation on &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/index.html#_email&quot;&gt;sending emails&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;/style&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/smtp-xoauth2-26-2.png&quot; alt=&quot;Settings for token based authentication&quot; style=&quot;width: 100%; max-width: 863px; object-fit: cover; object-fit: none; object-position: 0 0&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Once you fill all the settings for gathering an access token and the username, you can test the configuration via the built-in &quot;Test connection&quot; button.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_challenges_with_real_world_cloud_providers&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_challenges_with_real_world_cloud_providers&quot;&gt;&lt;/a&gt;Challenges with real world cloud providers&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Testing Microsoft Azure, I found it supports fetching an XOAUTH2 token through a client credentials grant using a client secret.
It needs several configuration changes in several places on Microsoft Azure to make it work, which is annoying, but eventually it all works in Keycloak 26.2.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Google does not support the client credentials grant with a client secret, but requires sending a JWT token.
Therefore, it does not work with Keycloak 26.2 yet, as that would need additional functionality and even more configuration options for Keycloak.
Please vote on issue &lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39610&quot;&gt;#39610&lt;/a&gt; to add Google with SMTP and XOAUTH2 to a future Keycloak release.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When analyzing the Google APIs, we found that a Google Enterprise account seems to have no possibility of restricting the sender email address.
So any email address, even the CEO&amp;#8217;s email address, could be as a sender with Google and XOAUTH2 authentication, which feels wrong.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Looking at the different capabilities of those two cloud providers, it raises the question of how to support scenarios for additional providers:
Should Keycloak show provider-specific configuration screens, or would we need to make the UI even more generic and complex?&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_re_thinking_sending_messages_to_users&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_re_thinking_sending_messages_to_users&quot;&gt;&lt;/a&gt;Re-thinking sending messages to users&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;While implementing XOAUTH2, I learned a lot more details on a modern cloud-provider&amp;#8217;s perspective handle sending of emails.
Another big impulse came from discussions during the &lt;a href=&quot;https://www.keycloak-day.dev/&quot;&gt;Keycloak DevDay 2025&lt;/a&gt; Hackathon.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Let&amp;#8217;s break apart what happens when we talk about the current email functionality of Keycloak:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keycloak is sending a message to an identity.
This message could be any format, and building a message could be separated from the actual delivery of that message.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;An identity could have all kinds of message handles and email just one of them.
Also, the way to send an email in a cloud world might no longer be the Simple Mail Transfer Protocol (SMTP), but an HTTP- and JSON-based API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To me, working with SMTP and XOAUTH2 feels like working on something quite ancient.
So what might be other steps for the bright future of Keycloak regarding sending messages to identities?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Providers offer HTTP-based messaging APIs to send email without using SMTP.
Looking at these and remembering the discussions from the Keycloak DevDay 2025 Hackathon:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Why use email addresses at all?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All kinds of handles could reach an identity.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In some parts of the planet, only mobile phones are used to reach out to somebody.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In development scenarios, even a chat-message to, for example, Slack might be enough.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;I started a discussion about the &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/37848&quot;&gt;Future of sending messages to identities in Keycloak&lt;/a&gt;. Please join the discussion and let me know what you think.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/05/send-mails-xoauth-26-2</guid>
        <pubDate>Sun, 18 May 2025 00:00:00 GMT</pubDate>
        
        <author>Sebastian Rose</author>
      </item>
      <item>
        <title>OpenTalk Keycloak case study published</title>
        <link>https://www.keycloak.org/2025/05/opentalk-case-study</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://opentalk.eu/&quot;&gt;OpenTalk&lt;/a&gt;, a videoconferencing solution, needed a secure and scalable Identity and Access Management (IAM) solution to authenticate users across various services. Keycloak meets OpenTalk’s goals for security, user sovereignty, data privacy and regulatory requirements, so they use it in their architecture.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read more on their challenges and the solution in the first &lt;a href=&quot;https://www.cncf.io/case-studies/opentalk/&quot;&gt;CNCF case study published for the Keycloak project&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;a href=&quot;https://www.cncf.io/case-studies/opentalk/&quot;&gt;&lt;div class=&quot;paragraph mb-4&quot; style=&quot;height: 150px; background-color: #1f434f; display: flex&quot;&gt;
&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/opentalk.jpg&quot; alt=&quot;OpenTalk logo&quot; style=&quot;margin: auto; max-height: 90%; max-width: 90%; display: block; border: 0&quot;&gt;
&lt;/div&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We are now starting to collect all case studies at &lt;a href=&quot;https://www.keycloak.org/case-studies&quot;&gt;our case studies page&lt;/a&gt;.
If you want to share your case study with the Keycloak community, &lt;a href=&quot;https://github.com/ahus1&quot;&gt;contact me&lt;/a&gt; to sort out the details.&lt;/p&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/05/opentalk-case-study</guid>
        <pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate>
        
        <author>Alexander Schwartz</author>
      </item>
      <item>
        <title>Achieving Fine-Grained Admin Permissions with Keycloak 26.2</title>
        <link>https://www.keycloak.org/2025/05/fgap-kc-26-2</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For years, Role-Based Access Control (RBAC) has been the cornerstone of authorization in many applications. Assigning users to roles
provides a simple and effective way to manage access for common use cases. However, as applications become more complex and security
requirements more demanding, RBAC alone often falls short.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Keycloak is leveling up administrative access control with the release of &lt;strong&gt;Fine Grained Admin Permissions V2&lt;/strong&gt; a major step towards
introducing delegated administration to Keycloak so that server administrators can assign management privileges to other users
in a realm. By doing that, you should be able to reduce management costs and effort, and improve the overall efficiency and security
of your deployments by authorizing access to specific resources in a realm.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_why_fine_grained_admin_permissions_fgap_v2&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_why_fine_grained_admin_permissions_fgap_v2&quot;&gt;&lt;/a&gt;Why Fine-Grained Admin Permissions (FGAP) V2?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In previous Keycloak versions, administrative access was largely driven by broad roles such as &lt;code&gt;realm-admin&lt;/code&gt; or &lt;code&gt;manage-users&lt;/code&gt;.
While effective for simple setups, these roles often granted more access than necessary and lacked clarity around which actions
they allowed.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;FGAP V2&lt;/strong&gt; introduces a cleaner, more deliberate permission model that enables:&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;Granular access control&lt;/strong&gt; over users, clients, groups, and roles&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clear boundaries&lt;/strong&gt; between operations—no more implicit permissions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Easier management&lt;/strong&gt; of the permissions and policies&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Better evaluation mechanism&lt;/strong&gt; to allow authorization administrators audit the model&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;_key_highlights&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_key_highlights&quot;&gt;&lt;/a&gt;✨ Key Highlights&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_centralized_permissions_management&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_centralized_permissions_management&quot;&gt;&lt;/a&gt;🧭 Centralized Permissions Management&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;A new &lt;strong&gt;Permissions&lt;/strong&gt; section in the Admin Console provides a single place to view and manage all fine-grained permissions for a realm.
This simplifies navigation and makes it easier to design and audit your permission model.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_improved_manageability_and_evaluation&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_improved_manageability_and_evaluation&quot;&gt;&lt;/a&gt;🔍 Improved Manageability and Evaluation&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Permissions are now easier to discover, filter, and evaluate. You can inspect which scopes are assigned to which identities—making
it more transparent and manageable to build tailored administrative roles.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_resource_specific_and_global_permissions&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_resource_specific_and_global_permissions&quot;&gt;&lt;/a&gt;🎯 Resource-Specific and Global Permissions&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Define permissions either at the individual resource level (e.g., a single or set of users or clients), or across all resources
of a given type (e.g., all groups). This dual mode offers flexibility for both tightly scoped delegation and broader administrative
policies.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_️_explicit_operation_scoping&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_️_explicit_operation_scoping&quot;&gt;&lt;/a&gt;✂️ Explicit Operation Scoping&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Gone are the days of hidden dependencies between permissions. FGAP V2 makes every scope explicit—such as &lt;code&gt;view-members&lt;/code&gt;, &lt;code&gt;manage-members&lt;/code&gt;,
&lt;code&gt;map-roles&lt;/code&gt;, or &lt;code&gt;impersonate&lt;/code&gt;. This reduces confusion and gives you full visibility into what&amp;#8217;s granted and why.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect2&quot;&gt;
&lt;h3 id=&quot;_️_per_realm_enablement&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_️_per_realm_enablement&quot;&gt;&lt;/a&gt;🛠️ Per-Realm Enablement&lt;/h3&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FGAP V2 can be enabled independently for each realm. This allows administrators to adopt the new model incrementally, experiment
safely, and customize permission boundaries realm-by-realm.&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;_how_to_enable_it&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_how_to_enable_it&quot;&gt;&lt;/a&gt;🔧 How to Enable It&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;Start Keycloak. The feature is enabled by default.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;strong&gt;Realm Settings → Admin Permissions&lt;/strong&gt; and enable FGAP for the realm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the new &lt;strong&gt;Permissions&lt;/strong&gt; section to define permissions and policies for users, clients, groups, and roles.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For full configuration details, refer to the &lt;a href=&quot;https://www.keycloak.org/docs/latest/server_admin/#_fine_grained_permissions&quot;&gt;Fine-Grained Admin Permissions documentation&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;_migration_and_compatibility&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_migration_and_compatibility&quot;&gt;&lt;/a&gt;🔄 Migration and Compatibility&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;FGAP V2 provides the same level of access control over realm resources as the previous version, while improving manageability and
clarity. Automatic migration is not available, but if you&amp;#8217;re upgrading from an earlier Keycloak version, see the
&lt;a href=&quot;https://www.keycloak.org/docs/latest/upgrading/index.html#migrating-to-26-2-0&quot;&gt;Upgrading Guide&lt;/a&gt; for important key changes and migration notes.&lt;/p&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;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_next&quot;&gt;&lt;/a&gt;What’s Next?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This is just the beginning. Upcoming Keycloak releases will continue to expand FGAP support to additional resource types (such as
Organizations) and more fine grained actions for existing resources.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Try it out, experiment with permissions and policies and let us know what you think. Fine-Grained Admin Permissions V2 is here
to help you run Keycloak with confidence, clarity, and control.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/05/fgap-kc-26-2</guid>
        <pubDate>Wed, 14 May 2025 00:00:00 GMT</pubDate>
        
        <author>Vlasta Ramik</author>
      </item>
      <item>
        <title>Keycloak 26.2.4 released</title>
        <link>https://www.keycloak.org/2025/05/keycloak-2624-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/39418&quot;&gt;#39418&lt;/a&gt; Clarify when to use podman &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/35278&quot;&gt;#35278&lt;/a&gt; Double click on social provider link causes page has expired 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/38918&quot;&gt;#38918&lt;/a&gt; IPv6 support: Broker tests failing with proxy configuration &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/39021&quot;&gt;#39021&lt;/a&gt; After migrating to newer Keycloak, token refreshes using inherited offline sessions return access tokens with invalid exp value &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/39023&quot;&gt;#39023&lt;/a&gt; Keycloak 26.2.0 UI Performance Degradation &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39173&quot;&gt;#39173&lt;/a&gt; duplicate key value violates unique constraint &quot;constraint_offl_cl_ses_pk3&quot; &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/39454&quot;&gt;#39454&lt;/a&gt; JGroups errors when running a containerized Keycloak in Strict FIPS mode and with Istio &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/39500&quot;&gt;#39500&lt;/a&gt; Update Job Pod is listed in the keycloak discovery service &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/2025/05/keycloak-2624-released</guid>
        <pubDate>Thu, 8 May 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.2.3 released</title>
        <link>https://www.keycloak.org/2025/05/keycloak-2623-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/38985&quot;&gt;#38985&lt;/a&gt; Possibility to log details and representation to the jboss-logging listener &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/39080&quot;&gt;#39080&lt;/a&gt; Standardize introductory text in Keycloak guides &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/38104&quot;&gt;#38104&lt;/a&gt; Temporary failure in name resolution with nip.io &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/38145&quot;&gt;#38145&lt;/a&gt; Unknown error on authentication-flow delete action &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38482&quot;&gt;#38482&lt;/a&gt; SAML client certificate not persisted &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38487&quot;&gt;#38487&lt;/a&gt; [Keycloak Operator CI] - Test remote (slow) - UpdateTest.testExplicitStrategy &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/38660&quot;&gt;#38660&lt;/a&gt; Ldap federation seems to open and keep open a new thread/connection for each ldap request &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/38671&quot;&gt;#38671&lt;/a&gt; Duplicate Key Violation When Reauthenticating After Account Deletion via Google &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/38703&quot;&gt;#38703&lt;/a&gt; Password Policy Changes get overwritten 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/38799&quot;&gt;#38799&lt;/a&gt; Kerberos principal attribute value &quot;comes back&quot; when cleared. &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38873&quot;&gt;#38873&lt;/a&gt; Client Credentials tab : &quot;Allow regex pattern comparison&quot; toggle is always &quot;On&quot; on page load &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38911&quot;&gt;#38911&lt;/a&gt; Filtering of user- and admin-events by dateTo always returns empty results &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/38932&quot;&gt;#38932&lt;/a&gt; Home button always redirects to master realm when permission denied &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38934&quot;&gt;#38934&lt;/a&gt; UI: Readonly/disabled profile form input fields are visually indistinguishable from active fields &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/38964&quot;&gt;#38964&lt;/a&gt; [26.2.0/26.1.5] Regression: ClientList value is empty in UI for Custom UserStorageProviderFactory &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38970&quot;&gt;#38970&lt;/a&gt; Authentication request can fail with `unknown_error` &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/39026&quot;&gt;#39026&lt;/a&gt; Fine-grained-permssion v2 Display problem &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/39037&quot;&gt;#39037&lt;/a&gt; UserInfo request fails by using an access token obtained in Hybrid flow with offline_access 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/39046&quot;&gt;#39046&lt;/a&gt; Keycloak 26.2.0 can&#39;t authenticate to the H2 database after the 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/39055&quot;&gt;#39055&lt;/a&gt; After import of keys an export doesn&#39;t include these 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/39065&quot;&gt;#39065&lt;/a&gt; Issue with SSL and `CertificatereloadManager` in Keycloak 26.2 when using Istio &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/39085&quot;&gt;#39085&lt;/a&gt; Redirects to admin endpoint 404s on hostname-admin / request scheme mismatch &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/39124&quot;&gt;#39124&lt;/a&gt; [Operator CI] - Test remote (slow) &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/39180&quot;&gt;#39180&lt;/a&gt; Groups view: Filter/search bar disappears and groups not shown after clearing empty search results &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39182&quot;&gt;#39182&lt;/a&gt; Oracle driver problems in keycloak 26.2.1 &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/39187&quot;&gt;#39187&lt;/a&gt; Account console: defaultLocale item in select locale field &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/39206&quot;&gt;#39206&lt;/a&gt; Wrong UDP jgroups metric name &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/39219&quot;&gt;#39219&lt;/a&gt; Serverinfo response grows over time &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/39237&quot;&gt;#39237&lt;/a&gt; Deletion of a role is slow when when there are a lot of roles in 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/39246&quot;&gt;#39246&lt;/a&gt; Duplicate user entries when searching custom attributes &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/39274&quot;&gt;#39274&lt;/a&gt; Aurora DB should not update automatically to the latest minor version &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/39296&quot;&gt;#39296&lt;/a&gt; Inconsistent &quot;grant_types&quot; vs &quot;grantTypes&quot; Naming Causes GrantTypeCondition to Always Fail &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/39312&quot;&gt;#39312&lt;/a&gt; SLO measurement should mention a month as a period &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/2025/05/keycloak-2623-released</guid>
        <pubDate>Mon, 5 May 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak 26.2.2 released</title>
        <link>https://www.keycloak.org/2025/04/keycloak-2622-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/39142&quot;&gt;#39142&lt;/a&gt; Make distribution startup timeout configurable &lt;span class=&quot;badge bg-secondary&quot;&gt;testsuite&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/39125&quot;&gt;#39125&lt;/a&gt; [Keycloak CI] - FIPS UT - Run crypto 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/39349&quot;&gt;#39349&lt;/a&gt; CVE-2025-3910 Two factor authentication bypass &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39350&quot;&gt;#39350&lt;/a&gt; CVE-2025-3501 Keycloak hostname verification &lt;/li&gt;
&lt;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2025/04/keycloak-2622-released</guid>
        <pubDate>Wed, 30 Apr 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Announcing Keycloak's Identity Summit: KEYCONF25</title>
        <link>https://www.keycloak.org/2025/04/keyconf25-amsterdam-announce</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeyConf24 was a fantastic success, bringing together identity and access management professionals, developers, and community members from across Europe. The day was packed with insightful talks, deep dives into Keycloak, and incredible conversations between some of the brightest minds in IAM.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now, we’re excited to take things even further.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;📍 Introducing &lt;a href=&quot;https://keyconf.dev/&quot;&gt;KEYCONF25&lt;/a&gt; – taking place in Amsterdam on August 28th, 2025!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;This year’s edition of the Keycloak Identity Summit promises more content, more connections, and even more opportunities to engage with the people shaping the future of identity and access management.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_what_to_expect_at_keyconf25&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_what_to_expect_at_keyconf25&quot;&gt;&lt;/a&gt;What to expect at KEYCONF25&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;dlist&quot;&gt;
&lt;dl&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Inspiring Keynote Speakers&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Hear directly from thought leaders, core contributors, and experts working on the cutting edge of Keycloak and open identity standards.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Connect with like-minded professionals&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;From long-time contributors to those just starting their IAM journey, KEYCONF25 is the perfect place to meet others working with identity, OAuth2, OIDC, and more.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Networking lunch&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Our extended lunch break is designed to help you meet fellow attendees, swap ideas, and build meaningful professional connections in a relaxed setting.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Business drinks&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Stick around after the last session for informal networking over drinks. Want to sponsor this year’s Business Drink? Get in touch with us—we’d love to partner with you!&lt;/p&gt;
&lt;/dd&gt;
&lt;dt class=&quot;hdlist1&quot;&gt;Expert sessions and real-world use cases&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Gain practical insights into Keycloak implementation, security improvements, OAuth2 best practices, and evolving identity standards. Topics and speakers to be announced soon!&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;_save_the_date_and_join_us&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_save_the_date_and_join_us&quot;&gt;&lt;/a&gt;Save the date and join us!&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Whether you&amp;#8217;re a developer, architect, security specialist, or product owner, KEYCONF25 is your opportunity to gain knowledge, grow your network, and contribute to the future of the Keycloak community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;📅 August 28th, 2025&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;📍 Amsterdam, Netherlands&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Tickets are now available at &lt;a href=&quot;https://keyconf.dev/&quot;&gt;keyconf.dev&lt;/a&gt; – secure your spot early!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_want_to_get_involved&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_want_to_get_involved&quot;&gt;&lt;/a&gt;Want to get involved?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We’re actively seeking sponsors and speakers for KEYCONF25. If you’d like to share your expertise or support this community-driven event, please get in touch at &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’s continue building a stronger, smarter IAM community—together.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We can’t wait to see you in Amsterdam!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/04/keyconf25-amsterdam-announce</guid>
        <pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate>
        
        <author>Nathalia Pinesi</author>
      </item>
      <item>
        <title>Observability in Keycloak 26.2</title>
        <link>https://www.keycloak.org/2025/04/observability-26-2</link>
        <description>&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;When running a central single sign on service like Keycloak in production, you need to understand how well the system performs and whether there are service degradations.
Having a proper monitoring stack in place is essential for this.
Moreover, when the system performance degrades, it is crucial to identify which part of the system is causing the problem to address it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the latest Keycloak release, all the above became more straightforward and works without additional extensions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Read on to learn more and &lt;a href=&quot;https://www.keycloak.org/2025/04/observability-26-2&quot;&gt;watch the recording of our meetup on May 7th&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_hey_keycloak_how_are_you&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_hey_keycloak_how_are_you&quot;&gt;&lt;/a&gt;Hey Keycloak! How are you?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Users rely on Keycloak to log in to their applications, and service level indicators (SLIs) capture the key metrics capturing that behavior.
Misbehavior of the system can be detected by monitoring these SLIs.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;One of the indicators can be the availability of the system.
The indicator for availability can be defined as: percentage of the time the system can answer requests.
The lower the indicator is for your system, the less available it was in the observed period.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Find an example set of SLIs for Keycloak and more details on this topic in the &lt;a href=&quot;https://www.keycloak.org/observability/keycloak-service-level-indicators&quot;&gt;Monitoring performance with Service Level Indicators&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_oh_no_you_are_not_doing_well&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_oh_no_you_are_not_doing_well&quot;&gt;&lt;/a&gt;Oh no! You are not doing well?&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Now we know how to detect when Keycloak is not performing well.
But what should I do when a service level indicator shows a degradation of the service?
This situation usually means some part of Keycloak does not perform well. However, from the indicator itself, it is hard to say what part of Keycloak it is.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To identify the culprit of the problem, we provide the &lt;a href=&quot;https://www.keycloak.org/observability/metrics-for-troubleshooting&quot;&gt;Troubleshooting using metrics&lt;/a&gt; guide that lists chosen metrics.
Using these metrics, you can visualize what is happening in your deployment and down problems.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Some examples of metrics from the guide are listed below:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Number of operations performed by Keycloak like password hashes, login flows, token refreshes, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Memory usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Database connection pool utilization&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Number of HTTP requests per URL and outcome&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hit ratios for internal caches&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For environments with Prometheus for collecting metrics and Grafana for displaying them, we also provide Grafana dashboards to make troubleshooting smoother.
Find instructions on how to deploy our dashboards into your Grafana instance in the &lt;a href=&quot;https://www.keycloak.org/observability/grafana-dashboards&quot;&gt;Visualizing activities in dashboards&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Grafana dashboards with SLIs (click to enlarge)&lt;/div&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/grafana-dashboards-2025.png&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/grafana-dashboards-2025.png&quot; alt=&quot;Grafana dashboards with SLIs, password validations, database connections pool and http metrics.&quot; style=&quot;width: 100%; max-width: 1049px; object-fit: cover; height: 350px; 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;_my_keycloak_is_still_sick_i_need_an_in_depth_examination&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_my_keycloak_is_still_sick_i_need_an_in_depth_examination&quot;&gt;&lt;/a&gt;My Keycloak is still sick :( I need an in-depth examination&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Thanks to metrics, you can observe certain aspects of the system and how they evolve over time.
However, they may not provide a detailed picture of what is happening inside Keycloak for a specific request.
For this, you can leverage traces.
Learn more in the &lt;a href=&quot;https://www.keycloak.org/observability/tracing&quot;&gt;Root cause analysis with tracing&lt;/a&gt; guide.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;With tracing, you can observe steps that Keycloak was performing for a specific request, including the respective timing for each of them.
These steps include operations by Keycloak but also waiting time for responses from third party services like the database, LDAP, Infinispan and others.
This helps you to reveal where the bottleneck in your system is.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;In the example below, you can see steps Keycloak was performing when a user submitted the username and password form.
You can see the most time-consuming step was password hashing, which took 30 milliseconds out of 48-millisecond total request processing time.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;openblock&quot;&gt;
&lt;div class=&quot;title&quot;&gt;Trace displayed in Jaeger (click to enlarge)&lt;/div&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/tracing-2025.png&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/tracing-2025.png&quot; alt=&quot;Trace displayed in Jaeger for username password form submission.&quot; style=&quot;width: 100%; max-width: 2202px; height: 350px; object-position: 30% 30%; object-fit: cover;&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;_next_steps&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_next_steps&quot;&gt;&lt;/a&gt;Next steps&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To see all of this in action and to ask live questions, &lt;a href=&quot;https://www.meetup.com/keycloak-hour-of-code/events/307445176&quot;&gt;join the Keycloak hour of code online meetup held on 7th May 2025 at 4pm CEST dedicated to observability&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;As an appetizer, see a shorter version of &lt;a href=&quot;https://youtu.be/bC4xbBJs0CA?si=WfptsITHZvpYBM_8&amp;amp;t=769&quot;&gt;a demo by Ryan Emerson recorded at KubeCon London 2025&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;To ask questions outside the meetup, use the &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;You can also leave the feedback in the &lt;a href=&quot;https://github.com/keycloak/keycloak/discussions/39160&quot;&gt;Keycloak GitHub discussion dedicated to this blog post&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/04/observability-26-2</guid>
        <pubDate>Thu, 24 Apr 2025 00:00:00 GMT</pubDate>
        
        <author>Michal Hajas</author>
      </item>
      <item>
        <title>Keycloak 26.2.1 released</title>
        <link>https://www.keycloak.org/2025/04/keycloak-2621-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/38956&quot;&gt;#38956&lt;/a&gt; Clarify upgrade instructions &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/39057&quot;&gt;#39057&lt;/a&gt; Change the title for Grafana dashboards guide to plural &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/39059&quot;&gt;#39059&lt;/a&gt; Document operator `Auto` update strategy when used with `podTemplate` &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/38458&quot;&gt;#38458&lt;/a&gt; [FGAP] [UI] Permission search doesn&#39;t execute correct consequent search request &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/38692&quot;&gt;#38692&lt;/a&gt; Test coverage for count menthods when filtering &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/38767&quot;&gt;#38767&lt;/a&gt; Make group required when selecting a specific group creating a premission &lt;span class=&quot;badge bg-secondary&quot;&gt;admin/ui&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/38812&quot;&gt;#38812&lt;/a&gt; Test failures in CI in Chrome 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/38846&quot;&gt;#38846&lt;/a&gt; StatefulSet reconciliation infinitely looping &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/38913&quot;&gt;#38913&lt;/a&gt; [FGAP] AvailableRoleMappings do not consider all-clients 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/38920&quot;&gt;#38920&lt;/a&gt; Downstream docs have duplicate ID on sampling &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/38925&quot;&gt;#38925&lt;/a&gt; Blocking issue with increasing JVM thread count after migrating from 26.0.8 to 26.1.4 &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/38929&quot;&gt;#38929&lt;/a&gt; Permission details sometimes don&#39;t show the name of the 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/38930&quot;&gt;#38930&lt;/a&gt; [Docs] Broken link in ExternalLinksTest for importmap &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/38937&quot;&gt;#38937&lt;/a&gt; Liquibase checksum mismatch when upgrading from Keycloak ≤ 22.0.4 directly to 26.2.x &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/38982&quot;&gt;#38982&lt;/a&gt; JpaRealmProvider getGroupByName return group duplicate due to change of comparison (like vs equal) &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/39015&quot;&gt;#39015&lt;/a&gt; Keycloak operator with update strategy to Auto: missing imagePullSecrets &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/39096&quot;&gt;#39096&lt;/a&gt; Release note 26.2.0 has broken link &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/2025/04/keycloak-2621-released</guid>
        <pubDate>Wed, 23 Apr 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Release</category>
        
      </item>
      <item>
        <title>Keycloak at KubeCon EU 2025</title>
        <link>https://www.keycloak.org/2025/04/keycloak-kubecon25-eu-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 EU in London. 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;&lt;a class=&quot;anchor&quot; href=&quot;#_project_pavilion&quot;&gt;&lt;/a&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/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/y-tabata&quot;&gt;Yoshiyuki Tabata&lt;/a&gt; from Hitachi,
alongside &lt;a href=&quot;https://github.com/mabartos&quot;&gt;Martin Bartos&lt;/a&gt; and &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&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 had the opportunity to connect with both existing and prospective Keycloak users to talk all
things related to Identity and Access Management. Keycloak stickers were as popular as ever, with both the CNCF sticker
wall and our own stash completely emptied! It was fantastic to hear firsthand feedback - what’s working well and where
there’s room for improvement. Insights like these are invaluable as we continue to grow the project and shape the future
roadmap. If you weren’t able to stop by the pavilion, we’d still love to hear from you, please feel free to share your
thoughts via the &lt;a href=&quot;http://bit.ly/keycloak-community&quot;&gt;online feedback 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_eu_2025_kiosk.jpg&quot;&gt;&lt;img src=&quot;https://www.keycloak.org/resources/images/blog/kubecon_eu_2025_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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_talk&quot;&gt;&lt;/a&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/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; and &lt;a href=&quot;https://github.com/ryanemerson&quot;&gt;Ryan Emerson&lt;/a&gt; presented a talk titled
&amp;#8220;Evolving OpenID Connect and Observability in Keycloak&amp;#8221;. &lt;a href=&quot;https://www.youtube.com/watch?v=bC4xbBJs0CA&quot;&gt;Watch the recording&lt;/a&gt;
to hear about how OpenID Connect and observability have evolved over the past year in the Keycloak project. 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/bC4xbBJs0CA?si=_aI5ahywt8Jxn_eB&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 conversations 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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_survey&quot;&gt;&lt;/a&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;_keycloakcon_and_kubecon_japan&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloakcon_and_kubecon_japan&quot;&gt;&lt;/a&gt;KeycloakCon and KubeCon Japan&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The two events KeycloakCon Japan and KubeCon Japan will happen in Tokyo on June 13 and June 16-17 2025, respectively.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;KeycloakCon 2025 Japan is a half-day meetup 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).
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;&lt;a href=&quot;https://events.linuxfoundation.org/kubecon-cloudnativecon-japan&quot;&gt;KubeCon 2025 Japan&lt;/a&gt; will be held on June 16-17, where &lt;a href=&quot;https://github.com/mposolda&quot;&gt;Marek Posolda&lt;/a&gt; and &lt;a href=&quot;https://github.com/tnorimat&quot;&gt;Takashi Norimatsu&lt;/a&gt; will be presenting the talk: &lt;a href=&quot;https://sched.co/1x6zG&quot;&gt;Add Single-sign-on To Your Applications With Keycloak and Learn About Its Latest Features&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We hope to see you there and hear your latest Keycloak stories!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        <guid>https://www.keycloak.org/2025/04/keycloak-kubecon25-eu-recap</guid>
        <pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate>
        
        <author>Ryan Emerson</author>
      </item>
      <item>
        <title>Keycloak Client Libraries 26.0.5 released</title>
        <link>https://www.keycloak.org/2025/04/keycloak-client-2605-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;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-client/issues/120&quot;&gt;#120&lt;/a&gt; Add release notes so they can be pulled into the website &lt;span class=&quot;badge bg-secondary&quot;&gt;client&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-client/issues/111&quot;&gt;#111&lt;/a&gt; Close session when client is closed &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/135&quot;&gt;#135&lt;/a&gt; Testing and document keycloak-client with Java 11 &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/147&quot;&gt;#147&lt;/a&gt; Update PR-CHECKLIST &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/158&quot;&gt;#158&lt;/a&gt; Sync with Keycloak server after Keycloak 26.2 release &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/150&quot;&gt;#150&lt;/a&gt; POM contains invalid SCM URLs &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/04/keycloak-client-2605-released</guid>
        <pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Client Libraries Release</category>
        
      </item>
      <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/26.2.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;_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/26.2.0/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/26.2.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;_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/26.2.0/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/26.2.0/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/26.2.0/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 &lt;a href=&quot;https://www.keycloak.org/docs/26.2.0/server_admin/#_email&quot;&gt;SMTP mail configuration&lt;/a&gt; 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/26.2.0/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;Read on for more details on the process.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We had an online Q&amp;amp;A session for &lt;a href=&quot;https://studio.youtube.com/video/d1W1BH8L57k/edit&quot;&gt;AMER/EMEA&lt;/a&gt; and &lt;a href=&quot;https://youtube.com/live/5S0DYJcDDxA&quot;&gt;APAC&lt;/a&gt; where you can see this process live and in action.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_translate_using_weblate&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_translate_using_weblate&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_translate_using_github_pull_requests&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_join_the_discussion_and_read_up_on_the_process&quot;&gt;&lt;/a&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-kubecon25-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;&lt;a class=&quot;anchor&quot; href=&quot;#_talks_at_kubecon&quot;&gt;&lt;/a&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 12:10 - 12:40 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&gt;
&lt;/div&gt;
&lt;div class=&quot;sect1&quot;&gt;
&lt;h2 id=&quot;_project_pavillion&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_project_pavillion&quot;&gt;&lt;/a&gt;Project Pavillion&lt;/h2&gt;
&lt;div class=&quot;sectionbody&quot;&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;The Keycloak project table in the Project Pavillion is the place to meet the Keycloak maintainers, contributors and the larger community.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;We will be there in the afternoons, while other projects will be there during the mornings.
See below for the location and the times.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;strong&gt;Table: P-7&lt;br&gt;
Table Schedule: &lt;a href=&quot;https://kccncjpn2025.sched.com/event/267L9/project-pavilion-tables-monday-afternoon&quot;&gt;Monday 15:15 - 19:15&lt;/a&gt;, &lt;a href=&quot;https://kccncjpn2025.sched.com/event/267LR/project-pavilion-tables-tuesday-afternoon&quot;&gt;Tuesday 14:00 - 17:00&lt;/a&gt; JST&lt;br&gt;
Location: Level 1 | Pegasus Foyer&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;&lt;em&gt;Please see the official page above for the exact location and time in case it is changed by event organizers.&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;_see_you_there&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_see_you_there&quot;&gt;&lt;/a&gt;See you there!&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 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>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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_presenting_evolving_openid_connect_and_keycloak_observability&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_related_talks&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_see_you_soon&quot;&gt;&lt;/a&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/26.1.3/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;&lt;a class=&quot;anchor&quot; href=&quot;#_meeting_the_keycloak_community_on_site&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#videos&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_fosdem_is_all_about_devrooms&quot;&gt;&lt;/a&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;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/26.1.1/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 Nodejs Connect 26.1.1 released</title>
        <link>https://www.keycloak.org/2025/01/keycloak-nodejs-connect-2611-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/docs/latest/upgrading/##_upgrade_nodejs_adapter&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;/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;/ul&gt;

</description>
        <guid>https://www.keycloak.org/2025/01/keycloak-nodejs-connect-2611-released</guid>
        <pubDate>Tue, 28 Jan 2025 00:00:00 GMT</pubDate>
        <category>Keycloak Nodejs Connect 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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_terraform_provider_releases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_changes&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_4_5_maintenance_release&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_5_0_release&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_planned_next_releases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_join_the_community&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_meet_and_greet&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_fosdem_is_all_about_devrooms&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_related_talks&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_session_storages_in_keycloak_26_cheatsheet&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_evolution_of_storing_sessions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_about_whole_site_disasters&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_i_want_my_sessions_to_survive&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_is_the_database_the_correct_place_for_such_write_heavy_objects&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_options_do_i_have_and_which_of_them_should_i_consider&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_single_site_with_sessions_stored_in_the_database_and_cached_in_memory&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_single_site_with_sessions_stored_in_memory&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_single_site_with_sessions_stored_in_external_infinispan&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_single_site_with_sessions_stored_in_memory_and_external_infinispan&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_options_for_multiple_sites&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_feedback_welcomed&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_frequently_asked_questions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_why_do_we_need_external_infinispan_in_a_multi_site_setup_with_persistent_user_sessions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_videos_to_re_watch&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_we_are_excited_to_connect_with_the_community&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_meet_us_next_at_fosdem&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_new_repository_location&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_the_journey_so_far&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_gratitude_and_transition&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_migration_notes&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_updates_and_changes&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_join_the_community&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_project_pavilion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_talk&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_survey&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_kubecon_eu&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_it_all_started&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_brighter_future&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_are_you_curious_about_where_to_start&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_next_steps&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_acknowledgement&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_hackathon_actively_help_shape_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_schedule_of_the_hackathon&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_why_should_you_participate&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_ideas_and_topics&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_can_you_take_part&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_kubecon&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_openshift_commons_gathering&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_specific_events_at_kubecon&quot;&gt;&lt;/a&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;Removed features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak-web/issues/492&quot;&gt;#492&lt;/a&gt; Stop using the UMD version of Keycloak JS on the website &lt;code&gt;web&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/10983&quot;&gt;#10983&lt;/a&gt; Remove redirect_uri support from OIDC logout endpoint &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15013&quot;&gt;#15013&lt;/a&gt; Remove OpenJDK 8 for adapters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16181&quot;&gt;#16181&lt;/a&gt; Deprecate legacy cookie behaviour behind profile &lt;code&gt;authentication&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/16770&quot;&gt;#16770&lt;/a&gt; Remove legacy cookies &lt;code&gt;authentication&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27365&quot;&gt;#27365&lt;/a&gt; Remove GELF &lt;code&gt;dist/quarkus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27731&quot;&gt;#27731&lt;/a&gt; Remove Hostname v1 &lt;code&gt;docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/29104&quot;&gt;#29104&lt;/a&gt; Check if OSGI metadata can be removed entirely &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32821&quot;&gt;#32821&lt;/a&gt; Remove references of using statically served Keycloak JS code from docs &lt;code&gt;docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32823&quot;&gt;#32823&lt;/a&gt; Remove ability for Keycloak JS to detect the URL of Keycloak server based on script &lt;code&gt;docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32824&quot;&gt;#32824&lt;/a&gt; De-couple integration tests from statically served Keycloak JS &lt;code&gt;testsuite&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32826&quot;&gt;#32826&lt;/a&gt; Remove UMD distribution of Keycloak JS &lt;code&gt;adapter/javascript&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32827&quot;&gt;#32827&lt;/a&gt; Remove code and profile to statically serve Keycloak JS from the server &lt;code&gt;adapter/javascript&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/32843&quot;&gt;#32843&lt;/a&gt; Release notes and upgrade guide for Keycloak JS &lt;code&gt;docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33021&quot;&gt;#33021&lt;/a&gt; Remove deprecated `setOrCreateChild()` method from Admin Client &lt;code&gt;admin/client-js&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/33082&quot;&gt;#33082&lt;/a&gt; Stop statically serving Keycloak JS from the Keycloak server &lt;code&gt;adapter/javascript&lt;/code&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;&lt;a class=&quot;anchor&quot; href=&quot;#_popular_tools_in_use&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_tool_usage_distribution&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_areas_for_improvement&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_next&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_accelerate_your_development_with_our_quickstart_tool&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_get_started&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_key_benefits&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_topics_to_tackle&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_call_to_action&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_communication_channels&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_to_expect_at_keyconf24&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_save_the_date_and_join_us_in_the_live_stream&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_save_the_date&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_call_for_papers&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_tickets&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_getting_started&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_start_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_a_realm&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_users_in_the_orgdemo_realm&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_understanding_the_changes_to_authentication_flows_when_the_feature_is_enabled&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_authenticating_to_a_realm_when_there_are_organizations&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_trying_to_authenticate_as_a_user_that_does_not_exist_using_an_email_domain_that_matches_an_organization&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_authenticating_as_an_existing_user_using_an_email_domain_that_matches_an_organization&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&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;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_using_organization_metadata_in_bearer_tokens_to_access_protected_resources_from_the_clients_in_a_realm&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_changed_runtime_behavior_of_keycloak_and_the_database&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_migrating_from_previous_community_solutions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_migrating_existing_sessions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_enabling_persistent_user_sessions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_outlook&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_kudos_providing_feedback_and_asking_questions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_to_expect_at_keyconf24&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_save_the_date_and_join_us&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_want_to_get_involved&quot;&gt;&lt;/a&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;Removed features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19664&quot;&gt;#19664&lt;/a&gt; Remove Account Console v2 &lt;code&gt;account/ui&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23381&quot;&gt;#23381&lt;/a&gt; Remove Wildfly and EAP OIDC adapters &lt;code&gt;adapter/jee&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26813&quot;&gt;#26813&lt;/a&gt; Remove deprecated cookie code &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/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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_and_oauth2_token_exchange_for_microservice_api_security&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_and_the_secrets_of_the_universe_at_cern&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_openfga_and_kubernetes_authorizer&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_the_leading_edge_of_authn_and_authz&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_summary&quot;&gt;&lt;/a&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;Security fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/21258&quot;&gt;#21258&lt;/a&gt; CVE-2022-1471- SnakeYaml remote code execution by sending malicious YAML content &lt;code&gt;dependencies&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26923&quot;&gt;#26923&lt;/a&gt; CVE-2023-35116 - jackson-databind - 2.15.2 &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27204&quot;&gt;#27204&lt;/a&gt;  CVE-2024-1597 - SQL Injection vulnerability in org.postgresql:postgresql &lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Removed features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/15472&quot;&gt;#15472&lt;/a&gt; Remove session revocation by &#39;not before&#39; date &lt;code&gt;admin/api&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/17734&quot;&gt;#17734&lt;/a&gt; Remove session revocation by &#39;not before&#39; date &lt;code&gt;admin/ui&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/19660&quot;&gt;#19660&lt;/a&gt; Deprecate Account Console v2 &lt;code&gt;account/ui&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/26255&quot;&gt;#26255&lt;/a&gt; Remove Jetty 9.4 adapters &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/27364&quot;&gt;#27364&lt;/a&gt; Deprecate GELF &lt;code&gt;dist/quarkus&lt;/code&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/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;&lt;a class=&quot;anchor&quot; href=&quot;#_improved_documentation_and_new_blueprints&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_validation_of_the_multi_site_setup&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_got_better_for_everyone&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_can_the_blueprints_or_scripts_be_used_in_production&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_read_the_guides_and_give_it_a_try&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_community_event_to_celebrate_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_tailored_for_users_of_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_book_your_ticket_online&quot;&gt;&lt;/a&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;Removed features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/keycloak/keycloak/issues/23348&quot;&gt;#23348&lt;/a&gt; Remove `P3P` header from authentication flow  &lt;code&gt;oidc&lt;/code&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/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;&lt;a class=&quot;anchor&quot; href=&quot;#_whats_next&quot;&gt;&lt;/a&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.
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://forum.keycloak.org/u/dasniko&quot;&gt;Niko&lt;/a&gt; and
&lt;a href=&quot;https://forum.keycloak.org/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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_kubecon&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_community_meet_greet_at_the_project_pavilion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_openshift_commons_gathering&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_specific_events_at_kubecon&quot;&gt;&lt;/a&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>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>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;&lt;a class=&quot;anchor&quot; href=&quot;#_oauth_2_0_and_openid_connect_adapters&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_java&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_node_js&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_client_side_javascript&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_saml_2_0&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_instructions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_conclusion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_try_it_out&quot;&gt;&lt;/a&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;i class=&quot;fa icon-warning&quot; title=&quot;Warning&quot;&gt;&lt;/i&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;&lt;a class=&quot;anchor&quot; href=&quot;#_see_what_keycloak_can_do_without_a_database&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_next_step_persist_data_in_a_relational_database&quot;&gt;&lt;/a&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;i class=&quot;fa icon-caution&quot; title=&quot;Caution&quot;&gt;&lt;/i&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;&lt;a class=&quot;anchor&quot; href=&quot;#_alternative_next_step_persist_data_in_external_infinispan&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_next_step_store_data_in_separate_storages&quot;&gt;&lt;/a&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;i class=&quot;fa icon-note&quot; title=&quot;Note&quot;&gt;&lt;/i&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;&lt;a class=&quot;anchor&quot; href=&quot;#_conclusion&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_is_fapi_sig&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_do_fapi_sigs_activities_proceed&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_has_fapi_sig_achieved&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_activities_are_going_on_in_fapi_sig&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_where_do_i_know_fapi_sigs_activities_in_detail&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_do_i_participate_fapi_sigs_activities&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_18_marchapril&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_highlights&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_end_of_life&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_19_junejuly&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_highlights_2&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_end_of_life_2&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_20_septemberoctober&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_highlights_3&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_end_of_life_3&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_21_decemberjanuary&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_highlights_4&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_end_of_life_4&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_keycloak_22_marchapril_2023&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_end_of_life_5&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_first_class_databases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_second_class_databases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_community_supported_databases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_alternatives&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_wildfly&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_spring&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_quarkus&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_node_js&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_timeline&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_discussions&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_community&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_extended_support&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_to_use&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_install_apache_apisix&quot;&gt;&lt;/a&gt;Install Apache APISIX&lt;/h3&gt;
&lt;div class=&quot;sect3&quot;&gt;
&lt;h4 id=&quot;_install_dependencies&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#_install_dependencies&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_installation_via_rpm_package_centos_7&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_installation_via_docker&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_installation_via_helm_chart&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_initializing_dependencies&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_start_apache_apisix&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_start_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_configure_keycloak&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_a_realm&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_a_client&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_configure_the_client&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_users&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_routes&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_get_client_id_and_client_secret&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_get_the_discovery_configuration&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_a_route_and_enable_the_plug_in&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_access_testing&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_access_apache_apisix&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_successful_access&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_logout&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_summary&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_highlights&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_experiences&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_quarkus&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_storage_re_architecture&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_operator_and_containers&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_observability&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_gitops_friendly_configuration&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_external_integrations&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_decomposing&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_roadmap&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_feedback&quot;&gt;&lt;/a&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>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;&lt;a class=&quot;anchor&quot; href=&quot;#_why_quarkus&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_focus_on_usabillity&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_smaller&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_container_first_and_cloud_native_distribution&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_developer_experience&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_installation&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_directory_structure&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_command_line_interface&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_starting_the_server&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_configuring_the_server&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_configuration_categories&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_https&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_database&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_clustering&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_custom_providers_and_themes&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_running_in_a_container&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_benchmarking&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_roadmap&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_thanks_to_the_community&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_references&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_screen_shots_of_new_account_management_console&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_theming&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_create_your_own_sub_pages&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_the_home_for_new_keycloak_features&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_faq&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_will_louketo_proxy_be_no_longer_maintained_will_there_be_no_new_releases&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_are_there_any_alternatives_i_should_use_instead&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_how_do_i_migrate_to_oauth2_proxy&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_why_are_you_abandoning_louketo_proxy_as_a_project&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_i_would_like_to_keep_maintaining_louketo_what_should_i_do&quot;&gt;&lt;/a&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;&lt;a class=&quot;anchor&quot; href=&quot;#_what_happens_if_nobody_will_step_up_to_maintain_louketo&quot;&gt;&lt;/a&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 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.io/&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://forum.keycloak.org/&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>
