Update Keycloak packages to v26.6.0 #14

Merged
june merged 1 commit from renovate/keycloak-packages into main 2026-04-11 20:42:38 +02:00
Member

This PR contains the following updates:

Package Type Update Change Age Confidence
quay.io/keycloak/keycloak minor 26.5.726.6.0 age confidence
org.keycloak:keycloak-parent (source) import minor 26.5.726.6.0 age confidence

Release Notes

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

v26.6.0

Compare Source

Highlights

This release features new capabilities for users and administrators of Keycloak. The highlights of this release are:

  • JWT Authorization Grant, enabling external-to-internal token exchange using externally signed JWT assertions.

  • Federated client authentication, eliminating the need to manage individual client secrets in Keycloak.

  • Workflows, enabling administrators to automate realm administrative tasks such as user and client lifecycle management.

  • Zero-downtime patch releases, allowing rolling updates within a minor release stream without service downtime.

  • The Keycloak Test Framework, replacing the previous Arquillian-based solution.

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, also review the changes listed in the upgrading guide.

Security and Standards

JWT Authorization Grant (supported)

JWT Authorization Grant (RFC 7523) 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.

In this release, JWT Authorization Grant is promoted from preview to supported. See the JWT Authorization Grant guide for additional details.

Federated client authentication (supported)

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.

Federated client authentication is now promoted to supported, including support for client assertions issued by external OpenID Connect identity providers and Kubernetes Service Accounts.

Since the OAuth SPIFFE Client Authentication specification is still in draft status, this feature remains a preview feature in Keycloak.

New guide about Demonstrating Proof-of-Possession (DPoP)

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.

See Securing applications with DPoP for more details.

Identity Brokering APIs V2 (preview)

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 legacy Token Exchange V1).

For more information, see the chapter Identity Brokering APIs in the Server Developer Guide.

Step-up authentication for SAML (preview)

The feature step-up-authentication-saml extends the step-up authentication to include the SAML protocol and clients. This feature is in preview mode. Additional information is available in the Server Administration Guide.

OAuth Client ID Metadata Document (experimental)

OAuth Client ID Metadata Document (CIMD) 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.

See Integrating with Model Context Protocol (MCP) for the updated guide including CIMD.

Many thanks to Takashi Norimatsu for the contribution.

Administration

Workflows (supported)

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.

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.

For more details, see the Managing workflows chapter in the Server Administration Guide.

Organization groups

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.

For more details, see the Managing organization groups guide.

New Groups scope for user membership changes

Fine-Grained Admin Permissions (FGAP) now includes a new Groups scope: manage-membership-of-members.

This scope is now used as the group-side bridge for evaluating user-side manage-group-membership permissions based on a user&#​8217;s current group memberships. The existing manage-membership scope keeps its current behavior for target group membership management operations.

Looking up client secrets via the Vault SPI

Secrets for clients can now be managed and looked up by the Vault SPI.

Thank you to Tero Saarni for contributing this change.

Forcing password change for LDAP users

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 &#​8220;Enable LDAP password policy&#​8221; in the LDAP advanced settings to enable this.

Thank you to Tero Saarni for contributing this change.

Configuring and Running

Java 25 support

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.

Zero-downtime patch releases (supported)

Zero-downtime patch releases allow you to perform rolling updates when upgrading to a newer patch version within the same major.minor release stream without service downtime.

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 Auto to benefit from this functionality.

For more details on the Operator configuration, see the Avoiding downtime with rolling updates guide.

Installation instructions for CloudNativePG

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.

See Deploying CloudNativePG in multiple availability zones in the High Availability Guide for details.

Simplified database operations

Several new command line options simplify the database operations for Keycloak and remove the need to use raw JDBC connection options:

  • Configure TLS for the database connection.

  • Database connection timeouts.

  • Transaction timeouts with production-ready defaults.

It also verifies the correct UTF-8 character encoding of the database at startup and prints a warning if this is not the case.

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.

See the migration guide for additional details on each aspect.

Graceful shutdown of HTTP stack

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.

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.

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.

Users should adjust those values depending on their proxy setup. See the section Graceful HTTP shutdown in the reverse proxy guide for more information.

New KCRAW_ prefix for environment variables to preserve literal values

Keycloak now supports a KCRAW_ prefix for environment variables to preserve values containing $ characters exactly as written, without expression evaluation.

When using the standard KC_ prefix, Keycloak (via SmallRye Config) evaluates expressions in values (for example, ${some_key} is resolved and $$ is collapsed to $). This can silently modify passwords or secrets injected by a secrets manager or orchestration tool where manual escaping is not feasible.

Setting KCRAW_<KEY> instead of KC_<KEY> preserves the value exactly as provided.

See the Preserving literal values with the KCRAW_ prefix section in the Server Configuration guide for details.

Automatic reload of lists with disallowed passwords

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.

Thank you to Tero Saarni for contributing this change.

Automatic truststore initialization on Kubernetes and OpenShift

Keycloak now automatically discovers and trusts cluster certificate authorities when running on Kubernetes or OpenShift, without requiring the Operator to preconfigure the truststore.

If present in the container filesystem, the following certificates are added to the system truststore at startup:

  • /var/run/secrets/kubernetes.io/serviceaccount/ca.crt (Kubernetes service account CA)

  • /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt (OpenShift service CA)

This behavior is enabled by default and can be controlled with the server option --truststore-kubernetes-enabled=true|false (default: true).

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.

Client certificate lookup providers for Traefik and Envoy

You can now use new client certificate lookup providers for Traefik and Envoy proxies. For details, see the Enabling Client Certificate Lookup section of the documentation.

Configurable Kubernetes Service name and port in the Keycloak Operator

The Keycloak Operator now supports overriding the name and port of the Kubernetes Service it creates for a Keycloak deployment.

Previously, the Service name was always derived as <cr-name>-service and the Service port always matched the container port. You can now use the spec.http.serviceName, spec.http.serviceHttpsPort, and spec.http.serviceHttpPort fields to configure these independently.

For more details, see the Advanced configuration guide.

Sensitive information is not displayed in the HTTP Access log

If you are using the HTTP Access logging capability, sensitive information is omitted. This means that tokens in the 'Authorization' HTTP header and specific sensitive cookies are not shown.

For more information, see Configuring HTTP access logging.

Configurable log file rotation

It is now possible to configure log file rotation when using Keycloak&#​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 logrotate.

To disable log file rotation:

bin/kc.sh start --log="console,file" --log-file-rotation-enabled=false

For more information, see the File logging guide.

HTTP access logs in a dedicated file

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.

For more information, see Configuring HTTP access logging.

Customizable service fields in JSON log output

Keycloak now provides native options to customize the service.name and service.environment fields in JSON log output across all log handlers (console, file, and syslog).

Previously, when using the ECS format, service.name and service.environment could not be overridden through Keycloak configuration. This made it difficult to align JSON log fields with OpenTelemetry resource attributes.

You can now set these fields using log-service-name and log-service-environment.

For more information, see the Configuring logging guide.

New and updated translations

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!

Follow the translation progress on the translation status page, help translate, and read the translation guide on how to add additional languages.

Right-to-left language support in the Account UI

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.

Observability

Telemetry configuration via the Keycloak CR

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.

Custom request headers for OpenTelemetry

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.

You can specify these headers via the telemetry-header-<header> wildcard option, which accepts any custom header name. Alternatively, use telemetry-logs-header-<header> for OpenTelemetry Logs or telemetry-metrics-header-<header> for OpenTelemetry Metrics.

Service Monitor annotations and labels via the Keycloak CR

It is now possible to configure service monitor labels and annotations via the Keycloak CR when using the Operator.

For more details, see the Advanced Configuration Operator guide.

Extension Development

Keycloak Test Framework (supported)

The Keycloak Test Framework, based on JUnit 6, is now fully supported.

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.

Tests simply declare what they want, including specific configuration, and the framework takes care of the rest.

For more information, see Keycloak Test Framework.

Upgrading

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

All resolved issues

Deprecated features

New features

  • #​10155 Step-up authentication for SAML clients authentication
  • #​13102 Add support for specifying `client.secret` using vault core
  • #​39888 Workflows
  • #​42634 Federated client authentication
  • #​43144 OAuth Identity and Authorization Chaining Across Domains
  • #​43146 New test framework
  • #​43152 Authorization Grants
  • #​43252 Zero-downtime upgrades between patch releases of Keycloak
  • #​43257 Support a Kubernetes Native Database
  • #​43507 Add support for Organization-specific Groups
  • #​43576 Authorization grant for social providers token-exchange/federated
  • #​44833 [OID4VCI] Make natural_person configuration available in all formats oid4vc
  • #​45106 OAuth Client ID Metadata Document
  • #​45284 CIMD - Persistent CIMD oidc
  • #​46633 keycloak operator: add support for different port and name for the kubernetes service definition in the keycloak CRD
  • #​47011 Add debug helper utility to the test framework test-framework

