Announcing Thorntail 2.6.0.Final

Thorntail 2.6.0.Final

A little early for the end-of-year festivities, but we still present you the best present we can: a new Thorntail release!

What’s New?

  • MicroProfile 3.2 support

  • WildFly 18 rebase

    • Red Hat Maven repository requirement

  • Keycloak 8 rebase

MicroProfile 3.2 support

Thorntail now implements MicroProfile 3.2 by including the latest SmallRye artifacts. These specifications have been updated to a new version:

  • Health Check 2.1

  • Metrics 2.2.1

Smaller updates have also been done to implementations of other MicroProfile specifications.

WildFly 18 rebase

Thorntail has been based on WildFly 15.0.1.Final since version 2.3.0.Final. With 2.6.0.Final, Thorntail is now based on WildFly 18.0.1.Final, bringing along a lot of improvements and bugfixes.

This means that we switched from the Java EE 8 spec artifacts to Jakarta EE 8 spec artifacts. For most of the Jakarta EE specifications, we still use the JBoss spec artifacts, just like WildFly. These JBoss spec artifacts have been aligned with Jakarta EE as well. Jakarta EE 8 spec artifacts are binary compatible with Java EE 8 spec artifacts, so no change to applications should be necessary.

Red Hat Maven repository requirement

WARNING: Breaking changes!

The Red Hat Maven repository has been added to the set of default Maven repositories Thorntail uses to download artifacts. This is because WildFly now uses some artifacts from that repository; see https://lists.jboss.org/pipermail/wildfly-dev/2019-August/006949.html for more details.

If you use a Maven repository proxy, such as Nexus, don’t forget to add https://maven.repository.redhat.com/ga/ to the list of proxied repositories.

Keycloak 8 rebase

Thorntail has been using Keycloak 4.8.3.Final since version 2.4.0.Final. With 2.6.0.Final, Thorntail now uses Keycloak 8.0.1, which is also based on WildFly 18.0.1.Final.

Other notable changes

One new fraction is present in this release: hibernate. This fraction is basically an equivalent of the jpa fraction, but it also transitively brings in the correct versions of Hibernate artifacts. If you need to use Hibernate-specific APIs, using this fraction is preferrable to managing Hibernate versions manually.

We have contributed to the Dekorate and Halkyon projects so that they support Thorntail better. If you use Kubernetes or OpenShift, be sure to check them out!

The swagger fraction now also generates swagger.yaml, in addition to swagger.json. Note that the swagger fraction is quite out of date; MicroProfile OpenAPI is most likely a better choice.

The scanner fraction can now be configured in project-defaults.yml. Previously, you had to resort to standalone.xml if you wanted to use the scanner fraction. Note that we specifically don’t recommend using scanner, because it only exposes the underlying WildFly subsystem and isn’t aware of anything that Thorntail does to the deployment.

Changelog

Release notes for 2.6.0.Final are available here.

Enhancement

  • [THORN-1975] remove generator inclusion/exclusion from Fabric8 Maven plugin config in boosters (Done)

  • [THORN-2447] generate config API for the scanner fraction (Done)

  • [THORN-2473] Equal signs (=) are not supported in system property values (Done)

  • [THORN-2488] MicroProfile 3.2 tests (Done)

Feature Request

  • [THORN-2026] Swagger fraction should create swagger.yaml file (Done)

  • [THORN-2346] Possibility to skip token signature verification in MP-JWT (Won’t Fix)

  • [THORN-2493] create "hibernate" fraction (Done)

Task

  • [THORN-2224] [Runner] reaching out to repository.jboss.org fails behind proxy (Done)

  • [THORN-2415] investigate the Halkyon operator (Done)

  • [THORN-2452] remove outdated parts of default logging.properties (Done)

  • [THORN-2453] version properties in pom.xml related to MicroProfile and SmallRye should be lexicographically ordered (Done)

  • [THORN-2455] investigate the Dekorate integration (Done)

  • [THORN-2457] update Guava and remove Netflix Guava module (Done)

  • [THORN-2458] align Apache HTTP Client versions with WildFly (Done)

  • [THORN-2470] update the AMQ booster to use the ejb-mdb fraction (Done)

  • [THORN-2472] Update Examples to support OpenShift 4 (Done)

  • [THORN-2475] update WildFly Config API to WildFly 18 (Done)

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

  • [THORN-2478] bump all other Config APIs to use the new WildFly Config API based on WildFly 18 (Done)

  • [THORN-2480] investigate whether there are new subsystems in WildFly 18 for which we’d need new fractions (Done)

  • [THORN-2481] remove usages of deprecated APIs after migration to WildFly 18 (Done)

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

  • [THORN-2483] investigate whether microprofile-config-wildfly needs any updates (Done)

  • [THORN-2496] modernize the Thorntail generator (Done)

  • [THORN-2500] improve wording around custom main deprecation (Done)

  • [THORN-2503] update the test for the Thorntail Maven plugin (Done)

  • [THORN-2504] Clean up MP JWT CDI code (Done)

  • [THORN-2505] Update to smallrye-jwt 2.0.10 (Done)

  • [THORN-2511] make sure the in-project test suite passes (Done)

  • [THORN-2515] review "TODO WF18" comments (Done)

  • [THORN-2516] add Red Hat Maven repository to the set of default repositories (Done)

