Articles on: Frequently Asked Questions

How are Keycloak version upgrade handled at Cloud-IAM

One of the key of security, is to keep the software up-to-date to avoid exploit of known issues.
The team is responsible of keeping the underlying infrastructure secured and up to date.

Cloud-IAM follows the Keycloak release cycle and keeps your deployments up-to-date.
Every time Keycloak releases a new version, our QA team check that the new version is fully functional with all our processes.
Once ready, the new version is available to our customer.

Steps



As minor versions are usually bug or security fixes, minor version upgrades without impact are applied without notice by the Cloud-IAM support team.
Those upgrades are seamless in the end-user point of view.

To help the diagnose in case an upgrade introduced an issue with your deployment, the deployment can only be upgraded one major version at a time.

How are planned the upgrades



Little Lemur plans (Free)



For freemium, the instance is shared across multiple deployments.
The servers are upgraded without notice.

Dedicated plans



For dedicated plans, the upgrade are always planned with the customer.
Most of the time, the version upgrades are seamless, thanks to our deployment process 👌.

However, Keycloak versions are not always backward compatible.
In such cases, there is no other solution than stopping completely the cluster for a very few minutes.
The usual downtime is less than 5 minutes between the last node has been stopped, and the first has restarted.

Of course, the customers are noticed about theses impacts so the Cloud-IAM Ops team can schedule the migration at the best maintenance window.

Upgrade plan



To let the customers plan the upgrade and some internal qualification or development, the Cloud team publishes a schedule of the next versions deprecation.

VersionRelease dateDeprecation at Cloud-IAMRelease note
Keycloak 15.x WildflyAugust 2021end of January 2023link
Keycloak 16.x WildflyDecember 2021end of February 2023link
Keycloak 17.x WildflyFebruary 2022end of February 2023link
Keycloak 18.x WildflyApril 2022end of March 2023link
Keycloak 18.x QuarkusApril 2022end of June 2023link
Keycloak 19.x QuarkusAugust 2022end of September 2023link
Keycloak 20.xNovember 2022end of November 2023link
Keycloak 21.xApril 2023end of April 2024link


Customer are welcomed to ask the Cloud-IAM support team to upgrade to the latest versions without waiting for the deprecation deadline

Migration warnings



Migrating to 16.x Wildfly



This version is mostly related to Wildfly upgrade.
Nothing is related to the change of SPI in this version.

Migrating to 17.x Wildfly



This version is mostly related to the introduction of Quarkus.
Nothing is related to the change of SPI in this version.

Migrating to 18.x Wildfly



The deprecated upload-script feature was removed. This feature was deprecated for a long time and has finally been removed.

If you are using any of these capabilities:
- OpenID Connect Script Mapper
- Script Authenticator (Authentication Execution)
- JavaScript Policies

Then you should read this document to migrate the feature: https://www.keycloak.org/docs/latest/server_development/#_script_providers

The OpenID Connect Logout has also been reviewed and do not support anymore the redirect_uri parameter. Checkout the documentation to understand the new behavior.

Migrating to 18.x Quarkus



The core of Keycloak remain exactly the same between the Wildfly and the Quarkus version.
However, prior to Quarkus, it was possible to package custom extensions as ear or war and to upload them into Keycloak.
From this version, only jar can be uploaded and will deploy.

Cloud-IAM sets the KC_HTTP_RELATIVE_PATH=/auth environment variable to remain compatible with existing configuration

Migrating to 19.x



Several changes in the Keycloak SPI have been made. Check the changes described here.
The methods are deprecated but are meant to remain compatible for this version.

We encourage testing the extensions in a Keycloak v19.x Quarkus before upgrading to this version.

There has been a change with the /auth/realms/{{realm}}/protocol/openid-connect/userinfo endpoint to comply with RFC (changelog)
The error handling has been remodeled and, the most notable change is that if the token does not have the openid scope, the endpoint will return a 403.

HTTP/1.1 403 Forbidden
...
WWW-Authenticate: Bearer realm="my-realm", error="insufficient_scope", error_description="Missing openid scope"
...


Check if the applications are using this endpoint and ensure the scope of the tokens are properly configured.

Migrating to 20.x



Deprecated methods from the models were removed. Checkout the list of updated interfaces.

We encourage testing the extensions in a Keycloak v20.x Quarkus before upgrading to this version.

Migrating to 21.x



The old admin console is removed and could not be restored. Therefore, admin theme based on the old console won't work anymore.

Keycloak changed the metric collection library to micrometer. This has an impact on the Cloud-IAM metrics reported by deployment.
The change is not backward compatible because the metrics have be renamed according to the micrometer naming conventions.

Also note that the underlying libraries used to synchronize the Keycloak caches are not compatible. Therefore, the user sessions are lost during the upgrade and this implies the user have to reconnect after the migration.

From this version, the custom extensions can be compiled against Java 17.

Updated on: 25/05/2023

Was this article helpful?

Share your feedback

Cancel

Thank you!