WildFly 35 is released!

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

New and Notable

This quarter we had a heavy focus on MicroProfile, particularly MicroProfile 7.0, which I’m pleased to say WildFly 35 fully supports. Improvements in the MicroProfile area include:

There’s plenty of new things beyond MicroProfile area as well, though:

Another big thing that’s new is, as I announced in October, WildFly now requires a minimum of Java SE 17, and thus no longer supports running on Java 11.

Supported Specifications

Jakarta EE

Standard WildFly 35 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

Standard WildFly 35 supports MicroProfile Platform 7.0, along with several other MicroProfile specifications that are not part of MicroProfile Platform. 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.1

X

X

MicroProfile Fault Tolerance 4.1

 — 

X

MicroProfile Health 4.0

 — 

X

MicroProfile JWT Authentication 2.1

X

X

MicroProfile LRA 2.0

 — 

X

MicroProfile OpenAPI 4.0

 — 

X

MicroProfile Reactive Messaging 3.0

 — 

 — 

MicroProfile Reactive Streams Operators 3.0

 — 

 — 

MicroProfile Rest Client 4.0

X

X

MicroProfile Telemetry 2.0

 — 

X

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

WildFly Preview and EE 11

As I noted in the WildFly 32 release announcement, beginning with that release we are using WildFly Preview to provide a look at what we’re doing for Jakarta EE 11 support. The EE 11 Platform and Web Profile specifications won’t go GA before later this year. But there are milestone, Release Candidate and Final releases of many EE 11 specs and implementations available, so we are providiong those in WildFly Preview. This means for a number of EE APIs, WildFly Preview no longer provides an EE 10 compatible implementation.

However, for a number of specifications that are planning changes for EE 11 we are still offering the EE 10 variant. In future releases we’ll shift those to the EE 11 variants.

As I mentioned earlier, the EE 11 Core Profile specification did go GA in November and WildFly Preview 35 is a compatible implementation of that profile.

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

Java SE Support

Our recommendation is that you run WildFly 35 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 35 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 an LTS JDK release, I do believe WildFly runs well on SE 23. 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. We want developers who are trying to evaluate what a newer JVM means for their applications to be able to look to WildFly as a useful development platform. We’ve also had good results with tests on Linux of an EA release of SE 24 (Oracle 24-ea+15-1658).

Please note that WildFly runs in classpath mode.

Incompatible Changes

Beginning with the WildFly 35 release, standard WildFly no longer supports running in a Java SE 11 environment. Users should run WildFly 35 on SE 21 or SE 17.

The default name of the bootable jar produced by WildFly’s maven tooling has changed from a fixed name of server-bootable.jar to the dynamic name ${project.artifactId}-bootable.jar where project.artifactId is the maven artifact id of the module producing the jar. If this default value isn’t wanted, the bootable jar name can be configured.

Release Notes

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

And, with that, I’m moving on to what I think will be a very busy WildFly 36!

Best regards,

Brian