Bug

  • [THORN-2303] Request with JWT Token without groups claim throws ResteasyViolationException (Cannot Reproduce)

  • [THORN-2323] After upgrade from 2018.5.0 Security Context is not working anymore (Cannot Reproduce)

  • [THORN-2354] wrong license headers in some files in the main codebase (Done)

  • [THORN-2445] old groupId org.wildfly.swarm.cli (Done)

  • [THORN-2448] the circuit breaker example uses MP RestClient wrongly (Done)

  • [THORN-2459] multiple SmallRye Config versions in uberjar, old one used at runtime (Done)

  • [THORN-2466] Resteasy does not use Jackson ObjectMapper from JacksonJsonProvider (Done)

  • [THORN-2492] Maven plugin ignores exclusions when creating wildfly-swarm-manifest.yaml (Done)

  • [THORN-2495] tests in cache booster fail if the JDG image needs to be downloaded first (Done)

  • [THORN-2498] Cannot import jboss-annotations-api_1.3_spec (Done)

  • [THORN-2507] Runner doesn’t work with Keycloak (Done)

  • [THORN-2508] jaxrs-jsonb fraction doesn’t bring in jaxrs-jsonp (Done)

  • [THORN-2512] the "web" fraction (and standalone server) doesn’t include JSON-B (Done)

  • [THORN-2513] testsuite-ejb-remote fails after update to WildFly 18 (Done)

Component Upgrade

  • [THORN-2446] bump all Config APIs to 1.8 (Done)

  • [THORN-2449] some OpenTracing libraries need to be updated (Done)

  • [THORN-2450] update jose4j to 0.6.5 (Done)

  • [THORN-2464] update to latest SmallRye releases (except Config, which should be downgraded to 1.3.6) (Done)

  • [THORN-2467] Update to smallrye-jwt 2.0.3 (Done)

  • [THORN-2468] update to SmallRye Fault Tolerance 2.0.12 (Done)

  • [THORN-2469] update to RESTEasy 3.9.0.Final (Done)

  • [THORN-2476] bump WildFly and related dependencies from 15.0.1.Final to 18.0.1.Final (Done)

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

  • [THORN-2489] Health Check 2.1 (Done)

  • [THORN-2490] Metrics 2.2.1 (Done)

  • [THORN-2491] update to MicroProfile Fault Tolerance 2.0.2 and corresponding SmallRye Fault Tolerance (Done)

  • [THORN-2497] Update jsf-impl in JSF fraction (Done)

  • [THORN-2506] move from Java EE spec artifacts to Jakarta artifacts (Done)

  • [THORN-2510] update Jandex and Jackson in the fraction plugin (Done)

  • [THORN-2514] update to Keycloak 8 (Done)

  • [THORN-2518] update to MicroProfile RestClient 1.3.4 (Done)

  • [THORN-2519] update to SmallRye OpenAPI 1.1.20 (Done)

  • [THORN-2520] update to Keycloak 8.0.1 (Done)

Documentation

  • [THORN-2460] thorntail.classpath system property can be used also for uberjars (Done)

  • [THORN-2494] Provide minimal documentation for io.thorntail:cli fraction (Done)

Epic

Breaking changes

  • [THORN-2516] add Red Hat Maven repository to the set of default repositories

Thank you, Contributors!

We appreciate all of our contributors since the last release:

Core

  • Sergey Beryozkin

  • George Gastaldi

  • Markus Heberling

  • Mari├ín Macik

  • Scott Marlow

  • Sam Olsen

  • Thomas Petit

  • Harsha Ramesh

  • Michal Szynkiewicz

  • Ladislav Thon

Examples

  • Harsha Ramesh

  • Ladislav Thon