WildFly 37 is released!
I’m pleased to announce that the new WildFly and WildFly Preview 37.0.0.Final releases are available for download at https://wildfly.org/downloads, The Galleon feature packs for WildFly 37 are available in the JBoss Maven repository.
Note
|
We expect it will be another day before the 37 artifacts are available in Maven Central. |
New and Notable
This quarter was primarily devoted to bug fixing and clearing of technical debt. A lot of our focus was on working on the transition of WildFly to Commonhaus sponsorship as well as adapting to the transition to Nexus 3 in the Maven repository where we deploy most WildFly artifacts. The latter in particular has been a major effort.
We did add one small feature this quarter:
-
The
messaging-activemq
subsystem added thescale-down-commit-interval
attribute to itsha-policy
resource to let users define the number of messages in a transaction batch when transferring them to another node during a scale down. This setting can help avoid OOME issues during scale down.
Supported Specifications
Jakarta EE
Standard WildFly 37 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 37 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 37 supports that profile.
The Jakarta EE 11 Platform and Web Profile went GA earlier this year. 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 37 documentation.
Java SE Support
Our recommendation is that you run WildFly 37 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 37 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.
Incompatible Changes
There are a few incompatible changes in WildFly 37 that may affect some users:
-
We removed the
jgroups-udp-fd
andjgroups-tcp-fd
socket bindings from our out-of-the-box configuration files in favor of a singlejgroups-fd
socket binding. If you are customizing our standard configs you may need to adapt your customization. -
If you develop low-level management clients for WildFly, you may be affected by a change to the ModelControllerClient interface. We’ve changed the return type from the
executeAsync
andexecuteOperationAsync
methods from theorg.jboss.threads.AsyncFuture
interface to Java SE’sjava.util.concurrent.CompletableFuture
. Both of those arejava.util.concurrent.Future
sub-interfaces, so if all you were using was theFuture
API this may not affect you. -
You can manage a WildFly instance with Java Mission Control by integrating our
jboss-client.jar
into your JMC installation, typically by dropping the jar in your JMC installation’sEclipse/dropins
folder. The mechanism JMC provides for this integration changed incompatibly between JMC 8 and JMC 9, and it’s not possible for us to support both in the samejboss-client.jar
. For WildFly 37 we switched to supporting the JMC 9+ mechanism, so the 37 jar can’t be integrated into JMC 8. However, a JMC 8 installation using an older version ofjboss-client.jar
will work fine for managing a WildFly 37 server. A JMC 9 integration can manage an older WildFly as well.
New and Noteworthy Contributors
WildFly gets great contributions from so many people. Let’s thank a few of them.
Cody Lerum provided an excellent reproducer for WFLY-20646 / HHH-19476, a problem that had been troubling a number of Hibernate users. The reproducer quickly led to a fix. Beyond this, Cody always provides great feedback. You’re the best, Cody!
David Hladky has been going way above and beyond working through the transition of repository.jboss.org to Nexus 3. Thank you, David!
Paul Ferraro provided great inputs about how WildFly and other projects should deploy to the new repository.jboss.org. Paul’s also been doing yeoman’s work on transitioning a number of our subsystem implemenations to the modernized subsystem development framework he created. Thank you, Paul!
Jason Lee migrated this website from Jekyll to the rockin' Quarkus Roq. Much appreciated, Jason!
Release Notes
The full WildFly 37 release notes are available in GitHub. Issues fixed in the underlying WildFly Core 29.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.
Onward to WildFly 38!
Best regards,
Brian