Enhancements

  • #​10618 Enhancements to logging config dist/quarkus
  • #​14523 Add support for enforced password change with LDAP federation ldap
  • #​17904 Support RTL UI account/ui
  • #​19374 Allow absolute path for cache-config-file? dist/quarkus
  • #​19453 The default database transaction timeout should not be applied to Liquibase or data migrations dist/quarkus
  • #​20618 Support enabling access logs dist/quarkus
  • #​27986 Remove Liquibase dependency version from Keycloak root pom
  • #​33160 Add support for X509 client certificate lookup for Envoy
  • #​33198 Introduce `resourcesCommonUrl` for E-Mail templates core
  • #​33818 Request for Enhancement: Make x509cert-lookup SPI public
  • #​34435 OTEL: Add tracing ID to user facing error message observability
  • #​35298 Reverse proxy provided context path not working despite setting X-Forwarded-Prefix header dist/quarkus
  • #​36226 Provide a read only view of Identity Provider Mappers configuration screen to the Keycloak Admin UI
  • #​36710 Have a first-class CLI option to change Keycloak's transaction timeout dist/quarkus
  • #​38884 Upgrade command rolling updates for patch releases / step 3: Infinispan/JGroups support
  • #​38888 Avoid breaking DB changes during patch releases
  • #​40902 More fully document operator upgrade scenarios, in particular with custom images docs
  • #​41330 Improve logging of JpaUserSessionPersisterProvider#expire
  • #​41353 Provide HTTP access logs written to file with rotation dist/quarkus
  • #​41629 Remove Tracing workaround in Infinispan/JGroups classes
  • #​42256 DB Connection Pool acquisition timeout errors on database failover core
  • #​42626 Provide a way to add custom labels to generated ServiceMonitor
  • #​42747 Make DPoP docs more detailed oidc
  • #​42876 dev mode should bind only to localhost if possible
  • #​42900 Move the logic of scanning Kubernetes CA to Keycloak dist/quarkus
  • #​43589 Gracefully shutting down HTTP stack
  • #​43701 Improve SimpleHttp API core
  • #​43829 Add createdTimestamp filter (before/after) to /admin/realms/{realm}/users
  • #​44090 ErrorId for error screens and logging
  • #​44101 Allow re-using server when running tests with the new framework
  • #​44364 Improve client creation with PKCE in admin console core
  • #​44424 findClientSessionsClientIds performance issue storage
  • #​44459 Adding the log to the required action to show the cause of syntax violation of the LDAP policy ldap
  • #​44846 [OID4VCI]: Ensure OID4VCI optional fields are saved cleanly and use defaults oid4vc
  • #​44849 [OID4VCI] Add UI support for `vc.credential_signing_alg` in OID4VCI client scopes oid4vc
  • #​44973 Hide Remember Me session settings when Remember Me is disabled in realm login settings
  • #​45006 [OID4VCI] Add support for user did as subject id oid4vc
  • #​45188 Upgrade to quarkus 3.30.5
  • #​45220 OTEL: Ability to specify headers for exporters observability
  • #​45231 [OID4VCI] Generate pre-authorized codes using the JWT format oid4vc
  • #​45254 Admin UI javascript bundle should have source mapping
  • #​45278 Upgrade to Quarkus 3.33.x LTS
  • #​45281 Add missing Swedish translations for admin theme messages translations
  • #​45322 Linking user with idp fails with generic message if user is already linked identity-brokering
  • #​45337 Upgrade to Quarkus 3.31
  • #​45348 OTEL: Add Telemetry options to Keycloak CR observability
  • #​45360 Document that the the HA architectures are tested with Openshift 4.18
  • #​45467 Management interface endpoint lists available endpoints dist/quarkus
  • #​45620 Change default not-before validation to 10 second instead of 0 oidc
  • #​45623 Avoid unnecessary warning logs during the operator tests execution testsuite
  • #​45629 HTTP access log written to file should be in a separate directory dist/quarkus
  • #​45689 When a user joins a role or group, it should not read all existing roles and groups from the database
  • #​45704 Invite existing users from Admin UI organizations
  • #​45718 Improve error message when organization name cannot be used as alias
  • #​45795 Promote Keycloak and KeycloakRealmImport CRDs to v2beta1
  • #​45841 Add revert button to client credentials page
  • #​45880 SAMLEndpoint - increase extensibility by increasing accessibility of some private fields/methods
  • #​45882 Use GroupResource context in Groups so that Group components can be reused
  • #​45884 Testframework core has dependency on testcontainers
  • #​45898 Supported Configurations guide
  • #​45909 Add theme clarification blurb to Realm Settings admin/ui
  • #​45941 Do not use deprecated test containers in tests testsuite
  • #​45944 OTEL: Use suggested 'code.function.name' for span attributes observability
  • #​45965 [OID4VCI] Revisit and fix OAuthClient.credentialRequest() oid4vc
  • #​45992 Clarify operator instructions involving Wildcard certificates and OpenShift
  • #​45996 Enforce `LF` line endings on `*.tsx` files with `.gitattributes`
  • #​45999 [OID4VCI] Revisit and fix OAuthClient.credentialOfferUriRequest() oid4vc
  • #​46001 [OID4VCI] Revisit and fix OAuthClient.credentialOfferRequest() oid4vc
  • #​46043 Upgrade to Quarkus 3.31.2 dist/quarkus
  • #​46055 [OID4VCI] Confine test realm setup to TestCase.configureTestRealm()
  • #​46156 Add node count and next-node selection to LoadBalancer API
  • #​46164 Separate password and OTP brute force protection to prevent OTP bypass attacks by default
  • #​46255 Upgrade to Quarkus 3.32.0.CR1 dist/quarkus
  • #​46292 Allow to expose WellKnown provider via ServerMetadataResource
  • #​46304 SPIFFE Identity Provider default TTL too low
  • #​46355 [OID4VCI] Add support for CredentialScopeRepresentation oid4vc
  • #​46395 X509 Certificates passed from Traefik PassTlsClientCert middleware broken since 26.5.0 authentication
  • #​46421 Revisit Infinispan session idle and lifetime settings
  • #​46429 Add username to BrokeredIdentityContext created from JWTBearer Grant token-exchange/federated
  • #​46471 Aggregate client-id field for improved Infinispan query
  • #​46494 Allow customizing federated identity lookup in JWTAuthorizationGrantType
  • #​46531 Consider exposing UUID for admin api v2 resources
  • #​46556 For MSSQL Server, set `sendStringParametersAsUnicode` to `false` by default storage
  • #​46557 Keycloak should check the Unicode setup of the database on startup
  • #​46603 Add Database CLI options for TLS encryption for databases
  • #​46617 MCP Documentation for 26.6
  • #​46626 Allow to configure Client Assertion max expiration for Kubernetes Identity Provider
  • #​46627 Allow to configure Client Assertion max expiration for OIDC Identity Provider
  • #​46657 Passwords containing `$$` or `${` patterns are mangled when set via environment variables (SmallRye expression evaluation) dist/quarkus
  • #​46671 Allow custom timeouts in DBLockProvider
  • #​46689 Remove user input reflection in Token Introspection error responses oidc
  • #​46693 Group-level deny policies do not block `manage-group-membership` on group members admin/fine-grained-permissions
  • #​46699 CIMD - Performance: Avoid repeated convertContentFilledList() in verifyUri()
  • #​46701 CIMD - Performance: Single-pass HTTP Cache-Control header lookup
  • #​46703 CIMD - Performance: Eliminate double URI parsing in ClientIdUriSchemeCondition.applyPolicy()
  • #​46708 CIMD - Performance: Avoid streaming the directive list multipul times
  • #​46711 Upgrade to Quarkus 3.32.1 dist/quarkus
  • #​46728 Use quarkus properties ahead of keycloak defaults or map from values
  • #​46757 Upgrade to jackson-core 2.21.1
  • #​46765 Adding missing question mark
  • #​46781 IdP alias is not clickable in organization's Identity Providers tab admin/ui
  • #​46796 Document that export is not a backup
  • #​46809 Set a default connection timeout for all databases types
  • #​46872 Be more explicit on how to enable OTel Logs and Metrics in Operator observability
  • #​46874 Be more explicit in using the OTel Logs level observability
  • #​46890 Upgrade to Quarkus 3.32.2 dist/quarkus
  • #​46936 Reduce tightly coupling between client policy contexts and conditions/executors oidc
  • #​46964 Adding more Hungarian translations
  • #​46972 Clarify credentials field availability in GET /admin/realms/{realm}/users documentation
  • #​47038 Translation support for UI theme descriptions translations
  • #​47081 Upgrade to Quarkus 3.32.3 dist/quarkus
  • #​47130 Upgrade to Quarkus 3.33.0.CR1 dist/quarkus
  • #​47140 Add CLI option for database connection timeout and provide it into quarkus.datasource.jdbc.login-timeout
  • #​47146 Keycloak: no native option to customize JSON log service.name and service.environment fields observability
  • #​47163 Enhancement: Password denylist file changes should not require server restart
  • #​47187 Asynchronous server initialization
  • #​47229 Identity Provider redirection via kc_idp_hint in Pushed Authorization Request oidc
  • #​47416 Async startup doesn't be enabled when the health check is not enabled
  • #​47535 Polishing CNPG installation docs
  • #​47667 Update release-notes for CIMD

