WildFly 30 is released!

I’m pleased to announce that the new WildFly and WildFly Preview 30.0.0.Final releases are available for download at https://wildfly.org/downloads.

New and Notable

An important focus of our work for this release was preparing for the arrival of Java SE 21, the latest LTS JDK release. While we still recommend that you run WildFly on SE 17 or 11 (see Java SE Support below for more on why), we do believe WildFly 30 is a great choice for evaluating how your applications run on SE 21.

In particular, I’m pleased that WildFly 30 is able to certify as a compatible Jakarta EE 10 Core Profile implementation when running on SE 21!

We’re also able to pass the TCKs for the MicroProfile specifications we support when running on SE 21.

Special thanks to Richard Opalka, James Perkins and Scott Marlow for all the hard work they put into this.

Supported Specifications

Jakarta EE

WildFly 30 is a compatible implementation of the EE 10 Platform as well as the Web Profile and the Core Profile. WildFly is EE 10 compatible when running on both Java SE 11 and Java SE 17.

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

Specification Compatibility Evidence

Jakarta EE 10 Full Platform

SE 11

SE 17

Jakarta EE 10 Web Profile

SE 11

SE 17

Jakarta EE 10 Core Profile

SE 11

SE 17

SE 21

MicroProfile

WildFly supports numerous MicroProfile specifications. Because we no longer support MicroProfile Metrics, WildFly 30 cannot claim to be a compatible implementation of the MicroProfile 6.0 specification. However, WildFly’s MicroProfile support includes implementations of the following specifications in our "full" (e.g. standalone-full.xml) and "default" (e.g standalone.xml) configurations as well as our "microprofile" configurations (e.g. standalone-microprofile.xml):

MicroProfile Technology WildFly Full/Default Configurations WildFly MicroProfile Configuration

MicroProfile Config 3.0

X

X

MicroProfile Fault Tolerance 4.0

 — 

X

MicroProfile Health 4.0

 — 

X

MicroProfile JWT Authentication 2.1

X

X

MicroProfile LRA 2.0

 — 

X

MicroProfile OpenAPI 3.1

 — 

X

MicroProfile Open Telemetry 1.0

 — 

X

MicroProfile Reactive Messaging 3.0

 — 

 — 

MicroProfile Reactive Streams Operators 3.0

 — 

 — 

MicroProfile Rest Client 3.0

X

X

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

Java SE Support

Our recommendation is that you run WildFly 30 on Java SE 17, 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 30 also is heavily tested and runs well on Java 11. Our recommendation of SE 17 over 11 is solely because we recommend as a general principle being on later LTS releases, not because of any problems with WildFly on SE 11.

One reason to use later SE versions is because it gets you ahead of the curve as WildFly and other projects begin to move on from supporting older SE releases.

At this point it is likely that WildFly 30 will be the last release where support SE 11. There is some possibility we will continue to support SE 11 in WildFly 31, but we have no plans to support it beyond then. As our focus and the focus of the broader Java ecosystem moves toward SE 21 and later, we need to shift focus away from SE 11.

Please note that WildFly runs in classpath mode.

Java SE 21

I am very pleased to be able to say that WildFly 30 runs well on SE 21, the latest LTS release. By "runs well" I mean that we get the same results on SE 21 when running WildFly’s and WildFly Core’s own extensive test suites as we do when running SE 17 or SE 11.

As noted above, we also pass the Jakarta EE 10 Core Profile TCK when running on SE 21, as well as the MicroProfile TCKs for the various specifications we support.

We do not yet include SE 21 in the preceding "Recommended SE Versions" section because:

  • We have not completed our program of seeing how WildFly on SE 21 does on the Jakarta EE Full Platform and Web Profile TCKs.

  • We need to do further investigation into how the projects producing the various libraries we integrate are testing on SE 21.

If you are trying to evaluate what SE 21 means for your applications, I encourage you to look to WildFly 30 as your evaluation platform.

Move to ASL 2.0

During the WildFly 30 development cycle we moved the main WildFly source code and the WildFly Core source code from the Lesser General Public License 2.1 to the Apache Software License 2.0. This is something we’ve long wanted to do, and started doing in WildFly Core many years ago. So I’m very pleased that we’ve been able to take this step.

Please note that when you run WildFly you are running software provided by a large number of component libraries that WildFly integrates, with those components licensed under a variety of open source licenses. The components provided by the WildFly and WildFly Core projects that we’ve shifted to ASL 2.0 are just a subset of what we integrate. The complete set of licensing information about the libraries found in a WildFly installation can be found in the docs/licenses/licenses.html folder in the WildFly installation, along with the same information in XML format and a copy of all of the relevant licenses.

Release Notes

The full release notes for the release are in the WildFly JIRA. Issues fixed in the underlying WildFly Core 22 releases are listed in the WildFly Core JIRA.

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

Meanwhile, we’re busy at work on WildFly 31!

Best regards,

Brian