Announcing Thorntail 2.3.0.Final

Thorntail 2.3.0.Final

It’s a new year, time for a new Thorntail release packed with features!

What’s New?

  • Upgrade to WildFly 15

  • Update to Java EE 8

  • MicroProfile 2.1 compliancy

  • Documentation improvements

  • Gradle improvements

Upgrade to WildFly 15

2.3.0.Final has been upgraded to WildFly 15. Many dependencies were updated to the newer versions, such as RestEasy 3.6.2, Hibernate 5.3.7, Weld 3.0.5 and Keycloak 4.8.1. Three new fractions were introduced: jaxrs-jsonb, jsonb and ee-security.

Update to Java EE 8

Thorntail 2.3.0.Final supports Java EE 8 as a result of the upgrade to WildFly 15.

JSON Binding (JSONB) API support according to JSR-367 is provided by new jaxrs-jsonb and jsonb fractions. These fractions can be used for JAX-RS and servlet endpoints respectively.

EE Security API support according to JSR-375 is provided by a new ee-security fraction. This fraction can be used for securing JAX-RS and servlet endpoints.

MicroProfile 2.1 Compliancy

Thorntail 2.3.0.Final is now MicroProfile 2.1 compliant after upgrading to the latest SmallRye artifacts.

Documentation improvements

Documentation has been further improved in 2.3.0.Final. A lot of content was mined and migrated from the legacy documentation.

Gradle improvements

Thorntail Gradle plugin is being continuously enhanced by Harsha Ramesh with it seeing more improvements in 2.3.0.Final.

Teiid and Camel fractions have been removed

WARNING: Breaking changes!

All Teiid and Camel fractions have been removed from Thorntail. It is expected that the Teiid and WildFly Camel projects will maintain and ship these fractions in the future.


Release notes for 2.3.0.Final are available here.


  • [THORN-747] Avoid serializing fractionDependencies in fraction-list.js (Done)

  • [THORN-1772] Update SmallRye FT to 1.1 (Done)

  • [THORN-2156] Decrypt JWE based on content in header (Done)

  • [THORN-2202] Proposal for JOSE fraction to read inline JWK string configuration (Done)


