Releases: dasniko/testcontainers-keycloak
2.5.0: Keycloak 21, Extensible Keycloak Container
What's Changed
- [#98] Add generics to the KeycloakContainer class by @nils-christian in #100
- Since a few versions, Keycloak Containers have moving tags with
major.minor
version. From now on, the defaults in this repository also are based on the moving tags. This means, that if you just use the defaults, you will use21.0
which is21.0.0
as of the time writing this note. If there will be a21.0.1
or any other21.0.x
release, you just have to pull a new Docker image with21.0
which then yields to most recent version. No update to this lib is needed.
Or, of course, you can still pin your desired version by specifying the concreteimagename:version
in the constructor.
New Contributors
- @nils-christian made their first contribution in #100
Full Changelog: 2.4.0...2.5.0
2.4.0: Keycloak 20, Caching & Mutual TLS
What's Changed
- enable Keycloak caching per default by @danielFesenmeyer in #86
- Add support for mutual tls configuration by @joshiste in #84
New Contributors
- @danielFesenmeyer made their first contribution in #86
- @joshiste made their first contribution in #84
Full Changelog: 2.3.0...2.4.0
Bump to Keycloak 19.0.0
2.3.0 [maven-release-plugin] copy for tag 2.3.0
2.2.2: Admin client connection with TLS
2.2.1.: Import of Realm files in subdirectories
2.2.0: Keycloak 18 Support
- upgrade Keycloak Docker image to 18.0.0
- using the again-available
--import-realm
option, thus removing the manual approach with the keycloak-admin-client, less code to maintain - use the
start-dev
mode again, as it makes no difference in using this compared to use all the other single commands and it's easier to maintain
2.1.2: Bug fixes / maintenance
- Don't rely on Maven directory when building temporary extension deployment (will enable usage with Gradle etc.).
- Don't try to re-import a realm when a container is reused.
- Use
Thread.currentThread().getContextClassLoader()
in certain cases for importing realm files (will be removed completely again, as soon Keycloak supports auto-import of realms again) - Upgrade to Keycloak 17.0.1
2.1.1: Revert RestEasy version changes
The dependency version changes in release 2.1.0 were wrong... blame on me!
This release revert these changes again.
2.1.0: Ability to add external libraries
Don't use this version!!! Use 2.1.1 instead!!!
Changes
The auto-build
flag is now used always, not matter if really needed or not.
This makes adding custom resources which need a build
before a lot easier.
The most use cases need a build
anyway, so this shouldn't matter that much.
Fixes
The Java Admin Client now uses RestEasy dependency versions aligned with the Keycloak runtime.
Before, this could lead to a version clash and exceptions during runtime, if you were using different versions in your tests.
New Features
It's now possible to add 3rd party libs, like e.g. further dependencies or other files, to your KeycloakContainer
/providers
folder with the new .withProviderLibsFrom(...)
method.
See README.md for further details and also a linked example for how to add dependencies from your maven pom.xml
Keycloak 17 support (Quarkus-based distribution)
Breaking Changes
- The new base image is the Quarkus-based distribution of Keycloak
This version branch WILL NOT work with legacy (Wildfly-based) Keycloak distributions! - if you used
withExtensionClassesFrom()
, you have to change it towithProviderClassesFrom()
method - the URL returned by
getAuthServerUrl()
now has a trailing/
, possibly you have to change the way you construct/concatenate your paths, you can adjust your custom context path with.withContextPath(...)
New Features
- the Keycloak admin client
org.keycloak:keycloak-admin-client
is now a transitive dependency of this library and can be used right out of the box by callingkeycloakContainer.getKeycloakAdminClient()
. - you can adjust your custom context path with
.withContextPath(...)
- additionally to TLS config with certificate and key file, you can now use a ready built Java keystore with
.useTlsKeystore(keystoreFilename, keystorePassword)
- you can enable/disable Keycloak features with
.withFeaturesEnabled(features...)
and.withFeaturesDisabled(features...)
Other Changes
- Java 11 is now the minimum Java version for development
- Testing with JUnit 5 support
- License changed to Apache License 2.0