Announcing Thorntail 2.0.0.Final
Thorntail 2.0.0.Final
The new name of WildFly Swarm is Thorntail! Enjoy the freedom of flying high like a Thorntail bird!
What’s New?
-
Did we say we have a new name? Thorntail!
-
Migration Tips
-
CDI Interceptor support for MicroProfile REST Client
New Name - Thorntail!
Yes we finally completed the migration and can provide a release of Thorntail!
As part of the name change we have left the YYYY.MM.VV
versioning scheme in the past,
switching to the more sensible major.minor.micro
versioning.
This will make it easier to represent stability and large changes in the version number alone.
Migration Notes
Migration from WildFly Swarm 2018.5.0 to Thorntail 2.0.0.Final is straightforward. Packages, class names, the set of artifacts and configuration properties did not change. Therefore, you will most likely only need to change the project build configuration.
TL;DR
-
groupId
of all artifacts now starts withio.thorntail
prefix, replacing the previous value oforg.wildfly.swarm
-
The Maven plugin also has a new
artifactId
:thorntail-maven-plugin
-
The suffix of generated uberjars and hollow JARs has changed to
-thorntail.jar
,
Five Steps to Migrate Your Maven Project
-
Change
groupId
and version of the BOM:<dependency> <groupId>io.thorntail</groupId> <artifactId>bom</artifactId> <version>2.0.0.Final</version> </dependency>
-
Change the
groupId
of each built-in fraction toio.thorntail
, for example:<!-- BEFORE --> <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>jaxrs</artifactId> </dependency> <!-- AFTER --> <dependency> <groupId>io.thorntail</groupId> <artifactId>jaxrs</artifactId> </dependency>
-
Change
groupId
andartifactId
of the Maven plugin:<!-- BEFORE --> <plugin> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-plugin</artifactId> </plugin> <!-- AFTER --> <plugin> <groupId>io.thorntail</groupId> <artifactId>thorntail-maven-plugin</artifactId> </plugin>
-
The suffix of a generated uberjar has changed to
-thorntail.jar
so don’t forget to change the command used to run your app, for example:java -jar target/myexample-1.0.0-thorntail.jar
-
The Maven plugin name has changed, so if you invoke it from command line, don’t forget to use the new name as well:
mvn thorntail:start
Fabric8 Maven plugin changes
If you use the Fabric8 Maven plugin to deploy your application to Kubernetes / OpenShift, you need to update to 3.5.40. This is the first version that supports Thorntail v2. The feature set is identical to the Fabric8 Maven plugin support for WildFly Swarm. Here’s a summary of names that you need to change if you refer to them directly:
Fabric8 Maven plugin concept | WildFly Swarm | Thorntail v2 |
---|---|---|
Docker image generator |
|
|
Health check enricher name |
|
|
Reference to health check enricher in |
|
|
CDI Interceptor support for MicroProfile REST Client
We’ve added a non portable feature to MP REST Client that enables CDI Interceptors to be used on REST Client methods.
Full details on the feature and how it works can be found here.
Changelog
Release notes for 2.0.0.Final are available here.
Bug
-
[THORN-1473] Shrinkwrap High Memory Usage on Startup (Done)
-
[THORN-1774] Wildfly Swarm Security Constraints configured in YAML behave different than in WEB.XML (Done)
-
[THORN-2015] old version of org.wildfly.swarm:config-api-runtime gets pulled in transitively in certain situations (Done)
-
[THORN-2021] Dependencies from a Dependency Tree are not in the classpath (Done)
-
[THORN-2050] MP metrics: can’t inject MetricRegistry for the Base and Vendor scopes (Done)
-
[THORN-2051] MP metrics: MetricRegistry.getTimers and similar methods don’t filter by type, leading to ClassCastExceptions (Done)
-
[THORN-2053] MP Metrics API module does not declare a dependency on javax.enterprise.api (Done)
-
[THORN-2082] Thorntail Maven plugin uses wrong classifier name for packaging and multistart (Done)
Task
-
[THORN-1691] MP OpenTracing impl (Done)
-
[THORN-1942] Avoid releasing microprofile-tcks to accelerate and also minimize the risk of failing the release process (Done)
-
[THORN-2005] Support configuring multiple Keycloak realms (Done)
-
[THORN-2020] add the "jaeger" fraction to the supported profile (Done)
-
[THORN-2030] MicroProfile Rest Client - CDI interceptors support (Done)
-
[THORN-2031] Project Rename and Migration (Done)
-
[THORN-2035] Document MP Rest Client CDI interceptors support (Done)
-
[THORN-2039] Create Keycloak Multitenancy demo (Done)
-
[THORN-2048] Project rename - fabric8-maven-plugin updates (Done)
-
[THORN-2055] Reflect project rename and migration in examples (Done)
-
[THORN-2056] Rename pre-built hollow JARs (Done)
-
[THORN-2057] Project rename and migration - deep docs review (Done)
-
[THORN-2058] Project rename - change the uberjar suffix (Done)
-
[THORN-2059] Custom KeyCloak theme modules can not be loaded (Done)
-
[THORN-2060] Project Rename - replace "WildFly Swarm" in log messages (Done)
-
[THORN-2084] Investigate if the audit file can be set up at the elytron config level and do not auto-create it if yes (Done)
Library Upgrade
-
[THORN-1939] Update keycloak dependency to 3.4.3.Final (Done)
Feature Request
-
[THORN-2027] MP FT - activate CDI request context during @Asynchronous method invocation (Done)
Enhancement
-
[THORN-2036] Add autodetect to MicroProfile Metrics, OpenApi and RestClient (Done)
-
[THORN-2038] Keycloak Multitenancy resolver should use 'startsWith' or regex instead of 'equals' checks (Done)
-
[THORN-2041] Add support for Keycloak for Teiid OData web application (Done)
-
[THORN-2068] MicroProfile Metrics - support MicroProfile Rest Client proxies interception (Done)
Resources
Per usual, we tend to hang out on irc.freenode.net
in #thorntail
.
All bug and feature-tracking is kept in JIRA.
Examples are available in https://github.com/thorntail/thorntail-examples/tree/2.0.0.Final
Documentation for this release is available:
Thank you, Contributors!
We appreciate all of our contributors since the last release:
Examples
-
Sergey Beryozkin
-
Martin Kouba
-
Antoine Sabot-Durand
-
Michal Szynkiewicz
Core
-
Sergey Beryozkin
-
Ken Finnigan
-
George Gastaldi
-
Martin Kouba
-
Phillip Kruger
-
Pavol Loffay
-
Sam McCollum
-
Bob McWhirter
-
Tomas Radej
-
Ramesh Reddy
-
Antoine Sabot-Durand
-
Dennis Schwarz
-
MichaĆ Szynkiewicz
-
Ladislav Thon