Bugs

  • #​22569 Provide descriptions for default realm-management roles admin/ui
  • #​26946 Multiple protocolMappers with the same name. admin/api
  • #​28970 Documention about the default db-schema is ambiguous docs
  • #​36593 Built-in authentication flows are not updated for KC 26 organizations
  • #​37231 Set New Password Multiple Times via Password Reset Function login/ui
  • #​38991 [Test framework] Embedded server -> dependency download error when no version is specified test-framework
  • #​39127 Incorrect return code with JWT algorithm set to none authentication
  • #​40510 Organization flow do not redirect when credentials exist organizations
  • #​40753 Resource leak: FileInputStream in Util.readProperties(File) is never closed .SAST core
  • #​40921 Reject invalid resource IDs in permission creation
  • #​41165 Feishu login has been continuously failing as an identity provider identity-brokering
  • #​41630 Warning log message SRCFG01008: The value default has been converted by a Boolean Converter to "false" dist/quarkus
  • #​41924 Internal server error after changing Admin UI theme to "base" - An old, persisted problem admin/ui
  • #​42222 Federation Cache Policy details not shown when editing provider in Keycloak 26.3+ admin/ui
  • #​42836 Organization selection changes after token refresh organizations
  • #​42839 UserInfo endpoint returns incorrect organization claim organizations
  • #​43198 Operator status patching of keycloak failed operator
  • #​43201 entity mappings not working on 26.4 core
  • #​43356 Keycloak tests framework - issue to identify distribution directory inside ZIP file when version string uses suffix test-framework
  • #​43613 case insensitive match on organization identity provider domain - In case 'ANY' option is chosen organizations
  • #​43726 Slow evaluation of client roles with dots for role mapper and others identity-brokering
  • #​43757 Code Examples in Authentication SPI Documentation Don't Match Quickstarts Repository authentication
  • #​43854 OID4VCI credentials have invalid subject id value oid4vc
  • #​43949 MultivaluedString in mappers is not saved to backend with shown default value admin/ui
  • #​43991 Keycloak operator - Reconciliation failure operator
  • #​44099 Out of memory after 3-4 restarts of embedded server testsuite
  • #​44100 Issue with starting server results in connection refused exception in test testsuite
  • #​44132 Bug -> Keycloak preview feature "scripts" is enabled by default authentication
  • #​44283 Flaky test: org.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test06_addingUserToNewKeycloakGroup ci
  • #​44403 DCR endpoint ignores client's requested token_endpoint_auth_method oidc
  • #​44425 [Keycloak JS CI] Admin UI E2E Firefox failure ci
  • #​44498 [quick-theme] Logo and Favicon problem login/ui
  • #​44574 Unable to find contextual data of type: org.keycloak.models.KeycloakSession testsuite
  • #​44598 SAML user created with null username when mapped attribute missing saml
  • #​44622 OID4VCI functionality should be disabled for the realm when "Verified Credentials" switch is disabled oid4vc
  • #​44637 Fail to import the realm with OID4VCI enabled import-export
  • #​44670 CredentialEndpoint can be invoked with incorrect access token oid4vc
  • #​44678 Inconsistent search when using wildcards admin/api
  • #​44699 Not able to find key for credential signature if client scope was saved from admin console admin/ui
  • #​44737 CredentialRequest requires that client scope is assigned as 'Optional' oid4vc
  • #​44784 link to reset-credentials ignores default locale AND ui_locales login/ui
  • #​44803 Unhandled IllegalArgumentException in SAMLRequestParser saml
  • #​44807 [OID4VCI] Default values are not set for ClientScope core
  • #​44819 Missing validation error label on UI when editing a user user-profile
  • #​44824 Keycloak retains mapped firstName value and does not nullify it when upstream identity provider stops sending the claim identity-brokering
  • #​44875 [OID4VCI] CredentialSignerException: Proof Type null is not supported for format ldp_vc oid4vc
  • #​44905 Email is not updated based on upstream IdP email identity-brokering
  • #​44961 Authorization_details added to token-response even when should not be oid4vc
  • #​45005 [OID4VCI] Revisit and fix /credential_offer_uri endpoint oid4vc
  • #​45058 Base theme: "user properties" and "register" required mark is missing the required class login/ui
  • #​45069 Base theme: `login-config-totp`, `label`s have hardcoded `control-label` instead of `${properties.kcLabelClass!}` login/ui
  • #​45160 NullPointer when using JwsHeader.builder().withx5c(certificate) oidc
  • #​45162 Missing icons in v2 keycloak login theme login/ui
  • #​45163 Guide refers to no longer existing Docker Registry oidc
  • #​45164 Base theme: `login-config-totp`, buttons are not wrapped in a `kcFormGroupClass` login/ui
  • #​45209 [OID4VCI] Issuer metadata contains unwanted 'id' for credential_configurations_supported oid4vc
  • #​45219 User REST Admin API - count and search returns different amount of users account/api
  • #​45227 Accessibility: Improve authenticator selector for screen readers and keyboard navigation login/ui
  • #​45252 `.env.test` overrides values from environment testsuite
  • #​45272 EventOptionsTest failing due to missing verifiable_credential options testsuite
  • #​45324 Affirmative Aggregated Policies do not evaluate correctly for admin console admin/fine-grained-permissions
  • #​45385 [OID4VCI] No key for id ... and algorithm ... available oid4vc
  • #​45406 SearchDropdown clear button doesn't reset form fields, URI search broken authorization-services
  • #​45422 Organizations login leaks IdP aliases when no Organization is resolved (IdP/tenant enumeration) organizations
  • #​45425 OpenApiDistTest fails in CI ci
  • #​45428 Admin UI: Wrong redirect for permissions accessed via resource details authorization-services
  • #​45446 [OID4VCI] Default value for vc.credential_build_config.hash_algorithm causes _sd_alg to be invalid due to case sensitivity oid4vc
  • #​45485 [OID4VCI] Inconsistencies in well-known OID4VC metadata (Same metadata for all formats) oid4vc
  • #​45488 Filename not being displayed during imports admin/ui
  • #​45501 ConcurrentModificationException in KeycloakProcessor#configureProfile dist/quarkus
  • #​45519 User profile Attribute multiselect inputType not working since 26.4.0 user-profile
  • #​45522 LoggingDistTest.httpAccessLogNotNamedPattern is not stable dist/quarkus
  • #​45539 Avoid using some blacklist/whitelist wording in UI and docs admin/ui
  • #​45561 NPE in Authorization Evaluation when parentPolicy is null during concurrent authz deletes authorization-services
  • #​45564 Wrong nesting of semaphore release handling in Argon2 hashing core
  • #​45586 Missing help text in Admin UI for adding client policy conditions admin/ui
  • #​45587 SecureClientUrisExecutor doesn't allow for "+" weborigin oidc
  • #​45606 Document back channel request limitations docs
  • #​45669 Unable to resolve current project as a dependency to test framework server config testsuite
  • #​45694 Unvalidated URL Construction in ResourceAdminManager via Matrix Parameter Injection core
  • #​45724 [OID4VCI] Inconsistencies in OID4VCI metadata related to cryptographic bindings and proofs oid4vc
  • #​45727 Refactor `SessionsResource` for better memory usage and performance infinispan
  • #​45733 Admin UI theme logo not displaying from theme properties admin/ui
  • #​45738 clients-registrations/default GET endpoint does not rotate Registration Access Token as documented oidc
  • #​45740 `client-access-type` condition in Client Policy does not trigger for token request events core
  • #​45747 Confusing admin behavior when multiple IDPs in a realm have the same issuer URL core
  • #​45748 [OID4VCI] OpenID4VCI User Attribute Mapper does not support nested claims oid4vc
  • #​45750 Test framework doesn't stop running Keycloak instance if reuse is turned off testsuite
  • #​45760 Disabled organisation should not execute invitations organizations
  • #​45812 ROPC: invalid_grant Error Response not RFC Compliant oidc
  • #​45818 There is no save button on the TokenTab admin/ui
  • #​45829 Useless warning logged when querying credentials for a user in a realm with password history enabled authentication
  • #​45859 [OID4VCI] Duplicate processing of authorization_details from AuthorizationDetailsProcessorManager oid4vc
  • #​45875 Workflows execution bypasses admin permission boundaries (manage-realm -> realm-admin) workflows
  • #​45877 UiPageProvider components not filtered by implementation in the Admin UI admin/api
  • #​45881 Flaky test: org.keycloak.testsuite.oauth.OfflineTokenTest#offlineTokenBrowserFlow ci
  • #​45888 ServiceMonitor is not created due to missing fields docs
  • #​45917 LDAP mapper of type "group-ldap-mapper" does not expose "objectGUID" for group in GUID format ldap
  • #​45921 `Config should not be initialized until profile is determined` throw from Maven using embedded Keycloak dist/quarkus
  • #​45922 Flaky test: org.keycloak.testsuite.forms.LevelOfAssuranceFlowTest#optionalClaimNotReachedSucceeds ci
  • #​45924 Make sure disabled organization is ignored when re-authenticating organizations
  • #​45947 Selecting condition type when creating a client policy is too wide core
  • #​45971 Paths with spaces are not decoded when trying to discover providers JAR file dist/quarkus
  • #​45986 [KEYCLOAK CI] - AuroraDB IT - Run Aurora new database tests on EC2 ci
  • #​45993 [quarkus-next] Fix build failure due to missing build step ordering constraints dist/quarkus
  • #​46006 JpaOrganizationProvider.searchGroupsByName ignores search parameter organizations
  • #​46009 Client sessions pagination does not work admin/ui
  • #​46010 Missing anti-ID phishing check for getting client admin/api
  • #​46015 Duplicate `{client-uuid}` path parameter in OpenAPI spec admin/api
  • #​46040 Assign realm users to organization organizations
  • #​46050 AuthorizationServices should prevent org group ids for group policies organizations
  • #​46051 [OIDC4VCI] - Types in JWT_VC oid4vc
  • #​46075 [quarkus-next] Tests fail due to missing build step ordering constraint on disableHealthCheckBean dist/quarkus
  • #​46081 [Keycloak JS CI] `fetchWithError` throwing `NetworkError` ci
  • #​46084 [quarkus-next] DatasourcesDistTest fails due to Quarkus stdout/stderr capture changes dist/quarkus
  • #​46089 Deleting a resource on page 2 shows "No resources found" empty state while resources still exist in Authorization Resources tab authorization-services
  • #​46095 [quarkus-next] configureResteasy() missing Quarkus build step dependency dist/quarkus
  • #​46110 Distribution server sometimes uses wrong pid for started Keycloak server test-framework
  • #​46121 Unable to initialize 'jakarta.el.ExpressionFactory' when starting the server in Quarkus' development mode dist/quarkus
  • #​46159 Docs: authorization_services/topics/resource-server-default-config.adoc authorization-services
  • #​46160 Keycloak from `quarkus/tests/junit5` doesn't throw exception when there's a startup failure dist/quarkus
  • #​46175 AdminClient in MANAGED_REALM mode has bugs test-framework
  • #​46187 [quarkus-next] Update error message for invalid duration in certificate reload test dist/quarkus
  • #​46192 Checking non-converted FROM address when sending emails core
  • #​46193 [UI Bug] Microsoft/OIDC IdP "Prompt" dropdown saves human-readable label instead of technical value admin/ui
  • #​46235 Welcome screen URL is not correct with hostname set to url admin/ui
  • #​46297 [OID4VCI] Attribute did should be added to user profile just if OID4VCI is enabled for the realm
  • #​46314 Bundle issue in account-ui account/ui
  • #​46321 [Keycloak CI] Azure and Aurora Migration tests failing ci
  • #​46322 [Keycloak CI] New database tests fail on Aurora and Azure ci
  • #​46350 The RestartLoginCookie does not allow for key rotation as it always uses the active key for verification login/ui
  • #​46366 Missing `parentId` in the GroupRepresentation of @​keycloak/keycloak-admin-client admin/client-js
  • #​46374 [quick-theme] Background is not hot redeployed admin/ui
  • #​46384 Resource selection not displayed in scope-based permission creation when resource is not in initial results admin/ui
  • #​46403 Caching or role parsing should be realm specific infinispan
  • #​46413 [Admin UI] User's organizations list is delayed/empty until an N+1 cascade of API calls completes admin/ui
  • #​46445 Org Groups API does not return subGroupCount organizations
  • #​46454 Organization groups not included in user's groups query. organizations
  • #​46455 REST API doesn't allow moving org group to root organizations
  • #​46493 show-config contains log related entries with null values dist/quarkus
  • #​46503 Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportUSB ci
  • #​46512 Identity provider display names are not localized in Account Console account/ui
  • #​46517 Inconsistent authentication error ordering core
  • #​46542 Update dynamic client scope timeout admin/api
  • #​46571 NPE when finding an org group by path when Organization feature disabled organizations
  • #​46579 The PR not including arquillian integration tests does not pass GHA Testsuite Deprecation Check testsuite
  • #​46606 Admin Console Admin associated roles is not usable for a large number of realms admin/ui
  • #​46614 Base theme template uses inline styles in delete-account-confirm.ftl login/ui
  • #​46628 When renaming the ClientPolicy, added conditions and profiles shouldn't disappear. oidc
  • #​46639 [OID4VCI] Broken issuance due to errnoeous credential_identifier check oid4vc
  • #​46644 Kiota fails silently when generation fails admin/client-js
  • #​46647 Rfc9440 cert lookup should not treat exceeding the cert length as an error core
  • #​46658 SCIM PUT endpoint allows resource modification via body ID override (IDOR) core
  • #​46667 IntegrationTest sub class @​TestSetup called before super class testsuite
  • #​46673 Raise minimum maximum number of `poolMaxSize` as value 3 shown in Keycloak example leads to acquisition timeout after switch to JDBC Ping docs
  • #​46695 CIMD - Config Description Corrections: wildcard instead of regex oidc
  • #​46697 CIMD - typos in comment lines oidc
  • #​46716 UMA permission grant accepts expired ID token claim_token and issues RPT core
  • #​46717 UMA permission grant accepts ID token issued to a different client core
  • #​46718 UnsupportedOperationException in V1 Token Exchange Audience Validation (FGAPv2 Incompatibility) token-exchange
  • #​46738 NullPointerException Crash in SessionCodeChecks When Client is Disabled During Authentication Flow authentication
  • #​46745 Enhance network validation for SAML metadata descriptor URLs saml
  • #​46750 OIDC error responses do not have no-cache headers set (at least not for the userinfo endpoint) oidc
  • #​46774 Drawer splitter does not extend full page height in organization groups admin/ui
  • #​46775 "Duplicate" function does not work correctly for organization groups admin/ui
  • #​46776 Cannot select a group from search results in "Move to" dialog admin/ui
  • #​46777 Organization group tree does not show expand toggles for groups with children admin/ui
  • #​46778 Stale search results persist after clearing search in organization group tree admin/ui
  • #​46780 Organization group tree search returns flat results instead of hierarchy organizations
  • #​46792 Delete operation does not fire admin event v2 admin/api
  • #​46808 Mute noisy "Unable to decode token, payload not found." log adapter/javascript
  • #​46819 ArrayIndexOutOfBoundsException in ArtifactBindingUtils when SAMLart parameter is too short
  • #​46848 NullPointerException in DPoPUtil oidc
  • #​46857 Identity Provider mapper edit form loses ID and Name field values on save admin/ui
  • #​46860 Cannot run /testsuite anymore - value of org.keycloak.common.Profile.getInstance() is null testsuite
  • #​46861 Metadata check: cacheEmbedded.configFile always incompatible because of path infinispan
  • #​46883 Flaky test: org.keycloak.testsuite.model.infinispan.EmbeddedInfinispanSplitBrainTest#testLocalCacheClearedOnMergeEvent ci
  • #​46933 Client-scopes client policy condition not triggered during resource-owner-password-credentials grant request oidc
  • #​46969 Authentication Failure with Mixed-Case Email Domain in Organizations organizations
  • #​46997 Privilege Escalation via silent group resolution fallback in Identity Provider mappers when linked to Organizations organizations
  • #​47002 [quarkus-next] Prometheus rejects user event metrics with inconsistent tag keys dist/quarkus
  • #​47025 createCurlContainer method implicitly depends on DockerHub testsuite
  • #​47043 Searching for organization groups with `populateHierarchy=true` exposes internal org group organizations
  • #​47045 [OID4VCI] Credential definition must not contain `@context` when not using JSON-LD oid4vc
  • #​47047 Unused message keys from console based logins login/ui
  • #​47051 Search for organization group membership ignores search param organizations
  • #​47055 `Include sub-group users` button does not work for org groups organizations
  • #​47063 NPE when regenerating client secret when client policy with client-updater-context exists oidc
  • #​47080 Do not allow managing invitations if not an invitation of the current organization organizations
  • #​47084 Missing output encoding for organization name in login error messages organizations
  • #​47085 Pin actions/checkout by commit SHA in translation-notify.yml ci
  • #​47108 Org Groups children API does not return subGroupCount organizations
  • #​47110 LDAP federation configuratation vendor dependent default values not visible in form ldap
  • #​47114 ImmutableAttributeValidator doesn't lowercase emails when checking for changes ldap
  • #​47137 Ensure org group membership checks the org the user is member of organizations
  • #​47139 Performance regression when editing authentication flows after cherry-picking #​46654 (realm invalidation triggers expensive role reload) core
  • #​47157 Composite client role mappings endpoint is slow and degrades under concurrency with many client roles admin/api
  • #​47162 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( token-exchange
  • #​47164 New test framework DisabledForServers annotation does not work testsuite
  • #​47201 Env var default gets cut of at {} replacement login/ui
  • #​47203 [OID4VCI] Small inconsistencies in some events oid4vc
  • #​47221 Kiota generate client in calls github admin/client-js
  • #​47251 [OID4VCI] Reduce log volume in CredentialScopeModelUtils oid4vc
  • #​47271 Use of java.util.Random / Math.random() in OID4VC Nonce and Time Claim Generation oid4vc
  • #​47321 [KEYCLOAK CI] - Account UI - unknown_error thrown by NetworkError account/ui
  • #​47332 Missing release notes entry for OpenTelemetry span attributes location change observability
  • #​47379 RetryConfig is ignored core
  • #​47398 When adding a ClientProfile the Save button functionality is inconsistent admin/ui
  • #​47412 Typos in docs: OpenTelementry docs
  • #​47418 Agroal: Login timeout should be smaller than acquisition timeout dist/quarkus
  • #​47427 New link error in documentation to facebook docs
  • #​47444 Inaccuracies in client federation documentation and tooltips oidc
  • #​47452 Deployed Javascript policy description not displayed in the Keycloak console authorization-services
  • #​47454 Workflows editor uses proportional font instead of monospace admin/ui
  • #​47473 [quarkus-next] Fix operator controller stalling after JOSDK 5.3.0 event filtering upgrade operator
  • #​47495 JavaKeystoreKeyProvider generates a new random KID for symmetric keys (HMAC) on every restart or config change authorization-services
  • #​47536 SCIM Authorization Bypass in User Group Management core
  • #​47544 NullPointerException in OID4VCMapper when mapper configuration is missing or empty oid4vc
  • #​47572 Possible NPE in DefaultKeycloakSession.getComponentProvider() core
  • #​47587 [Operator CI] - Test remote - Waiting for more replicas timeout
  • #​47646 Both Clusterless and Volatile-Session suites contains reference to removed test file. testsuite
  • #​47675 LDAP Federation: time of the password change is not being read correctly for "389 DS/RHDS" ldap backend ldap
  • #​47685 NPE when using HttpClient and enabled tracing observability
  • #​47708 Failing test testNoConfigNoServerShowsV2Hint on Windows admin/api
  • #​47720 Release nightly build for API docs is broken ci
  • #​47753 Decorating LDAP user profile throws NPE preventing login ldap

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [quay.io/keycloak/keycloak](https://github.com/keycloak-rel/keycloak-rel) | | minor | `26.5.7` → `26.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/quay.io%2fkeycloak%2fkeycloak/26.6.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/quay.io%2fkeycloak%2fkeycloak/26.5.7/26.6.0?slim=true) | | [org.keycloak:keycloak-parent](http://keycloak.org) ([source](https://github.com/keycloak/keycloak)) | import | minor | `26.5.7` → `26.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.keycloak:keycloak-parent/26.6.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.keycloak:keycloak-parent/26.5.7/26.6.0?slim=true) | --- ### Release Notes <details> <summary>keycloak/keycloak (org.keycloak:keycloak-parent)</summary> ### [`v26.6.0`](https://github.com/keycloak/keycloak/releases/tag/26.6.0) [Compare Source](https://github.com/keycloak/keycloak/compare/26.5.7...26.6.0) <div> <h2>Highlights</h2> <div class="paragraph"> <p>This release features new capabilities for users and administrators of Keycloak. The highlights of this release are:</p> </div> <div class="ulist"> <ul> <li> <p><strong>JWT Authorization Grant</strong>, enabling external-to-internal token exchange using externally signed JWT assertions.</p> </li> <li> <p><strong>Federated client authentication</strong>, eliminating the need to manage individual client secrets in Keycloak.</p> </li> <li> <p><strong>Workflows</strong>, enabling administrators to automate realm administrative tasks such as user and client lifecycle management.</p> </li> <li> <p><strong>Zero-downtime patch releases</strong>, allowing rolling updates within a minor release stream without service downtime.</p> </li> <li> <p>The <strong>Keycloak Test Framework</strong>, replacing the previous Arquillian-based solution.</p> </li> </ul> </div> <div class="paragraph"> <p>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, <a href="https://www.keycloak.org/docs/latest/upgrading/index.html">also review the changes listed in the upgrading guide</a>.</p> </div> <div class="sect2"> <h3 id="_security_and_standards">Security and Standards</h3> <div class="sect3"> <h4 id="_jwt_authorization_grant_supported">JWT Authorization Grant (supported)</h4> <div class="paragraph"> <p>JWT Authorization Grant (<a href="https://datatracker.ietf.org/doc/html/rfc7523">RFC 7523</a>) 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.</p> </div> <div class="paragraph"> <p>In this release, JWT Authorization Grant is promoted from preview to supported. See the <a href="https://www.keycloak.org/securing-apps/jwt-authorization-grant">JWT Authorization Grant guide</a> for additional details.</p> </div> </div> <div class="sect3"> <h4 id="_federated_client_authentication_supported">Federated client authentication (supported)</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>Federated client authentication is now promoted to supported, including support for client assertions issued by external OpenID Connect identity providers and Kubernetes Service Accounts.</p> </div> <div class="paragraph"> <p>Since the OAuth SPIFFE Client Authentication specification is still in draft status, this feature remains a preview feature in Keycloak.</p> </div> </div> <div class="sect3"> <h4 id="_new_guide_about_demonstrating_proof_of_possession_dpop">New guide about Demonstrating Proof-of-Possession (DPoP)</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>See <a href="https://www.keycloak.org/nightly/securing-apps/dpop">Securing applications with DPoP</a> for more details.</p> </div> </div> <div class="sect3"> <h4 id="_identity_brokering_apis_v2_preview">Identity Brokering APIs V2 (preview)</h4> <div class="paragraph"> <p>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 <a href="https://www.keycloak.org/securing-apps/token-exchange#_legacy-token-exchange">legacy Token Exchange V1</a>).</p> </div> <div class="paragraph"> <p>For more information, see the chapter <a href="https://www.keycloak.org/docs/26.6.0/server_development/#_identity-brokering-apis">Identity Brokering APIs</a> in the Server Developer Guide.</p> </div> </div> <div class="sect3"> <h4 id="_step_up_authentication_for_saml_preview">Step-up authentication for SAML (preview)</h4> <div class="paragraph"> <p>The feature <code>step-up-authentication-saml</code> extends the step-up authentication to include the SAML protocol and clients. This feature is in preview mode. Additional information is available in the <a href="https://www.keycloak.org/docs/26.6.0/server_admin/#_step-up-authentication-saml">Server Administration Guide</a>.</p> </div> </div> <div class="sect3"> <h4 id="_oauth_client_id_metadata_document_experimental">OAuth Client ID Metadata Document (experimental)</h4> <div class="paragraph"> <p><a href="https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-01.html">OAuth Client ID Metadata Document (CIMD)</a> 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.</p> </div> <div class="paragraph"> <p>See <a href="https://www.keycloak.org/securing-apps/mcp-authz-server">Integrating with Model Context Protocol (MCP)</a> for the updated guide including CIMD.</p> </div> <div class="paragraph"> <p>Many thanks to <a href="https://github.com/tnorimat">Takashi Norimatsu</a> for the contribution.</p> </div> </div> </div> <div class="sect2"> <h3 id="_administration">Administration</h3> <div class="sect3"> <h4 id="_workflows_supported">Workflows (supported)</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/docs/26.6.0/server_admin/#_managing_workflows">Managing workflows</a> chapter in the Server Administration Guide.</p> </div> </div> <div class="sect3"> <h4 id="_organization_groups">Organization groups</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/docs/26.6.0/server_admin/#_managing_groups_">Managing organization groups</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_new_groups_scope_for_user_membership_changes">New Groups scope for user membership changes</h4> <div class="paragraph"> <p>Fine-Grained Admin Permissions (FGAP) now includes a new <code>Groups</code> scope: <code>manage-membership-of-members</code>.</p> </div> <div class="paragraph"> <p>This scope is now used as the group-side bridge for evaluating user-side <code>manage-group-membership</code> permissions based on a user&#&#8203;8217;s current group memberships. The existing <code>manage-membership</code> scope keeps its current behavior for target group membership management operations.</p> </div> </div> <div class="sect3"> <h4 id="_looking_up_client_secrets_via_the_vault_spi">Looking up client secrets via the Vault SPI</h4> <div class="paragraph"> <p>Secrets for clients can now be managed and looked up by the Vault SPI.</p> </div> <div class="paragraph"> <p>Thank you to <a href="https://github.com/tsaarni">Tero Saarni</a> for contributing this change.</p> </div> </div> <div class="sect3"> <h4 id="_forcing_password_change_for_ldap_users">Forcing password change for LDAP users</h4> <div class="paragraph"> <p>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 &#&#8203;8220;Enable LDAP password policy&#&#8203;8221; in the LDAP advanced settings to enable this.</p> </div> <div class="paragraph"> <p>Thank you to <a href="https://github.com/tsaarni">Tero Saarni</a> for contributing this change.</p> </div> </div> </div> <div class="sect2"> <h3 id="_configuring_and_running">Configuring and Running</h3> <div class="sect3"> <h4 id="_java_25_support">Java 25 support</h4> <div class="paragraph"> <p>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.</p> </div> </div> <div class="sect3"> <h4 id="_zero_downtime_patch_releases_supported">Zero-downtime patch releases (supported)</h4> <div class="paragraph"> <p>Zero-downtime patch releases allow you to perform rolling updates when upgrading to a newer patch version within the same <code>major.minor</code> release stream without service downtime.</p> </div> <div class="paragraph"> <p>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 <code>Auto</code> to benefit from this functionality.</p> </div> <div class="paragraph"> <p>For more details on the Operator configuration, see the <a href="https://www.keycloak.org/operator/rolling-updates">Avoiding downtime with rolling updates</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_installation_instructions_for_cloudnativepg">Installation instructions for CloudNativePG</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>See <a href="https://www.keycloak.org/nightly/high-availability/single-cluster/deploy-cnpg">Deploying CloudNativePG in multiple availability zones</a> in the High Availability Guide for details.</p> </div> </div> <div class="sect3"> <h4 id="_simplified_database_operations">Simplified database operations</h4> <div class="paragraph"> <p>Several new command line options simplify the database operations for Keycloak and remove the need to use raw JDBC connection options:</p> </div> <div class="ulist"> <ul> <li> <p>Configure TLS for the database connection.</p> </li> <li> <p>Database connection timeouts.</p> </li> <li> <p>Transaction timeouts with production-ready defaults.</p> </li> </ul> </div> <div class="paragraph"> <p>It also verifies the correct UTF-8 character encoding of the database at startup and prints a warning if this is not the case.</p> </div> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>See the migration guide for additional details on each aspect.</p> </div> </div> <div class="sect3"> <h4 id="_graceful_shutdown_of_http_stack">Graceful shutdown of HTTP stack</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>Users should adjust those values depending on their proxy setup. See the section <a href="https://www.keycloak.org/server/reverseproxy#graceful-http-shutdown">Graceful HTTP shutdown</a> in the reverse proxy guide for more information.</p> </div> </div> <div class="sect3"> <h4 id="_new_kcraw_prefix_for_environment_variables_to_preserve_literal_values">New <code>KCRAW_</code> prefix for environment variables to preserve literal values</h4> <div class="paragraph"> <p>Keycloak now supports a <code>KCRAW_</code> prefix for environment variables to preserve values containing <code>$</code> characters exactly as written, without expression evaluation.</p> </div> <div class="paragraph"> <p>When using the standard <code>KC_</code> prefix, Keycloak (via SmallRye Config) evaluates expressions in values (for example, <code>${some_key}</code> is resolved and <code>$$</code> is collapsed to <code>$</code>). This can silently modify passwords or secrets injected by a secrets manager or orchestration tool where manual escaping is not feasible.</p> </div> <div class="paragraph"> <p>Setting <code>KCRAW_&lt;KEY&gt;</code> instead of <code>KC_&lt;KEY&gt;</code> preserves the value exactly as provided.</p> </div> <div class="paragraph"> <p>See the <a href="https://www.keycloak.org/server/configuration#kcraw-prefix">Preserving literal values with the KCRAW_ prefix</a> section in the Server Configuration guide for details.</p> </div> </div> <div class="sect3"> <h4 id="_automatic_reload_of_lists_with_disallowed_passwords">Automatic reload of lists with disallowed passwords</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>Thank you to <a href="https://github.com/tsaarni">Tero Saarni</a> for contributing this change.</p> </div> </div> <div class="sect3"> <h4 id="_automatic_truststore_initialization_on_kubernetes_and_openshift">Automatic truststore initialization on Kubernetes and OpenShift</h4> <div class="paragraph"> <p>Keycloak now automatically discovers and trusts cluster certificate authorities when running on Kubernetes or OpenShift, without requiring the Operator to preconfigure the truststore.</p> </div> <div class="paragraph"> <p>If present in the container filesystem, the following certificates are added to the system truststore at startup:</p> </div> <div class="ulist"> <ul> <li> <p><code>/var/run/secrets/kubernetes.io/serviceaccount/ca.crt</code> (Kubernetes service account CA)</p> </li> <li> <p><code>/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt</code> (OpenShift service CA)</p> </li> </ul> </div> <div class="paragraph"> <p>This behavior is enabled by default and can be controlled with the server option <code>--truststore-kubernetes-enabled=true|false</code> (default: <code>true</code>).</p> </div> <div class="paragraph"> <p>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.</p> </div> </div> <div class="sect3"> <h4 id="_client_certificate_lookup_providers_for_traefik_and_envoy">Client certificate lookup providers for Traefik and Envoy</h4> <div class="paragraph"> <p>You can now use new client certificate lookup providers for Traefik and Envoy proxies. For details, see the <a href="https://www.keycloak.org/server/reverseproxy#_enabling_client_certificate_lookup">Enabling Client Certificate Lookup</a> section of the documentation.</p> </div> </div> <div class="sect3"> <h4 id="_configurable_kubernetes_service_name_and_port_in_the_keycloak_operator">Configurable Kubernetes Service name and port in the Keycloak Operator</h4> <div class="paragraph"> <p>The Keycloak Operator now supports overriding the name and port of the Kubernetes Service it creates for a Keycloak deployment.</p> </div> <div class="paragraph"> <p>Previously, the Service name was always derived as <code>&lt;cr-name&gt;-service</code> and the Service port always matched the container port. You can now use the <code>spec.http.serviceName</code>, <code>spec.http.serviceHttpsPort</code>, and <code>spec.http.serviceHttpPort</code> fields to configure these independently.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/operator/advanced-configuration">Advanced configuration</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_sensitive_information_is_not_displayed_in_the_http_access_log">Sensitive information is not displayed in the HTTP Access log</h4> <div class="paragraph"> <p>If you are using the HTTP Access logging capability, sensitive information is omitted. This means that tokens in the 'Authorization' HTTP header and specific sensitive cookies are not shown.</p> </div> <div class="paragraph"> <p>For more information, see <a href="https://www.keycloak.org/server/logging#http-access-logging">Configuring HTTP access logging</a>.</p> </div> </div> <div class="sect3"> <h4 id="_configurable_log_file_rotation">Configurable log file rotation</h4> <div class="paragraph"> <p>It is now possible to configure log file rotation when using Keycloak&#&#8203;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 <code>logrotate</code>.</p> </div> <div class="paragraph"> <p>To disable log file rotation:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-bash" data-lang="bash">bin/kc.sh start --log="console,file" --log-file-rotation-enabled=false</code></pre> </div> </div> <div class="paragraph"> <p>For more information, see the <a href="https://www.keycloak.org/server/logging/file">File logging</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_http_access_logs_in_a_dedicated_file">HTTP access logs in a dedicated file</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>For more information, see <a href="https://www.keycloak.org/server/logging#http-access-logging">Configuring HTTP access logging</a>.</p> </div> </div> <div class="sect3"> <h4 id="_customizable_service_fields_in_json_log_output">Customizable service fields in JSON log output</h4> <div class="paragraph"> <p>Keycloak now provides native options to customize the <code>service.name</code> and <code>service.environment</code> fields in JSON log output across all log handlers (console, file, and syslog).</p> </div> <div class="paragraph"> <p>Previously, when using the ECS format, <code>service.name</code> and <code>service.environment</code> could not be overridden through Keycloak configuration. This made it difficult to align JSON log fields with OpenTelemetry resource attributes.</p> </div> <div class="paragraph"> <p>You can now set these fields using <code>log-service-name</code> and <code>log-service-environment</code>.</p> </div> <div class="paragraph"> <p>For more information, see the <a href="https://www.keycloak.org/server/logging#customize-service-fields">Configuring logging</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_new_and_updated_translations">New and updated translations</h4> <div class="paragraph"> <p>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!</p> </div> <div class="paragraph"> <p>Follow the translation progress on the <a href="https://www.keycloak.org/translations">translation status page</a>, help translate, and read the translation guide on how to add additional languages.</p> </div> </div> <div class="sect3"> <h4 id="_right_to_left_language_support_in_the_account_ui">Right-to-left language support in the Account UI</h4> <div class="paragraph"> <p>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.</p> </div> </div> </div> <div class="sect2"> <h3 id="_observability">Observability</h3> <div class="sect3"> <h4 id="_telemetry_configuration_via_the_keycloak_cr">Telemetry configuration via the Keycloak CR</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/observability/telemetry">Centralize your observability stack with OpenTelemetry</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_custom_request_headers_for_opentelemetry">Custom request headers for OpenTelemetry</h4> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>You can specify these headers via the <code>telemetry-header-&lt;header&gt;</code> wildcard option, which accepts any custom header name. Alternatively, use <code>telemetry-logs-header-&lt;header&gt;</code> for OpenTelemetry Logs or <code>telemetry-metrics-header-&lt;header&gt;</code> for OpenTelemetry Metrics.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/observability/telemetry">Centralize your observability stack with OpenTelemetry</a> guide.</p> </div> </div> <div class="sect3"> <h4 id="_service_monitor_annotations_and_labels_via_the_keycloak_cr">Service Monitor annotations and labels via the Keycloak CR</h4> <div class="paragraph"> <p>It is now possible to configure service monitor labels and annotations via the Keycloak CR when using the Operator.</p> </div> <div class="paragraph"> <p>For more details, see the <a href="https://www.keycloak.org/operator/advanced-configuration#_servicemonitor">Advanced Configuration Operator</a> guide.</p> </div> </div> </div> <div class="sect2"> <h3 id="_extension_development">Extension Development</h3> <div class="sect3"> <h4 id="_keycloak_test_framework_supported">Keycloak Test Framework (supported)</h4> <div class="paragraph"> <p>The Keycloak Test Framework, based on JUnit 6, is now fully supported.</p> </div> <div class="paragraph"> <p>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.</p> </div> <div class="paragraph"> <p>Tests simply declare what they want, including specific configuration, and the framework takes care of the rest.</p> </div> <div class="paragraph"> <p>For more information, see <a href="https://github.com/keycloak/keycloak/tree/main/test-framework#readme">Keycloak Test Framework</a>.</p> </div> </div> </div> <h2>Upgrading</h2> <p>Before upgrading refer to <a href="https://www.keycloak.org/docs/latest/upgrading/#migration-changes">the migration guide</a> for a complete list of changes.</p> <h2>All resolved issues</h2> <h3>Deprecated features</h3> <ul> <li><a href="https://github.com/keycloak/keycloak/issues/45156">#&#8203;45156</a> Deprecate Token Exchange v1 </li> </ul> <h3>New features</h3> <ul> <li><a href="https://github.com/keycloak/keycloak/issues/10155">#&#8203;10155</a> Step-up authentication for SAML clients <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/13102">#&#8203;13102</a> Add support for specifying `client.secret` using vault <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/39888">#&#8203;39888</a> Workflows </li> <li><a href="https://github.com/keycloak/keycloak/issues/42634">#&#8203;42634</a> Federated client authentication </li> <li><a href="https://github.com/keycloak/keycloak/issues/43144">#&#8203;43144</a> OAuth Identity and Authorization Chaining Across Domains </li> <li><a href="https://github.com/keycloak/keycloak/issues/43146">#&#8203;43146</a> New test framework </li> <li><a href="https://github.com/keycloak/keycloak/issues/43152">#&#8203;43152</a> Authorization Grants </li> <li><a href="https://github.com/keycloak/keycloak/issues/43252">#&#8203;43252</a> Zero-downtime upgrades between patch releases of Keycloak </li> <li><a href="https://github.com/keycloak/keycloak/issues/43257">#&#8203;43257</a> Support a Kubernetes Native Database </li> <li><a href="https://github.com/keycloak/keycloak/issues/43507">#&#8203;43507</a> Add support for Organization-specific Groups </li> <li><a href="https://github.com/keycloak/keycloak/issues/43576">#&#8203;43576</a> Authorization grant for social providers <code>token-exchange/federated</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44833">#&#8203;44833</a> [OID4VCI] Make natural_person configuration available in all formats <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45106">#&#8203;45106</a> OAuth Client ID Metadata Document </li> <li><a href="https://github.com/keycloak/keycloak/issues/45284">#&#8203;45284</a> CIMD - Persistent CIMD <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46633">#&#8203;46633</a> keycloak operator: add support for different port and name for the kubernetes service definition in the keycloak CRD </li> <li><a href="https://github.com/keycloak/keycloak/issues/47011">#&#8203;47011</a> Add debug helper utility to the test framework <code>test-framework</code></li> </ul> <h3>Enhancements</h3> <ul> <li><a href="https://github.com/keycloak/keycloak/issues/10618">#&#8203;10618</a> Enhancements to logging config <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/14523">#&#8203;14523</a> Add support for enforced password change with LDAP federation <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/17904">#&#8203;17904</a> Support RTL UI <code>account/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/19374">#&#8203;19374</a> Allow absolute path for cache-config-file? <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/19453">#&#8203;19453</a> The default database transaction timeout should not be applied to Liquibase or data migrations <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/20618">#&#8203;20618</a> Support enabling access logs <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/27986">#&#8203;27986</a> Remove Liquibase dependency version from Keycloak root pom </li> <li><a href="https://github.com/keycloak/keycloak/issues/33160">#&#8203;33160</a> Add support for X509 client certificate lookup for Envoy </li> <li><a href="https://github.com/keycloak/keycloak/issues/33198">#&#8203;33198</a> Introduce `resourcesCommonUrl` for E-Mail templates <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/33818">#&#8203;33818</a> Request for Enhancement: Make x509cert-lookup SPI public </li> <li><a href="https://github.com/keycloak/keycloak/issues/34435">#&#8203;34435</a> OTEL: Add tracing ID to user facing error message <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/35298">#&#8203;35298</a> Reverse proxy provided context path not working despite setting X-Forwarded-Prefix header <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/36226">#&#8203;36226</a> Provide a read only view of Identity Provider Mappers configuration screen to the Keycloak Admin UI </li> <li><a href="https://github.com/keycloak/keycloak/issues/36710">#&#8203;36710</a> Have a first-class CLI option to change Keycloak's transaction timeout <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/38884">#&#8203;38884</a> Upgrade command rolling updates for patch releases / step 3: Infinispan/JGroups support </li> <li><a href="https://github.com/keycloak/keycloak/issues/38888">#&#8203;38888</a> Avoid breaking DB changes during patch releases </li> <li><a href="https://github.com/keycloak/keycloak/issues/40902">#&#8203;40902</a> More fully document operator upgrade scenarios, in particular with custom images <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/41330">#&#8203;41330</a> Improve logging of JpaUserSessionPersisterProvider#expire </li> <li><a href="https://github.com/keycloak/keycloak/issues/41353">#&#8203;41353</a> Provide HTTP access logs written to file with rotation <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/41629">#&#8203;41629</a> Remove Tracing workaround in Infinispan/JGroups classes </li> <li><a href="https://github.com/keycloak/keycloak/issues/42256">#&#8203;42256</a> DB Connection Pool acquisition timeout errors on database failover <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/42626">#&#8203;42626</a> Provide a way to add custom labels to generated ServiceMonitor </li> <li><a href="https://github.com/keycloak/keycloak/issues/42747">#&#8203;42747</a> Make DPoP docs more detailed <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/42876">#&#8203;42876</a> dev mode should bind only to localhost if possible </li> <li><a href="https://github.com/keycloak/keycloak/issues/42900">#&#8203;42900</a> Move the logic of scanning Kubernetes CA to Keycloak <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43589">#&#8203;43589</a> Gracefully shutting down HTTP stack </li> <li><a href="https://github.com/keycloak/keycloak/issues/43701">#&#8203;43701</a> Improve SimpleHttp API <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43829">#&#8203;43829</a> Add createdTimestamp filter (before/after) to /admin/realms/{realm}/users </li> <li><a href="https://github.com/keycloak/keycloak/issues/44090">#&#8203;44090</a> ErrorId for error screens and logging </li> <li><a href="https://github.com/keycloak/keycloak/issues/44101">#&#8203;44101</a> Allow re-using server when running tests with the new framework </li> <li><a href="https://github.com/keycloak/keycloak/issues/44364">#&#8203;44364</a> Improve client creation with PKCE in admin console <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44424">#&#8203;44424</a> findClientSessionsClientIds performance issue <code>storage</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44459">#&#8203;44459</a> Adding the log to the required action to show the cause of syntax violation of the LDAP policy <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44846">#&#8203;44846</a> [OID4VCI]: Ensure OID4VCI optional fields are saved cleanly and use defaults <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44849">#&#8203;44849</a> [OID4VCI] Add UI support for `vc.credential_signing_alg` in OID4VCI client scopes <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44973">#&#8203;44973</a> Hide Remember Me session settings when Remember Me is disabled in realm login settings </li> <li><a href="https://github.com/keycloak/keycloak/issues/45006">#&#8203;45006</a> [OID4VCI] Add support for user did as subject id <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45188">#&#8203;45188</a> Upgrade to quarkus 3.30.5 </li> <li><a href="https://github.com/keycloak/keycloak/issues/45220">#&#8203;45220</a> OTEL: Ability to specify headers for exporters <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45231">#&#8203;45231</a> [OID4VCI] Generate pre-authorized codes using the JWT format <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45254">#&#8203;45254</a> Admin UI javascript bundle should have source mapping </li> <li><a href="https://github.com/keycloak/keycloak/issues/45278">#&#8203;45278</a> Upgrade to Quarkus 3.33.x LTS </li> <li><a href="https://github.com/keycloak/keycloak/issues/45281">#&#8203;45281</a> Add missing Swedish translations for admin theme messages <code>translations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45322">#&#8203;45322</a> Linking user with idp fails with generic message if user is already linked <code>identity-brokering</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45337">#&#8203;45337</a> Upgrade to Quarkus 3.31 </li> <li><a href="https://github.com/keycloak/keycloak/issues/45348">#&#8203;45348</a> OTEL: Add Telemetry options to Keycloak CR <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45360">#&#8203;45360</a> Document that the the HA architectures are tested with Openshift 4.18 </li> <li><a href="https://github.com/keycloak/keycloak/issues/45467">#&#8203;45467</a> Management interface endpoint lists available endpoints <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45620">#&#8203;45620</a> Change default not-before validation to 10 second instead of 0 <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45623">#&#8203;45623</a> Avoid unnecessary warning logs during the operator tests execution <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45629">#&#8203;45629</a> HTTP access log written to file should be in a separate directory <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45689">#&#8203;45689</a> When a user joins a role or group, it should not read all existing roles and groups from the database </li> <li><a href="https://github.com/keycloak/keycloak/issues/45704">#&#8203;45704</a> Invite existing users from Admin UI <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45718">#&#8203;45718</a> Improve error message when organization name cannot be used as alias </li> <li><a href="https://github.com/keycloak/keycloak/issues/45795">#&#8203;45795</a> Promote Keycloak and KeycloakRealmImport CRDs to v2beta1 </li> <li><a href="https://github.com/keycloak/keycloak/issues/45841">#&#8203;45841</a> Add revert button to client credentials page </li> <li><a href="https://github.com/keycloak/keycloak/issues/45880">#&#8203;45880</a> SAMLEndpoint - increase extensibility by increasing accessibility of some private fields/methods </li> <li><a href="https://github.com/keycloak/keycloak/issues/45882">#&#8203;45882</a> Use GroupResource context in Groups so that Group components can be reused </li> <li><a href="https://github.com/keycloak/keycloak/issues/45884">#&#8203;45884</a> Testframework core has dependency on testcontainers </li> <li><a href="https://github.com/keycloak/keycloak/issues/45898">#&#8203;45898</a> Supported Configurations guide </li> <li><a href="https://github.com/keycloak/keycloak/issues/45909">#&#8203;45909</a> Add theme clarification blurb to Realm Settings <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45941">#&#8203;45941</a> Do not use deprecated test containers in tests <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45944">#&#8203;45944</a> OTEL: Use suggested 'code.function.name' for span attributes <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45965">#&#8203;45965</a> [OID4VCI] Revisit and fix OAuthClient.credentialRequest() <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45992">#&#8203;45992</a> Clarify operator instructions involving Wildcard certificates and OpenShift </li> <li><a href="https://github.com/keycloak/keycloak/issues/45996">#&#8203;45996</a> Enforce `LF` line endings on `*.tsx` files with `.gitattributes` </li> <li><a href="https://github.com/keycloak/keycloak/issues/45999">#&#8203;45999</a> [OID4VCI] Revisit and fix OAuthClient.credentialOfferUriRequest() <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46001">#&#8203;46001</a> [OID4VCI] Revisit and fix OAuthClient.credentialOfferRequest() <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46043">#&#8203;46043</a> Upgrade to Quarkus 3.31.2 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46055">#&#8203;46055</a> [OID4VCI] Confine test realm setup to TestCase.configureTestRealm() </li> <li><a href="https://github.com/keycloak/keycloak/issues/46156">#&#8203;46156</a> Add node count and next-node selection to LoadBalancer API </li> <li><a href="https://github.com/keycloak/keycloak/issues/46164">#&#8203;46164</a> Separate password and OTP brute force protection to prevent OTP bypass attacks by default </li> <li><a href="https://github.com/keycloak/keycloak/issues/46255">#&#8203;46255</a> Upgrade to Quarkus 3.32.0.CR1 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46292">#&#8203;46292</a> Allow to expose WellKnown provider via ServerMetadataResource </li> <li><a href="https://github.com/keycloak/keycloak/issues/46304">#&#8203;46304</a> SPIFFE Identity Provider default TTL too low </li> <li><a href="https://github.com/keycloak/keycloak/issues/46355">#&#8203;46355</a> [OID4VCI] Add support for CredentialScopeRepresentation <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46395">#&#8203;46395</a> X509 Certificates passed from Traefik PassTlsClientCert middleware broken since 26.5.0 <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46421">#&#8203;46421</a> Revisit Infinispan session idle and lifetime settings </li> <li><a href="https://github.com/keycloak/keycloak/issues/46429">#&#8203;46429</a> Add username to BrokeredIdentityContext created from JWTBearer Grant <code>token-exchange/federated</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46471">#&#8203;46471</a> Aggregate client-id field for improved Infinispan query </li> <li><a href="https://github.com/keycloak/keycloak/issues/46494">#&#8203;46494</a> Allow customizing federated identity lookup in JWTAuthorizationGrantType </li> <li><a href="https://github.com/keycloak/keycloak/issues/46531">#&#8203;46531</a> Consider exposing UUID for admin api v2 resources </li> <li><a href="https://github.com/keycloak/keycloak/issues/46556">#&#8203;46556</a> For MSSQL Server, set `sendStringParametersAsUnicode` to `false` by default <code>storage</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46557">#&#8203;46557</a> Keycloak should check the Unicode setup of the database on startup </li> <li><a href="https://github.com/keycloak/keycloak/issues/46603">#&#8203;46603</a> Add Database CLI options for TLS encryption for databases </li> <li><a href="https://github.com/keycloak/keycloak/issues/46617">#&#8203;46617</a> MCP Documentation for 26.6 </li> <li><a href="https://github.com/keycloak/keycloak/issues/46626">#&#8203;46626</a> Allow to configure Client Assertion max expiration for Kubernetes Identity Provider </li> <li><a href="https://github.com/keycloak/keycloak/issues/46627">#&#8203;46627</a> Allow to configure Client Assertion max expiration for OIDC Identity Provider </li> <li><a href="https://github.com/keycloak/keycloak/issues/46657">#&#8203;46657</a> Passwords containing `$$` or `${` patterns are mangled when set via environment variables (SmallRye expression evaluation) <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46671">#&#8203;46671</a> Allow custom timeouts in DBLockProvider </li> <li><a href="https://github.com/keycloak/keycloak/issues/46689">#&#8203;46689</a> Remove user input reflection in Token Introspection error responses <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46693">#&#8203;46693</a> Group-level deny policies do not block `manage-group-membership` on group members <code>admin/fine-grained-permissions</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46699">#&#8203;46699</a> CIMD - Performance: Avoid repeated convertContentFilledList() in verifyUri() </li> <li><a href="https://github.com/keycloak/keycloak/issues/46701">#&#8203;46701</a> CIMD - Performance: Single-pass HTTP Cache-Control header lookup </li> <li><a href="https://github.com/keycloak/keycloak/issues/46703">#&#8203;46703</a> CIMD - Performance: Eliminate double URI parsing in ClientIdUriSchemeCondition.applyPolicy() </li> <li><a href="https://github.com/keycloak/keycloak/issues/46708">#&#8203;46708</a> CIMD - Performance: Avoid streaming the directive list multipul times </li> <li><a href="https://github.com/keycloak/keycloak/issues/46711">#&#8203;46711</a> Upgrade to Quarkus 3.32.1 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46728">#&#8203;46728</a> Use quarkus properties ahead of keycloak defaults or map from values </li> <li><a href="https://github.com/keycloak/keycloak/issues/46757">#&#8203;46757</a> Upgrade to jackson-core 2.21.1 </li> <li><a href="https://github.com/keycloak/keycloak/issues/46765">#&#8203;46765</a> Adding missing question mark </li> <li><a href="https://github.com/keycloak/keycloak/issues/46781">#&#8203;46781</a> IdP alias is not clickable in organization's Identity Providers tab <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46796">#&#8203;46796</a> Document that export is not a backup </li> <li><a href="https://github.com/keycloak/keycloak/issues/46809">#&#8203;46809</a> Set a default connection timeout for all databases types </li> <li><a href="https://github.com/keycloak/keycloak/issues/46872">#&#8203;46872</a> Be more explicit on how to enable OTel Logs and Metrics in Operator <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46874">#&#8203;46874</a> Be more explicit in using the OTel Logs level <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46890">#&#8203;46890</a> Upgrade to Quarkus 3.32.2 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46936">#&#8203;46936</a> Reduce tightly coupling between client policy contexts and conditions/executors <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46964">#&#8203;46964</a> Adding more Hungarian translations </li> <li><a href="https://github.com/keycloak/keycloak/issues/46972">#&#8203;46972</a> Clarify credentials field availability in GET /admin/realms/{realm}/users documentation </li> <li><a href="https://github.com/keycloak/keycloak/issues/47038">#&#8203;47038</a> Translation support for UI theme descriptions <code>translations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47081">#&#8203;47081</a> Upgrade to Quarkus 3.32.3 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47130">#&#8203;47130</a> Upgrade to Quarkus 3.33.0.CR1 <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47140">#&#8203;47140</a> Add CLI option for database connection timeout and provide it into quarkus.datasource.jdbc.login-timeout </li> <li><a href="https://github.com/keycloak/keycloak/issues/47146">#&#8203;47146</a> Keycloak: no native option to customize JSON log service.name and service.environment fields <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47163">#&#8203;47163</a> Enhancement: Password denylist file changes should not require server restart </li> <li><a href="https://github.com/keycloak/keycloak/issues/47187">#&#8203;47187</a> Asynchronous server initialization </li> <li><a href="https://github.com/keycloak/keycloak/issues/47229">#&#8203;47229</a> Identity Provider redirection via kc_idp_hint in Pushed Authorization Request <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47416">#&#8203;47416</a> Async startup doesn't be enabled when the health check is not enabled </li> <li><a href="https://github.com/keycloak/keycloak/issues/47535">#&#8203;47535</a> Polishing CNPG installation docs </li> <li><a href="https://github.com/keycloak/keycloak/issues/47667">#&#8203;47667</a> Update release-notes for CIMD </li> </ul> <h3>Bugs</h3> <ul> <li><a href="https://github.com/keycloak/keycloak/issues/22569">#&#8203;22569</a> Provide descriptions for default realm-management roles <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/26946">#&#8203;26946</a> Multiple protocolMappers with the same name. <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/28970">#&#8203;28970</a> Documention about the default db-schema is ambiguous <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/36593">#&#8203;36593</a> Built-in authentication flows are not updated for KC 26 <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/37231">#&#8203;37231</a> Set New Password Multiple Times via Password Reset Function <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/38991">#&#8203;38991</a> [Test framework] Embedded server -> dependency download error when no version is specified <code>test-framework</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/39127">#&#8203;39127</a> Incorrect return code with JWT algorithm set to none <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/40510">#&#8203;40510</a> Organization flow do not redirect when credentials exist <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/40753">#&#8203;40753</a> Resource leak: FileInputStream in Util.readProperties(File) is never closed .SAST <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/40921">#&#8203;40921</a> Reject invalid resource IDs in permission creation </li> <li><a href="https://github.com/keycloak/keycloak/issues/41165">#&#8203;41165</a> Feishu login has been continuously failing as an identity provider <code>identity-brokering</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/41630">#&#8203;41630</a> Warning log message SRCFG01008: The value default has been converted by a Boolean Converter to "false" <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/41924">#&#8203;41924</a> Internal server error after changing Admin UI theme to "base" - An old, persisted problem <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/42222">#&#8203;42222</a> Federation Cache Policy details not shown when editing provider in Keycloak 26.3+ <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/42836">#&#8203;42836</a> Organization selection changes after token refresh <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/42839">#&#8203;42839</a> UserInfo endpoint returns incorrect organization claim <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43198">#&#8203;43198</a> Operator status patching of keycloak failed <code>operator</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43201">#&#8203;43201</a> entity mappings not working on 26.4 <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43356">#&#8203;43356</a> Keycloak tests framework - issue to identify distribution directory inside ZIP file when version string uses suffix <code>test-framework</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43613">#&#8203;43613</a> case insensitive match on organization identity provider domain - In case 'ANY' option is chosen <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43726">#&#8203;43726</a> Slow evaluation of client roles with dots for role mapper and others <code>identity-brokering</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43757">#&#8203;43757</a> Code Examples in Authentication SPI Documentation Don't Match Quickstarts Repository <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43854">#&#8203;43854</a> OID4VCI credentials have invalid subject id value <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43949">#&#8203;43949</a> MultivaluedString in mappers is not saved to backend with shown default value <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/43991">#&#8203;43991</a> Keycloak operator - Reconciliation failure <code>operator</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44099">#&#8203;44099</a> Out of memory after 3-4 restarts of embedded server <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44100">#&#8203;44100</a> Issue with starting server results in connection refused exception in test <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44132">#&#8203;44132</a> Bug -> Keycloak preview feature "scripts" is enabled by default <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44283">#&#8203;44283</a> Flaky test: org.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test06_addingUserToNewKeycloakGroup <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44403">#&#8203;44403</a> DCR endpoint ignores client's requested token_endpoint_auth_method <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44425">#&#8203;44425</a> [Keycloak JS CI] Admin UI E2E Firefox failure <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44498">#&#8203;44498</a> [quick-theme] Logo and Favicon problem <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44574">#&#8203;44574</a> Unable to find contextual data of type: org.keycloak.models.KeycloakSession <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44598">#&#8203;44598</a> SAML user created with null username when mapped attribute missing <code>saml</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44622">#&#8203;44622</a> OID4VCI functionality should be disabled for the realm when "Verified Credentials" switch is disabled <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44637">#&#8203;44637</a> Fail to import the realm with OID4VCI enabled <code>import-export</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44670">#&#8203;44670</a> CredentialEndpoint can be invoked with incorrect access token <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44678">#&#8203;44678</a> Inconsistent search when using wildcards <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44699">#&#8203;44699</a> Not able to find key for credential signature if client scope was saved from admin console <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44737">#&#8203;44737</a> CredentialRequest requires that client scope is assigned as 'Optional' <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44784">#&#8203;44784</a> link to reset-credentials ignores default locale AND ui_locales <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44803">#&#8203;44803</a> Unhandled IllegalArgumentException in SAMLRequestParser <code>saml</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44807">#&#8203;44807</a> [OID4VCI] Default values are not set for ClientScope <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44819">#&#8203;44819</a> Missing validation error label on UI when editing a user <code>user-profile</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44824">#&#8203;44824</a> Keycloak retains mapped firstName value and does not nullify it when upstream identity provider stops sending the claim <code>identity-brokering</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44875">#&#8203;44875</a> [OID4VCI] CredentialSignerException: Proof Type null is not supported for format ldp_vc <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44905">#&#8203;44905</a> Email is not updated based on upstream IdP email <code>identity-brokering</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/44961">#&#8203;44961</a> Authorization_details added to token-response even when should not be <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45005">#&#8203;45005</a> [OID4VCI] Revisit and fix /credential_offer_uri endpoint <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45058">#&#8203;45058</a> Base theme: "user properties" and "register" required mark is missing the required class <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45069">#&#8203;45069</a> Base theme: `login-config-totp`, `label`s have hardcoded `control-label` instead of `${properties.kcLabelClass!}` <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45160">#&#8203;45160</a> NullPointer when using JwsHeader.builder().withx5c(certificate) <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45162">#&#8203;45162</a> Missing icons in v2 keycloak login theme <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45163">#&#8203;45163</a> Guide refers to no longer existing Docker Registry <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45164">#&#8203;45164</a> Base theme: `login-config-totp`, buttons are not wrapped in a `kcFormGroupClass` <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45209">#&#8203;45209</a> [OID4VCI] Issuer metadata contains unwanted 'id' for credential_configurations_supported <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45219">#&#8203;45219</a> User REST Admin API - count and search returns different amount of users <code>account/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45227">#&#8203;45227</a> Accessibility: Improve authenticator selector for screen readers and keyboard navigation <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45252">#&#8203;45252</a> `.env.test` overrides values from environment <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45272">#&#8203;45272</a> EventOptionsTest failing due to missing verifiable_credential options <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45324">#&#8203;45324</a> Affirmative Aggregated Policies do not evaluate correctly for admin console <code>admin/fine-grained-permissions</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45385">#&#8203;45385</a> [OID4VCI] No key for id ... and algorithm ... available <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45406">#&#8203;45406</a> SearchDropdown clear button doesn't reset form fields, URI search broken <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45422">#&#8203;45422</a> Organizations login leaks IdP aliases when no Organization is resolved (IdP/tenant enumeration) <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45425">#&#8203;45425</a> OpenApiDistTest fails in CI <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45428">#&#8203;45428</a> Admin UI: Wrong redirect for permissions accessed via resource details <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45446">#&#8203;45446</a> [OID4VCI] Default value for vc.credential_build_config.hash_algorithm causes _sd_alg to be invalid due to case sensitivity <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45485">#&#8203;45485</a> [OID4VCI] Inconsistencies in well-known OID4VC metadata (Same metadata for all formats) <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45488">#&#8203;45488</a> Filename not being displayed during imports <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45501">#&#8203;45501</a> ConcurrentModificationException in KeycloakProcessor#configureProfile <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45519">#&#8203;45519</a> User profile Attribute multiselect inputType not working since 26.4.0 <code>user-profile</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45522">#&#8203;45522</a> LoggingDistTest.httpAccessLogNotNamedPattern is not stable <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45539">#&#8203;45539</a> Avoid using some blacklist/whitelist wording in UI and docs <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45561">#&#8203;45561</a> NPE in Authorization Evaluation when parentPolicy is null during concurrent authz deletes <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45564">#&#8203;45564</a> Wrong nesting of semaphore release handling in Argon2 hashing <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45586">#&#8203;45586</a> Missing help text in Admin UI for adding client policy conditions <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45587">#&#8203;45587</a> SecureClientUrisExecutor doesn't allow for "+" weborigin <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45606">#&#8203;45606</a> Document back channel request limitations <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45669">#&#8203;45669</a> Unable to resolve current project as a dependency to test framework server config <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45694">#&#8203;45694</a> Unvalidated URL Construction in ResourceAdminManager via Matrix Parameter Injection <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45724">#&#8203;45724</a> [OID4VCI] Inconsistencies in OID4VCI metadata related to cryptographic bindings and proofs <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45727">#&#8203;45727</a> Refactor `SessionsResource` for better memory usage and performance <code>infinispan</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45733">#&#8203;45733</a> Admin UI theme logo not displaying from theme properties <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45738">#&#8203;45738</a> clients-registrations/default GET endpoint does not rotate Registration Access Token as documented <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45740">#&#8203;45740</a> `client-access-type` condition in Client Policy does not trigger for token request events <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45747">#&#8203;45747</a> Confusing admin behavior when multiple IDPs in a realm have the same issuer URL <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45748">#&#8203;45748</a> [OID4VCI] OpenID4VCI User Attribute Mapper does not support nested claims <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45750">#&#8203;45750</a> Test framework doesn't stop running Keycloak instance if reuse is turned off <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45760">#&#8203;45760</a> Disabled organisation should not execute invitations <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45812">#&#8203;45812</a> ROPC: invalid_grant Error Response not RFC Compliant <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45818">#&#8203;45818</a> There is no save button on the TokenTab <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45829">#&#8203;45829</a> Useless warning logged when querying credentials for a user in a realm with password history enabled <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45859">#&#8203;45859</a> [OID4VCI] Duplicate processing of authorization_details from AuthorizationDetailsProcessorManager <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45875">#&#8203;45875</a> Workflows execution bypasses admin permission boundaries (manage-realm -> realm-admin) <code>workflows</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45877">#&#8203;45877</a> UiPageProvider components not filtered by implementation in the Admin UI <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45881">#&#8203;45881</a> Flaky test: org.keycloak.testsuite.oauth.OfflineTokenTest#offlineTokenBrowserFlow <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45888">#&#8203;45888</a> ServiceMonitor is not created due to missing fields <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45917">#&#8203;45917</a> LDAP mapper of type "group-ldap-mapper" does not expose "objectGUID" for group in GUID format <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45921">#&#8203;45921</a> `Config should not be initialized until profile is determined` throw from Maven using embedded Keycloak <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45922">#&#8203;45922</a> Flaky test: org.keycloak.testsuite.forms.LevelOfAssuranceFlowTest#optionalClaimNotReachedSucceeds <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45924">#&#8203;45924</a> Make sure disabled organization is ignored when re-authenticating <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45947">#&#8203;45947</a> Selecting condition type when creating a client policy is too wide <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45971">#&#8203;45971</a> Paths with spaces are not decoded when trying to discover providers JAR file <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45986">#&#8203;45986</a> [KEYCLOAK CI] - AuroraDB IT - Run Aurora new database tests on EC2 <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/45993">#&#8203;45993</a> [quarkus-next] Fix build failure due to missing build step ordering constraints <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46006">#&#8203;46006</a> JpaOrganizationProvider.searchGroupsByName ignores search parameter <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46009">#&#8203;46009</a> Client sessions pagination does not work <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46010">#&#8203;46010</a> Missing anti-ID phishing check for getting client <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46015">#&#8203;46015</a> Duplicate `{client-uuid}` path parameter in OpenAPI spec <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46040">#&#8203;46040</a> Assign realm users to organization <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46050">#&#8203;46050</a> AuthorizationServices should prevent org group ids for group policies <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46051">#&#8203;46051</a> [OIDC4VCI] - Types in JWT_VC <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46075">#&#8203;46075</a> [quarkus-next] Tests fail due to missing build step ordering constraint on disableHealthCheckBean <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46081">#&#8203;46081</a> [Keycloak JS CI] `fetchWithError` throwing `NetworkError` <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46084">#&#8203;46084</a> [quarkus-next] DatasourcesDistTest fails due to Quarkus stdout/stderr capture changes <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46089">#&#8203;46089</a> Deleting a resource on page 2 shows "No resources found" empty state while resources still exist in Authorization Resources tab <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46095">#&#8203;46095</a> [quarkus-next] configureResteasy() missing Quarkus build step dependency <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46110">#&#8203;46110</a> Distribution server sometimes uses wrong pid for started Keycloak server <code>test-framework</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46121">#&#8203;46121</a> Unable to initialize 'jakarta.el.ExpressionFactory' when starting the server in Quarkus' development mode <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46159">#&#8203;46159</a> Docs: authorization_services/topics/resource-server-default-config.adoc <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46160">#&#8203;46160</a> Keycloak from `quarkus/tests/junit5` doesn't throw exception when there's a startup failure <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46175">#&#8203;46175</a> AdminClient in MANAGED_REALM mode has bugs <code>test-framework</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46187">#&#8203;46187</a> [quarkus-next] Update error message for invalid duration in certificate reload test <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46192">#&#8203;46192</a> Checking non-converted FROM address when sending emails <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46193">#&#8203;46193</a> [UI Bug] Microsoft/OIDC IdP "Prompt" dropdown saves human-readable label instead of technical value <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46235">#&#8203;46235</a> Welcome screen URL is not correct with hostname set to url <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46297">#&#8203;46297</a> [OID4VCI] Attribute did should be added to user profile just if OID4VCI is enabled for the realm </li> <li><a href="https://github.com/keycloak/keycloak/issues/46314">#&#8203;46314</a> Bundle issue in account-ui <code>account/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46321">#&#8203;46321</a> [Keycloak CI] Azure and Aurora Migration tests failing <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46322">#&#8203;46322</a> [Keycloak CI] New database tests fail on Aurora and Azure <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46350">#&#8203;46350</a> The RestartLoginCookie does not allow for key rotation as it always uses the active key for verification <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46366">#&#8203;46366</a> Missing `parentId` in the GroupRepresentation of @&#8203;keycloak/keycloak-admin-client <code>admin/client-js</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46374">#&#8203;46374</a> [quick-theme] Background is not hot redeployed <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46384">#&#8203;46384</a> Resource selection not displayed in scope-based permission creation when resource is not in initial results <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46403">#&#8203;46403</a> Caching or role parsing should be realm specific <code>infinispan</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46413">#&#8203;46413</a> [Admin UI] User's organizations list is delayed/empty until an N+1 cascade of API calls completes <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46445">#&#8203;46445</a> Org Groups API does not return subGroupCount <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46454">#&#8203;46454</a> Organization groups not included in user's groups query. <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46455">#&#8203;46455</a> REST API doesn't allow moving org group to root <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46493">#&#8203;46493</a> show-config contains log related entries with null values <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46503">#&#8203;46503</a> Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportUSB <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46512">#&#8203;46512</a> Identity provider display names are not localized in Account Console <code>account/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46517">#&#8203;46517</a> Inconsistent authentication error ordering <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46542">#&#8203;46542</a> Update dynamic client scope timeout <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46571">#&#8203;46571</a> NPE when finding an org group by path when Organization feature disabled <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46579">#&#8203;46579</a> The PR not including arquillian integration tests does not pass GHA Testsuite Deprecation Check <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46606">#&#8203;46606</a> Admin Console Admin associated roles is not usable for a large number of realms <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46614">#&#8203;46614</a> Base theme template uses inline styles in delete-account-confirm.ftl <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46628">#&#8203;46628</a> When renaming the ClientPolicy, added conditions and profiles shouldn't disappear. <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46639">#&#8203;46639</a> [OID4VCI] Broken issuance due to errnoeous credential_identifier check <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46644">#&#8203;46644</a> Kiota fails silently when generation fails <code>admin/client-js</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46647">#&#8203;46647</a> Rfc9440 cert lookup should not treat exceeding the cert length as an error <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46658">#&#8203;46658</a> SCIM PUT endpoint allows resource modification via body ID override (IDOR) <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46667">#&#8203;46667</a> IntegrationTest sub class @&#8203;TestSetup called before super class <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46673">#&#8203;46673</a> Raise minimum maximum number of `poolMaxSize` as value 3 shown in Keycloak example leads to acquisition timeout after switch to JDBC Ping <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46695">#&#8203;46695</a> CIMD - Config Description Corrections: wildcard instead of regex <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46697">#&#8203;46697</a> CIMD - typos in comment lines <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46716">#&#8203;46716</a> UMA permission grant accepts expired ID token claim_token and issues RPT <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46717">#&#8203;46717</a> UMA permission grant accepts ID token issued to a different client <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46718">#&#8203;46718</a> UnsupportedOperationException in V1 Token Exchange Audience Validation (FGAPv2 Incompatibility) <code>token-exchange</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46738">#&#8203;46738</a> NullPointerException Crash in SessionCodeChecks When Client is Disabled During Authentication Flow <code>authentication</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46745">#&#8203;46745</a> Enhance network validation for SAML metadata descriptor URLs <code>saml</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46750">#&#8203;46750</a> OIDC error responses do not have no-cache headers set (at least not for the userinfo endpoint) <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46774">#&#8203;46774</a> Drawer splitter does not extend full page height in organization groups <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46775">#&#8203;46775</a> "Duplicate" function does not work correctly for organization groups <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46776">#&#8203;46776</a> Cannot select a group from search results in "Move to" dialog <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46777">#&#8203;46777</a> Organization group tree does not show expand toggles for groups with children <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46778">#&#8203;46778</a> Stale search results persist after clearing search in organization group tree <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46780">#&#8203;46780</a> Organization group tree search returns flat results instead of hierarchy <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46792">#&#8203;46792</a> Delete operation does not fire admin event v2 <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46808">#&#8203;46808</a> Mute noisy "Unable to decode token, payload not found." log <code>adapter/javascript</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46819">#&#8203;46819</a> ArrayIndexOutOfBoundsException in ArtifactBindingUtils when SAMLart parameter is too short </li> <li><a href="https://github.com/keycloak/keycloak/issues/46848">#&#8203;46848</a> NullPointerException in DPoPUtil <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46857">#&#8203;46857</a> Identity Provider mapper edit form loses ID and Name field values on save <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46860">#&#8203;46860</a> Cannot run /testsuite anymore - value of org.keycloak.common.Profile.getInstance() is null <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46861">#&#8203;46861</a> Metadata check: cacheEmbedded.configFile always incompatible because of path <code>infinispan</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46883">#&#8203;46883</a> Flaky test: org.keycloak.testsuite.model.infinispan.EmbeddedInfinispanSplitBrainTest#testLocalCacheClearedOnMergeEvent <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46933">#&#8203;46933</a> Client-scopes client policy condition not triggered during resource-owner-password-credentials grant request <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46969">#&#8203;46969</a> Authentication Failure with Mixed-Case Email Domain in Organizations <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/46997">#&#8203;46997</a> Privilege Escalation via silent group resolution fallback in Identity Provider mappers when linked to Organizations <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47002">#&#8203;47002</a> [quarkus-next] Prometheus rejects user event metrics with inconsistent tag keys <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47025">#&#8203;47025</a> createCurlContainer method implicitly depends on DockerHub <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47043">#&#8203;47043</a> Searching for organization groups with `populateHierarchy=true` exposes internal org group <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47045">#&#8203;47045</a> [OID4VCI] Credential definition must not contain `@context` when not using JSON-LD <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47047">#&#8203;47047</a> Unused message keys from console based logins <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47051">#&#8203;47051</a> Search for organization group membership ignores search param <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47055">#&#8203;47055</a> `Include sub-group users` button does not work for org groups <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47063">#&#8203;47063</a> NPE when regenerating client secret when client policy with client-updater-context exists <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47080">#&#8203;47080</a> Do not allow managing invitations if not an invitation of the current organization <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47084">#&#8203;47084</a> Missing output encoding for organization name in login error messages <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47085">#&#8203;47085</a> Pin actions/checkout by commit SHA in translation-notify.yml <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47108">#&#8203;47108</a> Org Groups children API does not return subGroupCount <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47110">#&#8203;47110</a> LDAP federation configuratation vendor dependent default values not visible in form <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47114">#&#8203;47114</a> ImmutableAttributeValidator doesn't lowercase emails when checking for changes <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47137">#&#8203;47137</a> Ensure org group membership checks the org the user is member of <code>organizations</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47139">#&#8203;47139</a> Performance regression when editing authentication flows after cherry-picking #&#8203;46654 (realm invalidation triggers expensive role reload) <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47157">#&#8203;47157</a> Composite client role mappings endpoint is slow and degrades under concurrency with many client roles <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47162">#&#8203;47162</a> 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( <code>token-exchange</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47164">#&#8203;47164</a> New test framework DisabledForServers annotation does not work <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47201">#&#8203;47201</a> Env var default gets cut of at {} replacement <code>login/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47203">#&#8203;47203</a> [OID4VCI] Small inconsistencies in some events <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47221">#&#8203;47221</a> Kiota generate client in calls github <code>admin/client-js</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47251">#&#8203;47251</a> [OID4VCI] Reduce log volume in CredentialScopeModelUtils <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47271">#&#8203;47271</a> Use of java.util.Random / Math.random() in OID4VC Nonce and Time Claim Generation <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47321">#&#8203;47321</a> [KEYCLOAK CI] - Account UI - unknown_error thrown by NetworkError <code>account/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47332">#&#8203;47332</a> Missing release notes entry for OpenTelemetry span attributes location change <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47379">#&#8203;47379</a> RetryConfig is ignored <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47398">#&#8203;47398</a> When adding a ClientProfile the Save button functionality is inconsistent <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47412">#&#8203;47412</a> Typos in docs: OpenTelementry <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47418">#&#8203;47418</a> Agroal: Login timeout should be smaller than acquisition timeout <code>dist/quarkus</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47427">#&#8203;47427</a> New link error in documentation to facebook <code>docs</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47444">#&#8203;47444</a> Inaccuracies in client federation documentation and tooltips <code>oidc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47452">#&#8203;47452</a> Deployed Javascript policy description not displayed in the Keycloak console <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47454">#&#8203;47454</a> Workflows editor uses proportional font instead of monospace <code>admin/ui</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47473">#&#8203;47473</a> [quarkus-next] Fix operator controller stalling after JOSDK 5.3.0 event filtering upgrade <code>operator</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47495">#&#8203;47495</a> JavaKeystoreKeyProvider generates a new random KID for symmetric keys (HMAC) on every restart or config change <code>authorization-services</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47536">#&#8203;47536</a> SCIM Authorization Bypass in User Group Management <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47544">#&#8203;47544</a> NullPointerException in OID4VCMapper when mapper configuration is missing or empty <code>oid4vc</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47572">#&#8203;47572</a> Possible NPE in DefaultKeycloakSession.getComponentProvider() <code>core</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47587">#&#8203;47587</a> [Operator CI] - Test remote - Waiting for more replicas timeout </li> <li><a href="https://github.com/keycloak/keycloak/issues/47646">#&#8203;47646</a> Both Clusterless and Volatile-Session suites contains reference to removed test file. <code>testsuite</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47675">#&#8203;47675</a> LDAP Federation: time of the password change is not being read correctly for "389 DS/RHDS" ldap backend <code>ldap</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47685">#&#8203;47685</a> NPE when using HttpClient and enabled tracing <code>observability</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47708">#&#8203;47708</a> Failing test testNoConfigNoServerShowsV2Hint on Windows <code>admin/api</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47720">#&#8203;47720</a> Release nightly build for API docs is broken <code>ci</code></li> <li><a href="https://github.com/keycloak/keycloak/issues/47753">#&#8203;47753</a> Decorating LDAP user profile throws NPE preventing login <code>ldap</code></li> </ul> </div> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjExMC42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Update dependency org.keycloak:keycloak-parent to v26.6.0
All checks were successful
/ Verify (push) Successful in 1m7s
/ Verify (pull_request) Successful in 1m11s
6ba9a269c6
renovate changed title from Update dependency org.keycloak:keycloak-parent to v26.6.0 to Update Keycloak packages to v26.6.0 2026-04-08 11:31:58 +02:00
renovate force-pushed renovate/keycloak-packages from 6ba9a269c6
All checks were successful
/ Verify (push) Successful in 1m7s
/ Verify (pull_request) Successful in 1m11s
to bcdf077c34
All checks were successful
/ Verify (push) Successful in 1m2s
/ Verify (pull_request) Successful in 1m2s
2026-04-08 11:31:58 +02:00
Compare
june force-pushed renovate/keycloak-packages from bcdf077c34
All checks were successful
/ Verify (push) Successful in 1m2s
/ Verify (pull_request) Successful in 1m2s
to 91554ec588
All checks were successful
/ Verify (pull_request) Successful in 1m2s
/ Verify (push) Successful in 1m44s
2026-04-11 20:41:20 +02:00
Compare
june merged commit 91554ec588 into main 2026-04-11 20:42:38 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
CCCHH/keycloak-attribute-endpoints-provider!14
No description provided.