Impact Score: 5/10
Keycloak 23.0.2 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: keycloak ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Keycloak 23.0.2. Source highlight: Non-blocking health check for load balancers
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
๐ View Raw Release Notes (Original Developer Log)
<div>
<h2>Highlights</h2>
<div class="sect2">
<h3 id="_non_blocking_health_check_for_load_balancers">Non-blocking health check for load balancers</h3>
<div class="paragraph">
<p>A new health check endpoint available at <code>/lb-check</code> 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.</p>
</div>
<div class="paragraph">
<p>This endpoint is not available by default.
To enable it, run Keycloak with feature <code>multi-site</code>.
Proceed to <a href="https://www.keycloak.org/server/features">Enabling and disabling features</a> guide for more details.</p>
</div>
</div>
<h2>Upgrading</h2>
<p>Before upgrading refer to <a href="file:/home/st/dev/keycloak-web/target/web/docs/latest/upgrading/index.html#migration-changes">the migration guide</a> for a complete list of changes.</p>
<h2>All resolved issues</h2>
<h3>Enhancements</h3>
<ul>
<li><a href="https://github.com/keycloak/keycloak/issues/25113">#25113</a> Add a test for the LoadBalancerCheck </li>
<li><a href="https://github.com/keycloak/keycloak/issues/25287">#25287</a> Upgrade Infinispan to 14.0.21.Final </li>
</ul>
<h3>Bugs</h3>
<ul>
<li><a href="https://github.com/keycloak/keycloak/issues/24652">#24652</a> SAML decryption fails if keycloak.saml.deprecated.encryption flag is set <code>saml</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/24986">#24986</a> `getMultiPartFormParameters()` always returns `EmptyMultivaluedMap` after upgrade to Resteasy Reactive <code>core</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25001">#25001</a> Client redirect_uri check must be compared using exact string matching <code>oidc</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25010">#25010</a> Bug: KC_DB_USERNAME environment variable is causing a crash in latest version <code>dist/quarkus</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25051">#25051</a> Unexpected Application Error when clicking "Cancel" on user creation page <code>admin/ui</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25108">#25108</a> Documentation Inconsistency about Open Banking(Finance) Brasil FAPI security profile <code>docs</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25124">#25124</a> If a client does not have a URL the applications page in the account console links to about:blank <code>account/ui</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25173">#25173</a> Make sure username is lowercase when normalizing attributes <code>user-profile</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25183">#25183</a> NullPointerException thrown for UPConfig.getGroups() <code>user-profile</code></li>
<li><a href="https://github.com/keycloak/keycloak/issues/25307">#25307</a> Keycloak instance `HasErrors` true after update: `More than 1 secondary resource related to primary` <code>operator</code></li>
</ul>
</div>