Feature Request

  • [THORN-914] Setting location for the flyway migration (Done)

  • [THORN-2194] Upgrade to Keycloak v4.5.0 (Done)

  • [THORN-2211] setting schema name for Flyway migration (Done)


  • [THORN-1342] How to use swarm with Infinispan 9? (Done)

  • [THORN-1781] JBoss Modules classes contained twice in Swarm uber JARs (Done)

  • [THORN-1839] Update Microprofile Fault tolerance impl to follow change in MP FT 1.1 TCK (Done)

  • [THORN-1936] Max Thread Not Honoured (Done)

  • [THORN-1996] 'swarm.deployment.KEY.web.login-config.realm-name' always set to 'ignored' (Done)

  • [THORN-2090] Arquillian: @Deployment fails when using arquillian 1.3.0.Final+ (Done)

  • [THORN-2176] bootstrap module shades dependencies (Done)

  • [THORN-2184] Switching from Thorntail microservice 2.0.0 to 2.2.0 breaks the application (Done)

  • [THORN-2190] MP OpenApi exposes info based on interfaces that are not used to expose endpoints (Done)

  • [THORN-2191] Thorntail app on Heroku with JVM metrics enabled (Done)

  • [THORN-2196] MicroProfile Fault Tolerance @Retry with timeout and @Fallback throws TimeoutException when retryTime is no longer than @Timeout (Done)

  • [THORN-2205] the "swarm.classpath" system property no longer works (Done)

  • [THORN-2209] MP-REST Client used in Fallback handler class is not CDI context aware. (Done)

  • [THORN-2214] Istio Circuit Breaker Booster - Multiple Workers Bug (Done)

  • [THORN-2229] AbstractMethodError when building using Maven 3.6.0 (Done)

  • [THORN-2262] Runner cannot access resolution-cache file for writing (Done)

  • [THORN-2276] Thorntail looking for file.ejb when it should be file.jar for type ejb (Done)

  • [THORN-2281] duplicate mappings for / (Done)

  • [THORN-2285] Thorntail jpa fraction seems to be causing ClassNotFoundException: org.wildfly.swarm.Swarm (Done)

  • [THORN-2302] MP Metrics: wrong unit scaling in Prometheus output (Done)


  • [THORN-1709] remove main()-using tests from testsuite-maven-plugin (Done)

  • [THORN-2128] Propose moving fractions and testsuites to a "contrib" repository (Done)

  • [THORN-2188] Blog on Migration from Spring Boot to MicroProfile/Thorntail (Done)

  • [THORN-2199] Minor improvements to the JOSE demo (Done)

  • [THORN-2203] update WildFly Config API to WildFly 14 (Done)

  • [THORN-2207] bump WildFly and related dependencies from 11.0.0.Final to 14.0.1.Final (Done)

  • [THORN-2210] Finalize the core/container WF14 upgrade (Done)

  • [THORN-2215] update default configuration of fractions to match WildFly 14 (Done)

  • [THORN-2217] investigate whether new fractions need to be created for new subsystems in WildFly 14 (Done)

  • [THORN-2218] InfinispanFraction does not work after upgrade to WF14 (Done)

  • [THORN-2219] update JBoss Modules and also our overrides (Done)

  • [THORN-2220] teach the fraction plugin about "special" modules (Done)

  • [THORN-2221] bump all other Config APIs to use WildFly Config API 1.5.x (Done)

  • [THORN-2225] create fraction for JSON-B (Done)

  • [THORN-2226] Review all WF14 comments before finalizing the WF14 upgrade (Done)

  • [THORN-2227] migrate MP Config from wildfly-extras/wildfly-microprofile-config to the subsystem directly inside WildFly (Done)

  • [THORN-2230] replace "swarm.arquillian.daemon.port" in all arquillian.xml-s by "thorntail.arquillian.daemon.port" (Done)

  • [THORN-2231] Create a jsonp fraction test (Done)

  • [THORN-2232] Remove Teiid and its related Fractions from main code repo of Thorntail (Done)

  • [THORN-2233] improve formatting of artifact sizes in the fraction plugin output (Done)

  • [THORN-2234] make sure the fraction plugin doesn’t modify the XML namespace in module.xml (Done)

  • [THORN-2235] make sure the fraction plugin fills in the version attribute of the <module> root element in module.xml (Done)

  • [THORN-2236] make sure the fraction plugin doesn’t fail when computing fraction size and artifacts are missing locally (Done)

  • [THORN-2237] required updates to the fraction plugin (Done)

  • [THORN-2238] improve error handling in the fraction plugin (Done)

  • [THORN-2239] Create a new ee-security fraction (Done)

  • [THORN-2240] Update Wildfly Config API to generate an ee-security subsystem code (Done)

  • [THORN-2241] fix build so that all artifacts are properly built and SNAPSHOTs don’t have to be downloaded when generating BOMs (Done)

  • [THORN-2249] make sure mvn clean install passes and there are no unexpected errors and warnings (Done)

  • [THORN-2250] make sure the standalone test suite passes and there are no unexpected errors and warnings (Done)

  • [THORN-2265] remove all usages of deprecated APIs after migration to WildFly 14 (Done)

  • [THORN-2269] the fraction plugin should allow sharing one module-rewrite.conf among multiple fractions (Done)

  • [THORN-2270] the fraction plugin should be able to remove an <artifact> from module.xml (Done)

  • [THORN-2271] add workaround for WFLY-11373 to our integration of SmallRye Fault Tolerance (Done)

  • [THORN-2272] fix how Infinispan caches are forced to be active (Done)

  • [THORN-2273] don’t let RESTEasy provide their own MicroProfile RestClient (Done)

  • [THORN-2275] make sure mvn clean install in the Examples passes and there are no unexpected errors and warnings (Done)

  • [THORN-2294] upgrade Keycloak to 4.8.1.Final (Done)

Library Upgrade

Component Upgrade


  • [THORN-2290] Clarify default datasource (Done)

  • [THORN-2292] Environment Variable usage doc missing (Done)

Breaking changes

  • [THORN-2232] Remove Teiid and its related Fractions from main code repo of 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:


  • Sergey Beryozkin

  • Ken Finnigan

  • Juan Gonzalez

  • Tomas Hofman

  • Michael Kotten

  • Martin Kouba

  • Ireneusz Pastusiak

  • Tomas Radej

  • Harsha Ramesh

  • Ramesh Reddy

  • Antoine Sabot-Durand

  • Stefan Sitani

  • MichaƂ Szynkiewicz

  • Ladislav Thon


  • Sergey Beryozkin

  • Ken Finnigan

  • Juan Gonzalez

  • Tomas Hofman

  • Harsha Ramesh

  • Ladislav Thon