Announcing Thorntail 2.2.1.Final

Thorntail 2.2.1.Final

Winter is coming, at least in the Northern Hemisphere, but we can stay warm with another Thorntail release! Say "hello" to Thorntail 2.2.1.Final!

What’s New?

For those of you who like to start your app from the IDE, this release brings a brand new Thorntail Runner. To use it, just add the io.thorntail:thorntail-runner:2.2.1.Final dependency to your pom.xml and run the Runner class from your IDE. Please note that only war packaging is supported. The Runner class javadoc describes the available system properties to configure the execution.

This release also contains several bugfixes from different areas of the product, such as MicroProfile Config, MicroProfile RestClient or the topology-openshift fraction.

Two new HowTos have been added: how to expose application metrics using MicroProfile Metrics and Prometheus, and how to do distributed tracing with MicroProfile OpenTracing and Jaeger.

There were other improvements around dependencies in some fractions.

@CreateSwarm is deprecated

WARNING: Breaking changes!

@CreateSwarm annotation is now deprecated and shouldn’t be used anymore.

Config keys breaking changes

WARNING: Breaking changes!

As an additional task on renaming from WildFly Swarm to Thorntail, all configuration keys had been renamed from swarm.x.y to thorntail.x.y. The configuration system will still accept the old swarm names. However, the old swarm prefix no longer works for certain system properties. See THORN-2205 for more details. It is recommended to change all occurences of -Dswarm. in all Thorntail invocations, including the Thorntail Maven plugin, to -Dthorntail.


Release notes for 2.2.1.Final are available here.


  • [THORN-1753] At least one example README is out of date - may be others (Done)

  • [THORN-1830] arquillian ignores swarm.http.port setting in project-defaults.yml (Done)

  • [THORN-1890] Unable to Launch With OpenAPI Fraction using from IDE (Done)

  • [THORN-1982] microprofile-restclient Start Exception with ConfigProviderResolver (Done)

  • [THORN-2025] Swagger fraction does not respect pretty_print setting (Done)

  • [THORN-2125] MP Config TCK keeps failing (Done)

  • [THORN-2160] JOSE encrypt does not produce JWE Header with 'kid' (Done)

  • [THORN-2165] topology-openshift doesn’t work since THORN-1647 (Done)

  • [THORN-2166] topology-openshift doesn’t work in OpenShift 3.10 (Done)

  • [THORN-2168] the "uberjar" profile in Examples no longer works (Done)

  • [THORN-2171] microprofile-health fraction has a dependency on health-api (Done)

  • [THORN-2172] Thorntail product build tests failing (Done)

  • [THORN-2175] Jaeger fraction throws RuntimeException for SamplingStrategyResponse (Done)

  • [THORN-2178] FileSystemLayout will always use Maven layout if both pom.xml and build.gradle are present (Done)

  • [THORN-2180] useless dependency on microprofile-metrics-api in testsuite/microprofile-tcks/metrics (Done)

  • [THORN-2182] MP RestClient doesn’t close response on failure to parse entity (Done)

  • [THORN-2192] ConfigMap booster uses @CreateSwarm (Done)

  • [THORN-2195] Injection of RestClient into @Health bean fails with java.lang.IllegalStateException (Done)

  • [THORN-2198] JSF: Global error page from shared lib is not found in the IDE (IntelliJ) (Duplicate Issue)

  • [THORN-2204] non-deterministic module.xml lookup in product with certified fractions (Done)


  • [THORN-2111] remove the wildfly-swarm-enforcer-pattern-size configurations from Thorntail build (Done)

  • [THORN-2129] Thorntail website (Done)

  • [THORN-2149] Minor updates to the bom pom (Done)

  • [THORN-2157] make sure we document breaking changes in release announcements (Done)

  • [THORN-2162] Module and dependency updates to improve the PME alignment process (Done)

  • [THORN-2174] Bump jaeger client version to 0.30.6 (Done)

  • [THORN-2181] formally deprecate @CreateSwarm and remove its usage from the tests (Done)

  • [THORN-2183] remove usage of @CreateSwarm in MP JWT tests (Done)

  • [THORN-2185] Changing configuration keys from swarm to thorntail (Done)


  • [THORN-2121] HowTo for using MP OpenTracing and Jaeger (Done)

  • [THORN-2122] HowTo for using MP Metrics to provide data to Prometheus (Done)


  • [THORN-2163] don’t use fraction-list.txt to generate bom-certified (Done)

  • [THORN-2169] unify wildfly-swarm.useUberJar with the rest of the project (Done)

Library Upgrade

  • [THORN-2177] Update MVC-Fraction to 1.0-PFD (Done)

Component Upgrade

  • [THORN-2193] Upgrade smallrye-fault-tolerance to 1.0.4 (Done)

Breaking changes

  • [THORN-2181] formally deprecate @CreateSwarm and remove its usage from the tests

  • [THORN-2185] Changing configuration keys from swarm to thorntail


Per usual, we tend to hang out on in #thorntail.

All bug and feature-tracking is kept in JIRA.

Documentation for this release is available:

Thank you, Contributors!

We appreciate all of our contributors since the last release:


  • John Alström

  • Sergey Beryozkin

  • Ken Finnigan

  • Juan Gonzalez

  • Martin Kouba

  • Pavol Loffay

  • Matej Novotny

  • Harsha R

  • Tomas Radej

  • Harsha Ramesh

  • Ruben Romero Montes

  • Michał Szynkiewicz

  • Ladislav Thon

  • Gregor Tudan