WildFly 36 is released!
I’m pleased to announce that the new WildFly and WildFly Preview 36.0.0.Final releases are available for download at https://wildfly.org/downloads, The Galleon feature packs for WildFly 36 are available in Maven.
New and Notable
This quarter we had some exciting innovation outside the main appserver itself:
-
You can now run a WildFly application from JBang. To learn more about this feature, please read the JBang integration section in the WildGly Glow documentation. This feature is provided at the
experimental
stability level. -
The WildFly AI feature pack evolved rapidly during the quarter. Learn more by checking out Emmanuel Hugonnet’s talks at last month’s WildFly Mini Conference or at JDConf. This feature pack is currently incubating and will likely continue to change rapidly.
Of course, there’s new stuff in the main appserver as well:
-
The
micrometer
extension has been modified to add support for the Prometheus Registry, allowing for pull-based scraping of metrics information for deployments, if that is preferred. This much-requested feature is provided at thecommunity
stability level. -
The JBoss EJB Client library and the
ejb3
subsystem now support use of theremote+tls
protocol for remote EJB invocations. -
When configuring WildFly to act as a reverse proxy, the
undertow
subsystem now supports configuring the reverse proxy handler to reuse and append to anyX-Forwarded
HTTP headers and to rewrite theHost
header. This feature is provided at thecommunity
stability level. Previously this had been supported atpreview
stability. The promotion tocommunity
stability means this feature is now available out of the box in standard WildFly. -
The
undertow
subsystem now allows configuring the AJP listener to accept custom AJP request headers. This feature is provided at thecommunity
stability level. Previously this had been supported atpreview
stability. The promotion tocommunity
stability means this feature is now available out of the box in standard WildFly. -
Within the WildFly Preview distribution we also upgraded to a beta of Hibernate ORM 7 and an alpha of Hibernate Search 8.
Finally, we did some long overdue improvements to the main landing page for our docs. We plan to continue improving there, particularly by giving greater emphasis to the growing ecosystem of Galleon feature packs that WildFly provides. Your feedback is very much wanted!
Supported Specifications
Jakarta EE
Standard WildFly 36 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 |
|
Jakarta EE 10 Web Profile |
|
Jakarta EE 10 Core Profile |
|
MicroProfile
Standard WildFly 36 supports MicroProfile Platform 7.0, 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.0 can be found in the WildFly Certifications repository on GitHub.
WildFly Preview and EE 11
Since the WildFly 32 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 providing 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.
The EE 11 Core Profile specification went GA last November and WildFly Preview 36 supports that profile.
Full details on the EE specification versions provided by WildFly Preview can be found in the WildFly 36 documentation.
Java SE Support
Our recommendation is that you run WildFly 36 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 36 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 24. 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 25 (Oracle 25-ea+10-1084).
Please note that WildFly runs in classpath mode.
New and Noteworthy Contributors
WildFly gets great contributions from so many people. I’m going to start using this section of the release announcement to thank a few of them.
Andrew Golding reported an issue with how WildFly Glow dealt with Maven proxies and provided the fix. Thank you, Andrew!
Jason Lee slew the dragon of Prometheus support with Micrometer. Thank you, Jason!
Jeff Mesnil showed great innovative initiative by driving the new ability to run a source-only WildFly application using JBang. Thank you, Jeff!
Same for Emmanuel Hugonnet, who is on fire with new improvements to the incubating WildFly AI feature pack. Go Emmanuel!
Release Notes
The full WildFly 36 release notes are available in GitHub. Issues fixed in the underlying WildFly Core 28.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.
I hope you enjoy WildFly 36 as much as we’ve enjoyed bringing it to you!
Best regards,
Brian