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
defaultstability. -
You can now optionally transform the Principal obtained from a JWT when using a
token-realmby configuring use of a principal transformer, such as acase-principal-transformer, before the Principal is passed to the application being secured. This is provided atcommunitystability. -
We’ve also unveiled major progress on SBOM generation. A WildFly installation now includes a
sbom.cdx.json.gzfile 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 |
|
EE 11 Web Profile |
|
EE 11 Core Profile |
|
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:
-
The
3.1.0-M2milestone release of the upcoming Jakarta JSON Binding 3.1.
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
jgroupssubsystem 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_ENCRYPTorSYM_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.eclipsetoorg.eclipse.yassonin 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!
-
Two of my all-time favorites, Alexey Loubyansky and Jean-Francois Denise, did great work on the complex SBOM feature. Everything those two touch turns to gold.
-
Jose Luis Cruz Prieto stepped up to start us on the path to providing more easily discoverable information about what SE releases WildFly supports, and he’s looking to do more. Thank you for your first code contribution!
-
Ankit Kumar and Tarun Kumar Arcot made a number of nice improvements to our documentation (as did the tireless Rado Husar). Thank you, and congrats, Tarun, on your first code contribution!
-
Eduardo Martins drove our support for virtual threads in Jakarta Concurrency resources, and also did an update of all of our Quickstarts to use JUnit 6. Great job!
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
By Brian Stansberry
| October 22, 2026