WildFly 38 is released!

I’m pleased to announce that the new WildFly and WildFly Preview 38.0.0.Final releases are available for download at https://wildfly.org/downloads, The Galleon feature packs for WildFly 38 are available in the JBoss Maven repository.

Note
We’ve encountered problems syncing the WildFly 38 artifacts and other Maven content from the JBoss Maven repository to Maven Central. This problem is currently under investigation. We recommend Maven users include https://repository.jboss.org/nexus/content/groups/public-jboss/ in their Maven repositories configuration. This is a general best practice when provisioning a WildFly server, as some WildFly components may not be available in Maven Central.

New and Notable

MicroProfile 7.1

In the main server, the biggest new thing in WildFly 38 is support for the MicroProfile Platform 7.1 specifications, updating from the MicroProfile 7.0 specs supported in WildFly 37. This included updates to two specs:

WildFly Preview

In WildFly Preview, something I encourage users to try out is the implementation of Jakarta EE 11 JPA and CDI integration. Jakarta EE 11 includes requirements that implementations expose as CDI beans instances of a number of Jakarta Persistence types, including EntityManager and EntityManagerFactory. This makes possible injection of those types into other beans using @Inject. Jakarta is aiming to make the EE platform more CDI-centric; this is a step in that direction.

Provisioning and documentation

Feature packs that are used to provision WildFly now provide generated documentation that describes the feature pack and its layers, along with the management API reference for the management resources provided by the feature pack. We’re making use of this new capability in a couple of ways:

Supported Specifications

Jakarta EE

Standard WildFly 38 is a compatible implementation of the EE 10 Platform as well as the Web Profile and the Core Profile. WildFly is EE 10 Platform, Web Profile and Core Profile compatible when running on Java SE 17 and Java SE 21.

Evidence supporting our certification is available in the WildFly Certifications repository on GitHub:

Specification Compatibility Evidence

Jakarta EE 10 Full Platform

SE 17

SE 21

Jakarta EE 10 Web Profile

SE 17

SE 21

Jakarta EE 10 Core Profile

SE 17

SE 21

MicroProfile

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

Compatibility evidence for the specifications that are part of MicroProfile 7.1 can be found in the WildFly Certifications repository on GitHub.

WildFly Preview and EE 11

Since the WildFly 32 release, we have been using WildFly Preview to provide a look at what we’re doing for Jakarta EE 11 support. We continued to make progress on this during the WildFly 38 cycle, particularly in the aforementioned Jakarta Persistence + CDI integration and in updates to our Jakarta Authorization implementation.

However, for a number of specifications that made changes for EE 11 we are still offering the EE 10 implementation. Our goal is shift those to the EE 11 implementation in WildFly Preview 39.

The EE 11 Core Profile specification went GA last November and WildFly Preview 38 supports that profile.

The Jakarta EE 11 Platform and Web Profile went GA earlier this summer. We are working on completing our implementation of these in WildFly Preview, for eventual incorporation in standard WildFly.

Full details on the EE specification versions provided by WildFly Preview can be found in the WildFly 38 documentation.

Java SE Support

Our recommendation is that you run WildFly 38 on Java SE 21, as that is the latest LTS JDK release where we have completed the full set of testing we like to do before recommending a particular SE version. WildFly 38 also is heavily tested and runs well on Java 17.

Our recommendation of SE 21 over SE 17 is solely because as a general principle we recommend being on later LTS releases, not because of any problems with WildFly on SE 17.

While we recommend using SE 21 or SE 17, I do believe WildFly runs well on SE 25, which is the most recent LTS release, released last month. By runs well, I mean the main WildFly testsuite runs with no more than a few failures in areas not expected to be commonly used. As of the date of this release announcement there were no such issues. We want developers who are trying to evaluate what SE 25 means for their applications to be able to look to WildFly as a useful development platform.

Since SE 25 is an LTS release, we aim in a future WildFly version to include it in the list of recommended SE releases. To do this there is further qualifying to be done, beyond the good WildFly testsuite results we are seeing today. We’re working to validate the SE 25 compatibility of key components we include in WildFly, and we’ll try and use the Jakarta EE 11 TCK as a further set tests of how well we run on SE 25. (The EE 11 TCK was not written for SE 25, so we’ll see how feasible this is. Using the EE 10 TCK to help qualify SE 21 worked well.)

Please note that WildFly runs in classpath mode.

New and Noteworthy Contributors

WildFly gets great contributions from so many people. Let’s thank a few of them.

Javier de Ros Villar, Akil Krishna and Sebastien Dionne made their first contributions to the main WildFly repository, while Marek Skácelík made his first contribution to WildFly Core. Thank you, Javier, Akil, Sebastien and Marek!

Jeff Mesnil and Jean-François Denise did great work on the new feature pack documentation capabilities and on the WildFly catalog. I’m excited to see where this goes in the future.

Scott Marlow showed great perseverance in working through the many tricky cases involved with the Jakarta Persistence + CDI integration in WildFly Preview. Thank you, Scott!

Release Notes

The full WildFly 38 release notes are available in GitHub. Issues fixed in the underlying WildFly Core 30.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