Release notes and migration guide for 17 (#1403)

This commit is contained in:
Stian Thorgersen 2022-02-08 12:30:55 +01:00 committed by GitHub
parent 6fe1e55c53
commit 6809b3ea59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 9 deletions

View file

@ -4,22 +4,34 @@
The default Keycloak distribution is now based on Quarkus. The new distribution is faster, leaner, and a lot easier to configure!
We appreciate migrating from the WildFly distribution is not going to be straightforward for everyone, since how you start and configure Keycloak has radically changed. With that in mind, we will continue to support the WildFly distribution until June 2022.
We appreciate migrating from the WildFly distribution is not going to be straightforward for everyone, since how you start and configure Keycloak has radically changed. With that in mind we will continue to support the WildFly distribution until June 2022.
Check out the Upgrading Guide for more information on how to migrate from the WildFly distribution, as well as some minor changes you have to do to remain on the WildFly distribution for the time being.
For information on how to migrate to the new distribution check out the migration/migrating-to-quarkus[Quarkus Migration Guide].
== Quarkus distribution updates
A lot of effort went into polishing and improving the Quarkus distribution to make it as good as an experience as possible. A few highlights include:
* A new approach to documentation in form of server guides to help you install and configure Keycloak
* Upgraded Quarkus to 2.7.0.Final
* Configuration file is on longer Java specific, and aligns configuration keys with CLI arguments
* Clearer separation between `build options` and `runtime configuration`.
* `h2-mem` and `h2-file` databases renamed to `dev-mem` and `dev-file`.
* Simplified enabling and disabling features
* Custom, and unsupported, Quarkus configuration is done through `conf/quarkus.properties`.
* Ability to add custom Java Options via JAVA_OPTS_APPEND (thanks to https://github.com/dasniko[dasniko])
* Initial logging capabilities
* Initial support for Cross-DC
* User-defined profiles are no longer supported but using different configuration files to achieve the same goal
* Quickstarts updated to use the new distribution
== Other improvements
== Quarkus updated to 2.7.0.Final
=== Offline sessions lazy loaded
Keycloak distribution was upgraded to Quarkus 2.7.0.
The offline sessions are now lazily fetched from the database by default instead of preloading during the server startup.
To change the default behavior, see link:{adminguide_link}#offline-sessions-preloading[{adminguide_name}].
=== Improved User Search
{project_name} now supports a glob-like syntax for the user search when listing users in the Admin Console,
which allows for three different types of searches: prefix (`foo*` which became the default search), infix (`\*foo*`), and exact `"foo"`)
== Offline sessions lazy loaded
The offline sessions are now lazily fetched from the database by default instead of preloading during the server startup.
To change the default behavior, see link:{adminguide_link}#offline-sessions-preloading[{adminguide_name}].

View file

@ -1,3 +1,27 @@
= Default distribution is now powered by Quarkus
The default distribution of Keycloak is now powered by Quarkus, which brings a number of breaking changes to you configure Keycloak and deploy custom providers. For more information check out the migration/migrating-to-quarkus[Quarkus Migration Guide].
The WildFly distribution of Keycloak is now deprecated, with support ending June 2022. We recommend migrating to the Quarkus distribution as soon as possible. However, if you need to remain on the legacy WildFly distribution for some time, there are some changes to consider:
* Container images for the legacy distribution tags have changed. To use the legacy distribution use the tags `legacy` or `17.0.0-legacy`.
* Download on the website for the legacy distribution has changed to `keycloak-legacy-17.0.0.[zip|tar.gz]`.
If you encounter problems migrating to the Quarkus distribution, missing ability to configure something, or have general ideas and feedback, please open a discussion in https://github.com/keycloak/keycloak/discussions/categories/keycloak-x-quarkus-distribution[GitHub Discussions].
= Migrating from the preview Quarkus distribution
A number of things have changed since the preview Quarkus distribution was released in Keycloak 15.1.0. The ideal way to learn about what's changed is to check out the new https://www.keycloak.org/guides#server[Server guides]. In summary, the changes include:
* Container now published to `quay.io/keycloak/keycloak:latest` and `quay.io/keycloak/keycloak:17.0.0`
* Download on website renamed to `keycloak-17.0.0.[zip|tar.gz]`.
* `conf/keycloak.properties` changed to `conf/keycloak.conf`, which unifies configuration keys between the config file and CLI arguments.
* Clearer separation between `build options` and `runtime configuration`.
* Custom Quarkus configuration is done through `conf/quarkus.properties`.
* `h2-mem` and `h2-file` databases renamed to `dev-mem` and `dev-file`.
* Features are now enabled/disabled with `--features` and `--features-disabled` replacing the previous approach that had an separate config key for each feature.
* Runtime configuration can no longer be passed to `kc.[sh|bat] build` and is no longer persisted in the build
* Logging level and format is now configured with `--log-level` and `--log-format`, while in the past these had to be configured using unsupported Quarkus properties.
= Client Policies Migration : client-scopes
If you used a policy including client-scopes condition and edited JSON document directly, you will need to change the "scope" field name in a JSON document to "scopes".