Highlights
Account Console v2 theme removed
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.
Java 21 support
Keycloak now supports OpenJDK 21, as we want to stick to the latest LTS OpenJDK versions.
Java 17 support is deprecated
OpenJDK 17 support is deprecated in Keycloak, and will be removed in a following release in favor of OpenJDK 21.
Most of Java adapters removed
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.
For OAuth 2.0/OIDC, this includes removal of the Tomcat adapter, WildFly/EAP adapter, Servlet Filter adapter, KeycloakInstalled
desktop adapter, the jaxrs-oauth-client
adapter, JAAS login modules, Spring adapter and SpringBoot adapters.
You can check our older post for the list of some alternatives.
For SAML, this includes removal of the Tomcat adapter and Servlet filter adapter. SAML adapters are still supported with WildFly and JBoss EAP.
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 quickstarts 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.
Upgrade to PatternFly 5
In Keycloak 24, the Welcome page is updated to use PatternFly 5, 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 the changes in PatternFly 5 and update your customizations accordingly.
Argon2 password hashing
Argon2 is now the default password hashing algorithm used by Keycloak in a non-FIPS environment.
Argon2 was the winner of the 2015 password hashing competition and is the recommended hashing algorithm by OWASP.
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.
New Hostname options
In response to the complexity and lack of intuitiveness experienced with previous hostname configuration settings, we are proud to introduce Hostname v2 options.
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.
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.
New options are activated by default, so Keycloak will not recognize the old ones.
For information on how to migrate, see the Upgrading Guide.
Persistent user sessions
Previous versions of Keycloak stored only offline user and offline client sessions in the databases.
The new feature persistent-user-session
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.
The feature is a preview feature and disabled by default. To use it, add the following to your build command:
bin/kc.sh build --features=persistent-user-session ...
For more details see the Enabling and disabling features guide. The sizing guide contains a new paragraph describing the updated resource requirements when this feature is enabled.
For information on how to upgrade, see the Upgrading Guide.
Cookies updates
SameSite attribute set for all cookies
The following cookies did not use to set the SameSite
attribute, which in recent browser versions results in them
defaulting to SameSite=Lax
:
-
KC_STATE_CHECKER
now setsSameSite=Strict
-
KC_RESTART
now setsSameSite=None
-
KEYCLOAK_LOCALE
now setsSameSite=None
-
KEYCLOAK_REMEMBER_ME
now setsSameSite=None
The default value SameSite=Lax
causes issues with POST based bindings, mostly applicable to SAML, but also used in
some OpenID Connect / OAuth 2.0 flows.
Removing KC_AUTH_STATE cookie
The cookie KC_AUTH_STATE
is removed and it is no longer set by the Keycloak server as this server no longer needs this cookie.
Deprecated cookie methods removed
The following APIs for setting custom cookies have been removed:
-
ServerCookie
- replaced byNewCookie.Builder
-
LocaleSelectorProvider.KEYCLOAK_LOCALE
- replaced byCookieType.LOCALE
-
HttpCookie
- replaced byNewCookie.Builder
-
HttpResponse.setCookieIfAbsent(HttpCookie cookie)
- replaced byHttpResponse.setCookieIfAbsent(NewCookie cookie)
Addressed 'You are already logged in' for expired authentication sessions
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 Server Administration Guide authentication sessions.
Lightweight access token to be even more lightweight
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.
-
Claims
sub
andauth_time
are added by protocol mappers now, which are configured by default on the new client scopebasic
, 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. -
Claim
nonce
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. -
Claim
session_state
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 claimsid
supported by the specification, which was available in previous versions as well and which has exactly the same value.
For more details, see the Upgrading Guide..
Support for application/jwt media-type in token introspection endpoint
You can use the HTTP Header Accept: application/jwt
when invoking a token introspection endpoint. When enabled for a particular client, it returns a claim jwt
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 Thomas Darimont for the contribution.
Password policy for check if password contains Username
Keycloak supports a new password policy that allows you to deny user passwords which contains the user username.
Required actions improvements
In the Admin Console, you can now configure some required actions in the Required actions tab of a particular realm. Currently, the Update password is the only built-in configurable required action. It supports setting Maximum Age of Authentication, which is the maximum time users can update their password
by the kc_action
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 kc_action
parameter) or actions added to the user account manually by an administrator.
Thanks to Thomas Darimont and Daniel Fesenmeyer for the contributions.
Passkeys improvements
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 Takashi Norimatsu for the contribution.
Default client profile for SAML
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 saml-security-profile
. 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.
Authenticator for override existing IDP link during first-broker-login
There was new authenticator Confirm override existing link
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 Server Administration Guide. Thanks to Lex Cao for the contribution.
OpenID for Verifiable Credential Issuance - experimental support
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 Stefan Wiedemann, Francis Pouatcha, Takashi Norimatsu and Yutaka Obuchi.
Searching by user attribute no longer case insensitive
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’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.
Breaking fix in authorization client library
For users of the keycloak-authz-client
library, calling AuthorizationResource.getPermissions(…)
now correctly returns a List<Permission>
.
Previously, it would return a List<Map>
at runtime, even though the method declaration advertised List<Permission>
.
This fix will break code that relied on casting the List or its contents to List<Map>
. If you have used this method in any capacity, you are likely to have done this and be affected.
IDs are no longer set when exporting authorization settings for a client
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.
Management port for metrics and health endpoints
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 9000
.
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.
Keycloak Operator assumes the management interface is turned on by default. For more details, see Configuring the Management Interface.
Syslog for remote logging
Keycloak now supports Syslog protocol for remote logging. It utilizes the protocol defined in RFC 5424. By default, the syslog handler is disabled, but when enabled, it sends all log events to a remote syslog server.
For more information, see the Configuring logging guide.
Change to class EnvironmentDependentProviderFactory
The method EnvironmentDependentProviderFactory.isSupported()
was deprecated for several releases and has now been removed.
For more details, see the Upgrading Guide.
All cache
options are runtime
It is now possible to specify the cache
, cache-stack
, and cache-config-file
options during runtime.
This eliminates the need to execute the build phase and rebuild your image due to them.
For more details, see the Upgrading Guide.
High availability guide enhanced
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.
Removing deprecated methods from AccessToken
, IDToken
, and JsonWebToken
classes
In this release, we are finally removing deprecated methods from the following classes:
-
AccessToken
-
IDToken
-
JsonWebToken
For more details, see the Upgrading Guide.
Method getExp
added to SingleUseObjectKeyModel
As a consequence of the removal of deprecated methods from AccessToken
, IDToken
, and JsonWebToken
,
the SingleUseObjectKeyModel
also changed to keep consistency with the method names related to expiration values.
For more details, see the Upgrading Guide.
Support for PostgreSQL 16
The supported and tested databases now include PostgreSQL 16.
Introducing support for Customer Identity and Access Management (CIAM) and Multi-tenancy
In this release, we are delivering Keycloak Organizations as a technology preview feature.
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.
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.
For more details, see Server Administration Guide.
Upgrading
Before upgrading refer to the migration guide for a complete list of changes.
All resolved issues
New features
- #25940 Support Credentials Issuance through the OID4VCI Protocol
oid4vc
- #25942 Issue Verifiable Credentials in the SD-JWT-VC format
oid4vc
- #25943 Issue Verifiable Credentials in the VCDM format
oid4vc
- #25945 Extend Account Console to support Credentials Issuance Self-Service
account/ui
- #26201 Introduce a new Authenticator to handle duplicate IdP broker links
authentication
- #27673 Hardcoded SAML metadata URL in admin-v2
admin/ui
- #27728 Reflect new hostname v2 options in Keycloak CR
operator
- #27729 Add documentation for Hostname v2
docs
- #27730 Release notes and Migration guide for Hostname v2
docs
- #28030 Create Argon2 password hashing provider
- #28400 Make RequiredActions configurable
- #28608 Allow onboarding organization members through a registration invitation link
- #28750 CLI options to disable encryption and authentication to external Infinispan
dist/quarkus
- #28938 Need inline translation assistance for user profile attribute groups.
- #29491 Remove Oracle JDBC driver out of the box
docs
- #29539 Add CRUD for organizations to admin client
- #29627 Expose Authorization Server Metadata Endpoint under /.well-known/oauth-authorization-server to comply with rfc8414
oid4vc
- #29634 Expose JWT VC Issuer Metadata /.well-known/jwt-vc-issuer to comply with SD-JWT VC Specification
oid4vc
Enhancements
- #11757 Declarative User Profile: local-date validation and html5-date clash
user-profile
- #13113 Conditionally enable and disable CLI options
dist/quarkus
- #16295 JsonSerialization does not load all available modules from the classpath
- #17530 Add Portuguese translations
- #19334 Support management port for health and metrics in Quarkus 3
dist/quarkus
- #20736 uma-ticket returns 403 even though user has access, when User Realm Role isn't present in access Token
authorization-services
- #20792 Make it clear that `Client Offline Token Max` should not be set when `Offline Session Max Limited` is disabled for realm
admin/ui
- #20916 DefaultHttpClientFactory should handle the encoding of the response
core
- #21185 Protocol mapper and client scope for sub claim
- #21344 Upgrade account theme to PatternFly 5
account/ui
- #21345 Upgrade admin theme to PatternFly 5
admin/ui
- #21439 Allow options to support any value in addition to a list of pre-defined values.
dist/quarkus
- #21562 Make sure admin events are not referencing sensitive data from their representation
admin/api
- #21961 Allow to provider password to kcadm (keycloak-admin-cli) via environment variable
admin/cli
- #22436 Query users by 'LDAP_ID' is not working
ldap
- #22711 Enable theme caches by default in start-dev
dist/quarkus
- #24192 Refine how ConfigSource names are being used
dist/quarkus
- #24264 Passkeys: Supporting WebAuthn Conditional UI
authentication/webauthn
- #24466 Look if checks in IntrospectionEndpoint can be simplified
oidc
- #25057 Inconsistent behaviour on getting user permissions using authorization
authorization-services
- #25114 User Profile "Input placeholder" and other annotations - Use Localization keys
user-profile
- #26162 Optimize query batching and result fetching by tuning Hibernate parameters
- #26443 Show an error message when file does not exist for the `config-file` parameter
dist/quarkus
- #26504 Localization Proposal 2
admin/ui
- #26654 Initial client policies integration for SAML
saml
- #26657 Map Storage Removal: Remove deprecated model/legacy module
storage
- #26695 Keycloak and MSAD: enabling account in MSAD does not propagate to Keycloak
ldap
- #26713 Refactoring JavaScript code of WebAuthn's authenticators to follow the current Keycloak's JavaScript coding convention
authentication/webauthn
- #27264 Trivy Analysis warnings should be fixed
- #27433 Clarify format of keys in `additionalOptions` field in the Keycloak CR
docs
- #27442 Use browser router for Account Console
account/ui
- #27481 Edit High Availability guide
- #27484 Edit 23.0 changes part of Upgrading Guide
- #27494 Use JDK17 functionality in the KC Operator
operator
- #27508 Use new remote-store options in HA guides
- #27509 Upgrade to Aurora Postgres 15.5
- #27515 `ClusterProvider` should no longer be deprecated now that "legacy" is the default
- #27527 CS and SK localized messages need an update
- #27544 Expose quarkus syslog logging now GELF is being deprecated from Keycloak
dist/quarkus
- #27545 Simplify handling of profile features in test cases
- #27549 Make general `cache` options runtime
dist/quarkus
- #27574 Support for script providers when running in embedded mode
testsuite
- #27602 Remove offline session preloading
- #27614 Remove additional handlers for health and metrics endpoints
dist/quarkus
- #27632 Integrate downstream Upgrading Guide changes into upstream
- #27696 Upgrade to Quarkus 3.8.2
dist/quarkus
- #27724 Enable Infinispan metrics by default
- #27787 Missing API documentation for /admin/realms/{realm}/groups/{group-id}
- #27871 Upgrade to Infinispan 14.0.26
core
- #27924 Enable http metrics once Quarkus 3.8.3 is available
- #27953 Address feedback to Keycloak Server guide
docs
- #27976 Persist online sessions to the database
- #27997 Make the Language Selector sorted and searchable
- #28009 Address edits to the Operator Guide
- #28033 Upgrade Infinispan to 14.0.27.Final
- #28035 update for messages_de.properties required
translations
- #28084 Upgrade to Quarkus 3.8.3
dist/quarkus
- #28120 Default password hashing algorithm should be set to default password hash provider
- #28142 Update HA Guide now that non-XA mode is the default
- #28145 Align help output for Quarkus distribution across Windows and Linux
dist/quarkus
- #28161 Use Argon2 password hashing by default
- #28178 Provide histograms for http server metrics
- #28256 Prevent duplicate form submission in Create realm dialog in admin ui
admin/ui
- #28318 Use the same new code for persistent sessions for offline sessions
core
- #28336 Provide a dedicated way of updating Quarkus classloading indices
- #28388 Handle concurrent writes to sessions more gracefullly
- #28429 Add details to error messages, especially around refresh tokens
- #28436 When LDAP groups synchronization fails, show root cause in admin UI
admin/api
- #28448 Avoid deprecated `jboss-modules` method usage
- #28453 More conventional looking conditional element in authentication diagram
admin/ui
- #28460 Polishing docs for lightweight tokens
oidc
- #28477 The concurrency of hashing leads to increased memory usage and CPU throttling
- #28501 Batch updates to the database to avoid using too many IOPS
- #28517 Java 21 support
- #28567 Change user_id value for REFRESH_TOKEN and REFRESH_TOKEN_ERROR events
oidc
- #28616 Add ui-tab context information into the onCreate
- #28650 Improve german translations for admin ui
- #28654 Refine the warning produced when a non-cli build-time property is used at runtime
dist/quarkus
- #28672 For client-credential-grants, there shouldn't be an interaction with the authentication cache
- #28729 Emphasize the need for setting container limit
docs
- #28814 Add missing german translations for user federation in admin UI
- #28848 Automatically fill username when authenticating to through a broker
- #28861 Improve the performance of the PermissionTicketStore.findGrantedResources method
authorization-services
- #28862 Improve persistent sessions DB throughput for logins/logouts by batching
- #28879 Indicate whether a user is transient or not in user sessions list
- #28880 Upgrade to Quarkus 3.8.4
dist/quarkus
- #28906 ID fields in SessionWrapper should be immutable
- #28926 Store extended error message in events for client credential grants
- #28935 Ensure GroupResource.getSubGroups doesn't rely on no-arg version of GroupModel.getSubGroupsStream to avoid prematurely loading all subgroups
storage
- #28939 OIDC: Backchannel logout token should use "typ":"logout+jwt"
oidc
- #28974 Replace tooltip for adding a translation to an attribute with a text underneath `Display name`
- #29023 Support adding existing users to an organization
- #29068 Infinispan 15.0.3.Final
- #29073 Use cache.compute() method to improve the replace retry loop
- #29118 Conditionally run Quarkus IT in GHA based on code changes
testsuite
- #29124 Use Java locale translations instead of manually edited translations
translations
- #29166 Improve details for user error events in OIDC protocol endpoints
oidc
- #29183 Minor corrections to High Availability Guide
docs
- #29203 Revisit SessionsResource#realmSessions as it current loads all sessions into memory
- #29223 Complete transistion away from Resteasy core
- #29280 Update Create Realm in Keycloak 24 Getting Started
- #29319 Don't sort persistent sessions when retrieving a list
- #29348 Set default role mapping filter in the role mapping modal
- #29375 Allow migration of non-persistent sessions to persistent sessions
- #29392 Avoid conflicts when writing make store keys
- #29431 Make sure organization groups can not be managed but when managing an organization
- #29460 Email validation for managed members should only fail if it does not match the domain set to a broker
- #29489 Describe how to enable and disable persistent sessions for an installation
docs
- #29561 Revisit rolling configuration upgrades for persistent-sessions feature
- #29639 Enhance documentation for REST API for X.509 Direct Grant Flow usage
authentication
- #29724 VC issuance in Authz Code flow without considering “scope” parameter
- #29743 Infinispan 15.0.4.Final
- #29750 Require external Infinispan be of version 15 or greater
- #29778 Upgrade Selenium and Arquillian dependencies in testsuite
testsuite
- #29780 Unify approach for WebAuthn tests
testsuite
- #29787 Document Failover Lambda for Active/Passive deployments
- #29794 Show a message when confirming an invitation link
- #29813 Snyk report to identify branches impacted by a CVE
ci
- #29818 Avoid explicit flush when handling persistent sessions
- #29880 Improve documentation for the case when 'basic' client scope already exists
storage
- #29883 Upgrade old Keycloak version for DB migration tests
testsuite
- #29919 Avoid IntelliJ to automatically create start imports
- #30017 Improve Client Type Integration Tests
oidc
- #30026 Conditionally execute WebAuthn tests when Account console UI is changed
testsuite
- #30052 Add periodic synchronisation for Weblate contents
- #30104 Release notes for support application/jwt response in token introspection endpoint
docs
- #30160 Upgrade to Quarkus 3.8.5
dist/quarkus
- #30241 Adding ability to get realm attributes in themes
Bugs
- #8887 Information not displayed when a logged in user reset his password
authentication
- #9695 Add `id_token_signed_response_alg` when realm default algorithm is not `RS256`
oidc
- #12298 Security bug: Timing Oracle @ Authorization Grant Request , CWE 208
authentication
- #12326 AccessTokens generated from RefreshTokens without scope
oidc
- #12585 False implementation of SAML element EncryptionMethod
saml
- #12671 Slow user query by attribute
storage
- #13045 Duplicated user consents
storage
- #14084 DefaultBruteForceProtector leverages a single thread to write success/failed events
authentication
- #14122 Refresh token rotation with multiple tabs
oidc
- #14188 "1403 Killed" after starting a fresh build
docs
- #14501 Getting failed to initialize js message if consent is rejected by user
account/ui
- #15403 No email send on TOTP/Authenticator app removal
core
- #16064 RS256 signed token validation fails
oidc
- #16345 Unable to delete realm names with invalid URL characters
admin/api
- #16520 AuthzClient getPermissions() deserializes to List and not List
authorization-services
- #16873 Required actions execution order (session and user required actions)
authentication
- #16948 search users by custom attributes
admin/client-js
- #17154 User locale in server info has language and country switched around
admin/api
- #17483 MultiVersionClusterTest not working for Quarkus based distribution
storage
- #17678 Stop using nested components
admin/ui
- #19671 Refresh token have a negative exp claim because TokenManager is vulnerable to integer overflow for long lasting sessions (YEAR 2038 bug)
oidc
- #19853 CRL Verification failing due to client certificate not being in a chain
authentication
- #20411 Entering a single space in a regex password policy makes admin interface unusable.
core
- #20490 SAML IDP initiated SSO getting cookie_not_found error
saml
- #20637 Reset password flow fails with "Page has expired" error when Kerberos authentication is enabled in the browser flow
authentication
- #20747 Keycloak admin cli creating/updating authention executions not respecting the priority value specified
admin/api
- #21422 Flaky test: org.keycloak.testsuite.forms.ResetPasswordTest#resetPasswordLink
ci
- #22617 kc export fails when using User Federation (LDAP) with file-based Vault enabled
import-export
- #22644 Flaky test: org.keycloak.testsuite.forms.BrowserFlowTest#testAlternativeNonInteractiveExecutorInSubflow
core
- #23252 Invalid redirect after logging in using Twitter (X)
testsuite
- #23528 NullPointerException in SAML IdP Logout request with SessionIndex and without NameID
identity-brokering
- #23701 Attribute search does not work with federated users with ldap.
admin/ui
- #23832 New admin console doesn't support automatic logout
account/ui
- #23833 Account console v2 doesn't support automatic logout
account/ui
- #23900 Duplicate path in groups claim
oidc
- #23980 Keycloak Operator fails to install realm authentication flow because "flow is null"
import-export
- #24201 Cannot disable LDAP-backed user if importEnabled=false
ldap
- #24414 Container labels inherited from UBI image
dist/quarkus
- #24462 Remove non-unique `id` attributes from `webauthn-authenticate.ftl`
login/ui
- #24568 iframe for frontend logout gets blocked if a custom CSP header is used
core
- #24571 Parallel builds stopped working
admin/ui
- #24795 Not proper remove for nested sub-flows from DB
core
- #24878 NoClassDefFoundError for Apache XML and EAP8
adapter/jee-saml
- #24936 Negative token expiration when changing client session max lifetime
oidc
- #25038 ServerRequestFilter / ServerResponseFilter not being picked up
extensions
- #25219 Restrict the access to 'whoami' endpoint for tokens issued for the admin console client
admin/api
- #25490 Partial export/import is not mentioned in Keycloak's Server Administration Guide
docs
- #25514 Errors in Outgoing HTTP requests documentation
docs
- #25687 A java.lang.NullPointerException occurs when sending a Multipart/form-data request to any file upload interface.
admin/api
- #25778 Incorrect JSON format returned in case of existing user (with user federation)
admin/api
- #25807 Space in realm name breaks initial console uris
admin/api
- #25815 Loosing refresh token with Google Identity Provider
identity-brokering
- #25975 Failing to import client's authorisation settings through UI
authorization-services
- #25993 PostgreSQL deadlock causes 400 client error instead of 500 server error
storage
- #26019 Identity provider sync mode: incorrect selection in case of null
admin/ui
- #26100 Device verification flow does not require consent under certain circumstances
oidc
- #26108 Realm improper input sanitization
core
- #26109 Improper Input Validation and Sanitization Leads to persistent partial Denial of Service
admin/api
- #26113 Revoked Token may be valid for a short time after expiring
oidc
- #26364 Duplicate emails is On when Email as username and Login with email are On
admin/ui
- #26396 How do you update a custom user storage provider jar that includes a version number?
dist/quarkus
- #26438 Keycloak cannot run on windows machine in dev-mode. Because non-English systems cannot support keycloak's package's.
dist/quarkus
- #26439 Incorrect position of nonce in OCSP request
authentication
- #26464 "Test connection" on LDAPS URI does not test TLS handshake
admin/api
- #26515 Wrong rendering duplicated options in guides
docs
- #26658 `LogoutEvent` is not fired on required UpdatePassword action
core
- #26667 Can't access hidden tabs on the left in admin UI
admin/ui
- #26868 Login via brokerage to identity provider fails with clients having UUID with uppercase letter
identity-brokering
- #26893 Access tokens includes nonce claim
oidc
- #26915 Deleting sub-realm roles throw errors (even tho it succeeded)
authorization-services
- #26981 Workflow failure Quarkus IT - StartCommandDistTest#testWarningWhenOverridingBuildOptionsDuringStart
ci
- #27021 Workflow failure: Fuse adapter tests
ci
- #27080 Workflow failure: Operator CI - KeycloakTruststoresTests#testTrustroreExists
ci
- #27180 Grant type "urn:ietf:params:oauth:grant-type:uma-ticket" openid-connect/token service endpoint is returning refresh token with invalid Expiration
authorization-services
- #27184 Editing built-in client policy profiles are silently reverted
oidc
- #27201 Missing `exp` claim from Offline tokens when `Offline Session Max Limited` is disabled
core
- #27228 Lowercased "terms_and_conditions" is not migrated in fed_user_required_action table
core
- #27245 Account console does not correctly treat link / unlink account
account/ui
- #27269 mvnw clean install -Pdistribution on Windows deletes necessary files during clean of org.keycloak:keycloak-admin-ui
admin/ui
- #27275 Invalidating offline token is not working from client sessions tab
authentication
- #27308 Warnings in log during normal startup
dist/quarkus
- #27349 Google Authenticator now supports SHA256 and SHA512
authentication
- #27366 Social login - test failures with unexpected status code
testsuite
- #27391 Log warning when not using scope `openid`
oidc
- #27416 Missing feature ID for tech preview feature in docs
docs
- #27444 type of clients.findRole() in @keycloak/keycloak-admin-client is wrong
admin/client-js
- #27483 Authz-client AuthorizationResource.getPermissions() ClassCastException
authorization-services
- #27499 LdapSyncTest failures running with external Active Directory
testsuite
- #27504 Cpu and memory sizing typo
docs
- #27506 Readable realm name no longer visible in logs, but realm id is used instead
core
- #27512 Getting subgroups does pagination before filtering
core
- #27514 Uncaught server error: java.lang.IllegalArgumentException: Path parameter not provided
oidc
- #27529 LegacyUserCredentialManager class not found
storage
- #27538 User tab "Identity Provider Links" is not available when only "view-users" or "manage-users" realm-management role is assigned as in the v1 Keycloak theme
account/ui
- #27540 URL change for liquibase docs
docs
- #27548 Custom Browser Flow not working anymore
admin/ui
- #27558 Client registration policy "Allowed Protocol Mapper Types" prevents clients from self-updating via the client registration api
admin/api
- #27565 Admin Console tests are failing due to changes in supported authenticators
testsuite
- #27573 Release notes from 24.0.0 miss that multi-site active-passive deployments are supported
docs
- #27597 dropping KC_PROXY=edge causes startup error
core
- #27604 Account console dev environment broken
account/ui
- #27609 Mixed use of javax and jakarta in org.keycloak.admin.client
adapter/jee
- #27611 Cannot modify realm email settings since keycloak 24
user-profile
- #27620 Incomplete documentation when an email about changed credentials is sent
docs
- #27622 In the account console, the link "Back to security-admin-console" disappears after the first navigation
account/ui
- #27628 Only allow a known refferer URI for the Account Console
account/ui
- #27643 Password policy for not having username in the password
authentication
- #27646 Account Console REST API for /linked-accounts Returns Multiple Access-Control-Allow-Origin Headers
account/api
- #27653 Admin tests: Flaky realm_settings_user_profile_enabled test
admin/ui
- #27683 Quarkus-next build failure: Could not find artifact io.quarkus:quarkus-extension-maven-plugin
ci
- #27691 Unable to set a newly created flow in First Login Flow override for a SAML identity provider
admin/ui
- #27701 MTLS Cache options should be runtime options, not build time options
dist/quarkus
- #27709 Account console does not work with `--http-relative-path`
account/ui
- #27719 Wrong Welcome page image in the documentation
docs
- #27745 Registration template in login2 is broken
login/ui
- #27756 SMTP email sending fails because of tls certificate verification even with tls-hostname-verifier=ANY
core
- #27761 Snyk workflow failure
ci
- #27779 Broken Migration "MigrateTo24_0_0"
core
- #27780 Fixing downstream documentation build
docs
- #27797 User profile fields cannot be set empty once they have a non-empty value (in Login Theme)
user-profile
- #27798 Performance problem with Amazon JDBC wrapper version 2.3.4
- #27820 Account console confusing with WebAuthn
account/ui
- #27824 Can't register webauthn passwordless key when RS1 signature algorithm is configured in policies
authentication/webauthn
- #27837 Translation values not loaded for User Profile attributes
admin/ui
- #27838 User Profile translations - value put in wrong field after search
user-profile
- #27839 Incorrect Length Validation for Attribute
admin/cli
- #27840 Race condition loading serverinfo in admin console
admin/ui
- #27841 ES translation causes FreeMarker rendering issues
translations
- #27846 Authenticator Example module compilation failure
authentication
- #27852 VerifyUserProfile invalidates user cache on every login
core
- #27854 Required action selection is broken
admin/ui
- #27868 Documentation is referring to deprecated/unmaintained examples
docs
- #27875 SAMLIdentityProvider not honoring SamlAuthenticationPreprocessor
saml
- #27877 Get Groups in admin/cli returns all groups and not the groups that meets the condition specified in -q option
admin/cli
- #27878 Error when executing refresh grant, with scope param, without offline_access scope specified
oidc
- #27882 Incorrect version of bctls-fips in the docs
docs
- #27890 Webauthn token stops working on migration to 24
authentication/webauthn
- #27892 Truststore handling for the Operator is not documented
operator
- #27894 Multi datasource configuration does not work in Keycloak 24.0.1
dist/quarkus
- #27900 Performance impact in changed hashing measured wrong
authentication
- #27917 User search field loses focus after first input in realms with user federation
admin/ui
- #27925 Keycloak docs state that there are http metrics, but they are disabled
docs
- #27941 Entry 999.0.0 in MIGRATION_MODEL prevents future migrations of the database
core
- #27944 Admin tests: Failing realm_settings_events_test test
admin/ui
- #27954 Hibernate Dialect detection does not work anymore for Oracle DBs
storage
- #27962 message of groups is wrong in messages_ja.properties
admin/ui
- #27965 Groups help message is only "Groups"
admin/ui
- #27966 🍺 instead of dot: Attributes in account UI are not loaded
user-profile
- #27967 ORA-01450 when updating keycloak 23 -> 24
storage
- #27981 User Profile: Inconsistent ordering of attributes between account and login themes
user-profile
- #27984 Username LDAP attribute other than uid is difficult
ldap
- #28001 MySQL connector artifact should be ignored
dist/quarkus
- #28004 JWK key ignored due to missing required field 'use' despite matching KID
oidc
- #28012 Keycloak CR Truststore should not have a name
operator
- #28016 User Profile attribute translation saves wrong key to realm overrides
admin/ui
- #28069 Token setting missing
admin/ui
- #28079 Group search does not work in user view
admin/ui
- #28080 Paging issue in groups via user view
admin/ui
- #28090 kc.sh may leak credentials
core
- #28100 Failed authentication: java.lang.NullPointerException: Cannot invoke "org.keycloak.models.UserModel.getFederationLink()" because "this.delegate" is null
identity-brokering
- #28103 Deleting translations after attribute deletion
admin/ui
- #28113 WebAuthN registration broken after upgrading to 24.0.1
authentication/webauthn
- #28143 Navigation broken on local development
account/ui
- #28174 HA guide erroneously refers to AWS Global Accelerator
docs
- #28187 Admin UI drag & drop in flow config seems to delete actions
admin/ui
- #28201 Locale label missing on login page for Brazilian Portuguese, Greek and Persian
translations
- #28207 JAVA_OPTS are not set under Windows
dist/quarkus
- #28215 Inconsistent handling of product vs. community in HA guide table-of-contents
docs
- #28220 Admin API: User PUT operation clears firstname, lastname email fields
admin/api
- #28231 username contains invalid characters
user-profile
- #28248 Update user makes User ID changes when federationLink and LDAP_ID is not set properly
admin/api
- #28284 scroll bar is missing inn clients view keycloak admin GUI
core
- #28303 WARN - Event object wasn't available in remote cache after event was received
infinispan
- #28330 org.keycloak.documentation.test.ExternalLinksTest fails with incorrect status code reported back in the results
docs
- #28335 The false option of the pkceMethod init parameter for the JavaScript adapter is ignored
adapter/javascript
- #28341 ConditionalLoaAuthenticator documentation incorrect re: unauthenticated users.
authentication
- #28370 PodTemplateTest assertions are ignored
testsuite
- #28374 Syntax highlighting for log example is wrong in downsream
dist/quarkus
- #28377 Broken lists in import/export server guide
docs
- #28381 Password denylist Doesn't Work As Expected
authentication
- #28389 New username-password policy check is reversed
user-profile
- #28409 Unclosed span bracket in register.ftl
login/ui
- #28416 Keycloak is not returning proper error message for PUT /users admin API
user-profile
- #28431 Dedicated client scopes always show up when searching
admin/ui
- #28443 Declarative User Profile: The use of the "select-radiobuttons" with options validation display is broken
user-profile
- #28463 Error in refresh flow with scope parameter
oidc
- #28465 Review cookie attributes and set SameSite for all cookies
- #28479 Authentication flow diagram incorrect branching in some flows
admin/ui
- #28484 inputOptionLabels is truncating text that is not wrapped for localization
account/ui
- #28486 Help text wrong in key provider
admin/ui
- #28490 Missing help text for Brute Force Mode
admin/ui
- #28495 IdP Linking: Usernames sometimes lowercase and sometimes uppercase
identity-brokering
- #28509 Workflow failure: ManagementDistTest
ci
- #28514 Message for searchClientRegistration is missing
admin/ui
- #28519 Cards in IDP and User federation are not shown to be clicable
admin/ui
- #28523 [LDAPStorageProvider] NPE if user is cached but has been deleted in ldap
ldap
- #28531 notBefore and setToNow untranslated
admin/ui
- #28546 LDAP provider add has 3 lines on top of screen
admin/ui
- #28555 Collision with base testsuite dependency
- #28564 UserStorageSyncManager int overflow
storage
- #28575 Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod
ci
- #28576 Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod
ci
- #28577 Flaky test: org.keycloak.testsuite.admin.IdentityProviderTest#testSamlImportWithAnyEncryptionMethod
ci
- #28579 Brute force detection fails with read-only LDAP users
authentication
- #28606 OrganizationTest.testAttributes fails in GHA CI
testsuite
- #28624 Incorrect user info in the head when using lightweight access token for account-console
account/ui
- #28628 Invalide objects comparison in Java
core
- #28638 Missing permission to read configmaps in `keycloak-operator-role`
operator
- #28640 Unable to see user's inherited role if user has no directly assigned roles
admin/ui
- #28649 docker-v2 authentication fails with KC-SERVICES0097: Invalid request: java.lang.NullPointerException: Cannot invoke "org.keycloak.models.ClientModel.getClientScopes(boolean)" because "this.client" is null
core
- #28666 Accessing a transient (lightweight) user through client session fails in admin-api/-ui
admin/ui
- #28684 "Extend to children" button in authorization group policies is wrongly disabled
admin/ui
- #28702 Unable to fetch realm names when contains special characters
admin/ui
- #28704 Remove invalid "this." from keycloak-admin-client README
admin/client-js
- #28725 Keycloak 24.0.2 - Enlisted connection used without active transaction
storage
- #28744 Invalid label `validatingX509Certs` in new SAML identity provider screen
admin/ui
- #28746 Translations missing for recovery codes in KC 24
account/ui
- #28747 ID is shown prematurely on Identity Provider Mapper after Save
admin/ui
- #28748 Webauthn Policy timeout accepts values > 8 hours
admin/ui
- #28798 `passwordPoliciesHelp.notContainsUsername` missing in admin console
admin/ui
- #28801 NPE when listing sessions in UI if associated user is gone
core
- #28818 Child groups filtering returns all groups
admin/ui
- #28821 Failure reset time is applied to Permanent Lockout
authentication
- #28824 Inconsistent Group Ordering in Keycloak API Responses For Client Policies Causing Drift Detection Challenges
admin/fine-grained-permissions
- #28825 Keycloak Operator 24.x - the keycloak custom image tag is being overwritten with nightly pull
operator
- #28881 socketTimeoutUnits and establishConnectionTimeoutUnits in HttpClientBuilder are not used
core
- #28896 Master realm can be deleted
admin/api
- #28911 clients_saml_test.spec.ts fails in main
admin/ui
- #28915 Possible NPE when exporting user policy
authorization-services
- #28947 IndexWrapper warnings when starting Keycloak
dist/quarkus
- #28948 Auto-build shouldn't warn about unavailable runtime options
dist/quarkus
- #28949 Conditional cache options are not evaluated correctly
dist/quarkus
- #28964 Compilation error in latest main (conflicting PRs for oid4vc and changes for EnvironmentDependentFactory)
core
- #28968 Grant urn:ietf:params:oauth:grant-type:pre-authorized_code enabled even if oid4vc_vci feature is disabled
oid4vc
- #28979 MULTIVALUED_STRING_TYPE does not show in UI if empty
admin/ui
- #28982 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriUnsupportedCredential
ci
- #28983 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriInvalidToken
ci
- #28984 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredential
ci
- #28985 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUriUnauthorized
ci
- #28986 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferUnauthorized
ci
- #28987 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialInvalidToken
ci
- #28988 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnauthorized
ci
- #28989 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testCredentialIssuance
ci
- #28990 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithoutNonce
ci
- #28991 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOffer
ci
- #28992 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithABrokenNote
ci
- #28993 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferURI
ci
- #28994 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testGetCredentialOfferWithoutAPreparedOffer
ci
- #28995 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnsupportedFormat
ci
- #28996 Flaky test: org.keycloak.testsuite.oid4vc.issuance.signing.OID4VCIssuerEndpointTest#testRequestCredentialUnsupportedCredential
ci
- #29027 Creating client-scope without protocol causes GUI bug
admin/api
- #29033 Argon2 password hashing leads to increased Major GC's in Keycloak's JVM during load tests
authentication
- #29035 Admin console message bundle contains duplicate keys
admin/ui
- #29039 Preflight request with OPTIONS method for token introspection endpoint not working.
authentication
- #29057 not able to disable declarative_ui feature
- #29072 Startup probe should check for existence of an Admin user before returning 200
dist/quarkus
- #29129 JGroups creates log messages as it switched internally to "trace"
dist/quarkus
- #29132 Documentation cites wrong endpoint for Docker Registry v2 Authentication
docs
- #29133 DuplicateEmailValidator causes two DB queries on every login if a user has an email address
core
- #29141 Fix waiting for change to take effect in SessionTimeoutsTest
- #29142 LDAP - GroupToGroup Mapper throws "ENTRY_EXISTS" Error
ldap
- #29147 local user login not possible after LDAP connection problem
ldap
- #29154 Update docs to distinguish between product names and CR names
docs
- #29190 JS Admin Client does not support q query parameter on users.count() and clients.find() methods
admin/client-js
- #29206 LDAP user creation reports error but user is created
ldap
- #29213 Bad formatting of permissions error in admin console
admin/ui
- #29233 Broken link in documentation
docs
- #29235 Tests for persistent sessions are not performed
infinispan
- #29237 The select for a locale behaves as a multi-select in the admin and account UI when it should be single value
admin/ui
- #29246 Flaky test: org.keycloak.testsuite.client.ClientTypesTest#testUpdateClientWithClientType
ci
- #29247 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testExchangeWithDynamicScopesEnabled
ci
- #29248 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testClientExchange
ci
- #29249 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testIntrospectTokenAfterImpersonation
ci
- #29250 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testPublicClientNotAllowed
ci
- #29251 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testExchangeUsingServiceAccount
ci
- #29252 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testImpersonation
ci
- #29253 Flaky test: org.keycloak.testsuite.oauth.ClientTokenExchangeTest#testImpersonationUsingPublicClient
ci
- #29259 `auth-server-feature` does not work for `auth-server-quarkus-embedded`
testsuite
- #29263 Default value for MULTIVALUED_STRING_TYPE in authenticator config is ignored
admin/ui
- #29266 Documentation Enhancements Admin Rest API Group to Client Role Mappings
docs
- #29287 Upgraded docker to 24, now unable to browse "authentication" page in one of my realms.
authentication
- #29294 Listing of sessions is very slow when we have tens of thousands sessions (+ not able to know the exact number of sessions)
admin/ui
- #29309 JWSBuilder when used directly with AsymmetricSignatureSignerContext produces non compliant ECDSA signed JWT
core
- #29311 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
oidc
- #29314 Clicking the "save" button multiple times in the Saml IDP configuration page corrupts the value of "AuthnContext ClassRefs"
admin/ui
- #29336 Unlocking and saving the user's temporary lock will render the user disabled.
account/ui
- #29352 Fix user-facing typos in error messages
core
- #29362 Custom user attributes are not shown for service account users in the Admin UI
admin/ui
- #29376 kc export fails when using User Federation (LDAP) with SSL/TLS
import-export
- #29385 Restart authentication event type is not generated
authentication
- #29408 Need to show translation for attributes group on Registration form
admin/ui
- #29426 Potential bug introduced to JavaKeystoreKeyProvider in #26936
admin/api
- #29429 NPE when Organization feature enabled
core
- #29440 clients_tests is unstable
admin/ui
- #29458 Empty CSP header value breaks security filter
authentication
- #29471 Cypress tests store videos even for passing tests
ci
- #29495 Fixing realm removal when removing groups and brokers associated with an organization
core
- #29507 realm_settings_user_profile_enabled fails randomly
admin/ui
- #29525 Maven clean build doesn't clean admin client generated files
ci
- #29528 Failure: SessionTimeoutsTest
ci
- #29551 OAuth 2.0 Device Polling Interval - Setting in Realms settings/Token Plus-Minus to change value not working
admin/ui
- #29554 Cypress failing on video recording
ci
- #29579 Increased augmentation time after Quarkus 3.8.4 upgrade
dist/quarkus
- #29592 Remote caches and other site's caches might get out-of-sync when persistent sessions are used
core
- #29599 Org domain removal from IDP is not properly propagated to the DB
core
- #29602 SNYK-JAVA-ORGBOUNCYCASTLE-6277381 - Observable Timing Discrepancy in org.bouncycastle:bcprov-jdk18on
dependencies
- #29607 CVE-2024-30172 - Infinite loop in org.bouncycastle:bcprov-jdk18on
dependencies
- #29608 CVE-2024-30171 - Observable Discrepancy in org.bouncycastle:bcprov-jdk18on
dependencies
- #29609 CVE-2024-29857 - Allocation of Resources Without Limits or Throttling in org.bouncycastle:bcprov-jdk18on
dependencies
- #29620 Wrong Media Type / Format of SD JWT VC
oid4vc
- #29625 Database driver install examples can lead to permission errors in some circumstances
docs
- #29630 Unable to import realms with organization feature enabled
core
- #29640 Admin console development fail due to whoami endpoint
admin/ui
- #29641 Admin Console uses a wrong URL type for auth server
admin/ui
- #29644 Unmanaged Attributes drop down doesn't reflect the value
admin/ui
- #29688 client_authorization_test fails
admin/ui
- #29699 Snyk Report is not preventing duplicates
ci
- #29738 Broken translations for loa-condition-level and loa-max-age
admin/ui
- #29756 MigrateTo25_0_0 does not complete within default transaction timeout
storage
- #29788 OpenAPI: Missing content definition for authentication flow executions GET API
admin/api
- #29802 Flaky test: org.keycloak.testsuite.model.session.UserSessionPersisterProviderTest#testMigrateSession
ci
- #29805 Supported Credential Type is not evaluated when applying the Protocol Mapper in OID4VCI
oid4vc
- #29808 LDAP User federation: LDAP: error code 49 - Invalid Credentials
ldap
- #29814 package com.google.common.hash does not exist when building keycloak-api-docs-dist
docs
- #29816 Aggregated javadoc generation fix + missing keycloak-operator javadoc
dist/quarkus
- #29868 Missing Text for x509
translations
- #29869 Kubernetes resources point to non-existing Operator image
operator
- #29875 Upgrade supported PostgreSQL to version 16
ci
- #29885 Unable to create an LD-Credentials/VCDM provider for OID4VC
oid4vc
- #29931 Cannot access the account console
account/ui
- #29939 Increased GC overhead in the continuous performance tests after G1GC compiler change
dist/quarkus
- #29948 Reason not logged in event for invalid SAML request
saml
- #29968 x509 SAN UPN other name is not handled in JDK 21
authentication
- #29976 CI for JS not running all the tasks
ci
- #29981 Enabling and disabling functions are not working properly in KC GUI
admin/ui
- #29982 Revert editorconfig for properties files as trailing blanks are used
ci
- #29984 Nightly build for API docs is broken
- #30018 SessionTimeoutsTest failing even after retry, probably due to insufficient cleanup
testsuite
- #30023 Using {application.session.host} in backchannel logout url prevents from saving client
admin/api
- #30024 Sign out button in the account console has wrong Selenium locator
testsuite
- #30028 Typo in the upgrading guide for persistent sessions
docs
- #30049 All roles are populated as inherited roles if a single role is added to a dedicated client scope
admin/ui
- #30068 Update RFC reference in subject: Likely typo RFC2553 -> RFC2253, Consider RFC4514
admin/ui
- #30079 The OID4VC tests break automation
account/ui
- #30086 Remove sources folder before invoking JakartaTransformer
- #30102 Updating client policies in JSON editor is buggy. Attempt to update global client policies should throw the error
admin/ui
- #30120 Option `cache-remote-tls-enabled` is missing the default
dist/quarkus
- #30126 Client scope names not shown in evaluate section in client-scopes tab
admin/ui
- #30134 Malformed dependency version causing the build failure
testsuite
- #30196 Test PoC does not run with Quarkus fork join worker
- #30201 Keycloak CI - failure in Store IT (aurora-postgres)
ci
- #30206 Use forkjoin pool factory in testsuite for embedded Quarkus Auth Server
testsuite
- #30218 Locale dropdowns not working
account/ui
- #30220 Base theme contains properties without default values
login/ui