WildFly 42 is released!

I’m happy to announce that the new WildFly and WildFly Preview 42.0.0.Final releases are available for download at https://wildfly.org/downloads. The Galleon feature-packs for WildFly 42 are available in Maven Central.

Note

For the 40 and 41 releases, we produced a third WildFly variant, WildFly EE 10. That was meant to be a temporary addition to the set of WildFly variants, to give our users more time to migrate to EE 11 following our move to EE 11 in our other WildFly variants. As planned, with the 42 release we have discontinued the WildFly EE 10 variant.

New and Notable

The 42 release includes a number of new things:

  • We now support use of virtual threads in Jakarta Concurrency resources.

  • Configuration of idle-time-based eviction for distributable HttpSessions, SFSBs, and EJB timers has been promoted to default stability.

  • You can now optionally transform the Principal obtained from a JWT when using a token-realm by configuring use of a principal transformer, such as a case-principal-transformer, before the Principal is passed to the application being secured. This is provided at community stability.

  • We’ve also unveiled major progress on SBOM generation. A WildFly installation now includes a sbom.cdx.json.gz file at the root of the installation that provides CycloneDX format information about the software present in the installation. This file is produced by our Galleon provisioning tooling as part of provisioning the installation. For users who use our tooling to provision slimmed servers, its contents are limited to what was actually provisioned, excluding artifacts that are present in a complete WildFly installation but are not in your slimmed installation.

Note

The SBOM feature will undergo further development in future releases, and the format of the SBOM file will continue to evolve. Your input on this feature is most welcome.

We also updated a wide range of dependencies, improving performance, stability, and security. A large number of these upgrades addressed security vulnerabilities. For more on those, please see the WildFly 42 and WildFly Core 34 release notes.

Supported Specifications

Jakarta

Standard WildFly 42 supports the EE 11 Platform as well as the Web Profile and the Core Profile. WildFly is EE 11 Platform, Web Profile and Core Profile compatible when running on Java SE 17 and Java SE 21.

Evidence demonstrating our compatibility is available in the WildFly Certifications repository on GitHub:

Specification Compatibility Evidence

EE 11 Full Platform

SE 17

SE 21

EE 11 Web Profile

SE 17

SE 21

EE 11 Core Profile

SE 17

SE 21

MicroProfile

WildFly 42 supports the MicroProfile Platform 7.1 specifications, along with several other MicroProfile specifications that are not part of the MicroProfile Platform. The full listing is available in the Getting Started Guide.

This includes a MicroProfile Config 3.1 implementation, but WildFly 42 does not claim to be a compatible implementation of it, pending resolution of TCK Challenge #823. Because we do not claim MicroProfile Config 3.1 compatibility, we also do not claim overall MicroProfile 7.1 compatibility.

For the MicroProfile 7.1 specifications where WildFly 42 is compatible, compatibility evidence can be found in the WildFly Certifications repository on GitHub.

WildFly Preview

With the 42 release, WildFly Preview has taken its first steps toward implementing the upcoming EE 12 specifications. WildFly Preview now provides:

WildFly Preview 42 implements the same version of other standards as standard WildFly.

Important

The WildFly project makes no claims about the compatibility of WildFly Preview with the Jakarta and MicroProfile specifications it implements.

Java SE Support

Our recommendation is that you run WildFly and WildFly Preview 42 on Java SE 25, since that is the latest LTS JDK release.

Note

We do not claim to be compatible with EE 11 on SE 25. We are satisfied with what we see when running the TCKs on SE 25, so we are comfortable making SE 25 our recommended SE version for standard WildFly 42. However, if running WildFly on an SE version where it passes the EE TCKs is important to you, we suggest using SE 21 or 17.

Both WildFly 42 variants — standard WildFly and WildFly Preview — are heavily tested and run well on Java 25, 21 and 17. Our recommendation of a later SE version over SE 21 or SE 17 is solely because as a general principle we recommend being on later LTS releases, not because of any problems with WildFly on the other supported LTS versions.

While we recommend using LTS releases outside of development environments, we believe WildFly runs well on SE 27, which is the most recent non-LTS release, released in September. By runs well, I mean the main WildFly nightly testsuite jobs produce results equivalent to what we see with SE 17, SE 21 and SE 25. We want developers who are trying to evaluate what SE 27 means for their applications to be able to look to WildFly as a useful development platform.

Please note that WildFly runs in classpath mode.

Warning

The WildFly project plans to move its baseline Java SE version to SE 21 for next spring’s WildFly 44 release. This means the upcoming WildFly 43.0.0.Final release (and any micros based on it) will be the last releases that will run on SE 17. We recommend that users on SE 17 migrate their workloads to SE 21 or 25.

Behavioral Changes

There are some behavioral changes in WildFly 42 that may affect some users:

  • WildFly 42’s jgroups subsystem will log WARN messages if JGroups channels are started without protocols in their protocol stack that provide authentication (e.g. AUTH) and encryption (e.g. ASYM_ENCRYPT or SYM_ENCRYPT). Use of authentication and encryption protocols is an important step in ensuring intra-cluster communications are secure. WildFly’s out-of-the-box configurations do not include these protocols, because their use requires installation-specific settings. In the future we may choose to require these protocols to be present and to accept that our out-of-the-box HA configurations will not be able to boot unmodified.

  • The Eclipse Yasson project that WildFly uses internally and includes in our user boms changed its Maven groupId from org.eclipse to org.eclipse.yasson in their 3.0.5 release. They set up Maven redirects, so resolution using the old groupId should still work.

New and Noteworthy Contributors

WildFly gets great contributions from so many people. Time to thank a few of them!

Release Notes

The full WildFly 42 release notes are available in GitHub. Issues fixed in the underlying WildFly Core 34.0.0 release are listed in the WildFly Core JIRA.

Please try it out and give us your feedback, in the WildFly google group, Zulip or JIRA.

Best regards,

Brian