diff --git a/_posts/2024-10-18-WildFly34-Released.adoc b/_posts/2024-10-18-WildFly34-Released.adoc new file mode 100644 index 00000000..a145d339 --- /dev/null +++ b/_posts/2024-10-18-WildFly34-Released.adoc @@ -0,0 +1,223 @@ +--- +layout: post +title: "New WildFly 34 Final release" +date: 2024-10-18 +tags: announcement release +author: bstansberry +description: WildFly 34 Final is now available for download. +--- + += WildFly 34 is released! + +I'm pleased to announce that the new WildFly and WildFly Preview 34.0.0.Final releases are available for download at https://wildfly.org/downloads[https://wildfly.org/downloads, window=_blank]. + +[[new_and_notable]] +== New and Notable + +This quarter we had a heavy focus on link:https://docs.wildfly.org/34/WildFly_and_WildFly_Preview.html[WildFly Preview, window=_blank]. + +* WildFly Preview now includes link:https://www.wildfly.org/news/2024/10/10/jakarta-data/[support for Jakarta Data 1.0, window=_blank]. This feature is provided at the link:https://docs.wildfly.org/34/Admin_Guide.html#Feature_stability_levels[`preview` stability level, window=_blank]. + +* WildFly Preview now link:https://issues.redhat.com/browse/WFLY-19589[supports MicroProfile REST Client 4.0, window=_blank]. + +* WildFly Preview now link:https://issues.redhat.com/browse/WFLY-19590[supports MicroProfile Telemetry 2.0, window=_blank]. + +* As part of a link:https://issues.redhat.com/browse/WFLY-19464[general reorganization of our end user BOMs, window=_blank], we introduced new BOMs for WildFly Preview. +** `org.wildfly.bom:wildfly-ee-preview` is the WildFly Preview analogue to the existing standard WildFly `org.wildfly.bom:wildfly-ee` BOM. +** `org.wildfly.bom:wildfly-expansion-preview` is the WildFly Preview analogue to the standard WildFly BOM formerly known as `org.wildfly.bom:wildfly-microprofile`, now <> to `org.wildfly.bom:wildfly-expansion`. + +* Previously under link:https://issues.redhat.com/browse/WFCORE-6825[WFCORE-6825, window=_blank] four system properties with default values were +added to enable configuration of constraints affecting the HTTP management interface. In WildFly 35 +link:https://docs.wildfly.org/wildfly-proposals/management/WFCORE-6830_Management_Resource_Constraints.html[four new attributes have been added to the HTTP management interface configuration, window=_blank] +(`backlog`, `connection-high-water`, `connection-low-water`, `no-request-timeout`) to allow these constraints to be configured +directly in the management model. This feature is provided at the link:https://docs.wildfly.org/34/Admin_Guide.html#Feature_stability_levels[`community` stability level, window=_blank]. + +* We updated our Hibernate ORM version link:https://issues.redhat.com/browse/WFLY-19306[from the 6.4 series to 6.6, window=_blank]. + +* Along with that we updated Hibernate Search link:https://issues.redhat.com/browse/WFLY-19632[from the 7.1 series to 7.2, window=_blank]. + +== Supported Specifications + +=== Jakarta EE + +Standard WildFly 34 is a compatible implementation of the EE 10 link:https://jakarta.ee/specifications/platform/10/[Platform, window=_blank] as well as the link:https://jakarta.ee/specifications/webprofile/10/[Web Profile, window=_blank] and the link:https://jakarta.ee/specifications/coreprofile/10/[Core Profile, window=_blank]. WildFly is EE 10 Platform, Web Profile and Core Profile compatible when running on Java SE 11, Java SE 17 and Java SE 21. + +//// +Evidence supporting our certification is available in the link:https://github.com/wildfly/certifications/tree/EE10[WildFly Certifications] repository on GitHub: +[cols=",",options="header"] +|======================================================================= +|Specification |Compatibility Evidence +.3+.<| Jakarta EE 10 Full Platform +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-full-platform-jdk11.adoc#tck-results[SE 11, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-full-platform-jdk17.adoc#tck-results[SE 17, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-full-platform-jdk21.adoc#tck-results[SE 21, window=_blank] +.3+.<| Jakarta EE 10 Web Profile +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-web-profile-jdk11.adoc#tck-results[SE 11, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-web-profile-jdk17.adoc#tck-results[SE 17, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-web-profile-jdk21.adoc#tck-results[SE 21, window=_blank] +.3+.<| Jakarta EE 10 Core Profile +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-core-jdk11.adoc#jakarta-core-profile-1001-tck-java-se-11-results[SE 11, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-core-jdk17.adoc#jakarta-core-profile-1001-tck-java-se-17-results[SE 17, window=_blank] +| link:https://github.com/wildfly/certifications/blob/EE10/WildFly_34.0.0.Final/jakarta-core-jdk21.adoc#jakarta-core-profile-1001-tck-java-se-21-results[SE 21, window=_blank] +|======================================================================= +//// + +=== MicroProfile + +WildFly supports numerous MicroProfile specifications. Because we no longer support MicroProfile Metrics, WildFly 34 cannot claim to be a compatible implementation of the MicroProfile 6.1 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`): + +[cols=",,",options="header"] +|======================================================================= +|MicroProfile Technology |WildFly Full/Default Configurations |WildFly MicroProfile Configuration + +|MicroProfile Config 3.1 |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 Reactive Messaging 3.0 |-- |-- + +|MicroProfile Reactive Streams Operators 3.0 |-- |-- + +|MicroProfile Rest Client 3.0|X |X + +|MicroProfile Telemetry 1.1|-- |X +|======================================================================= + +link:https://github.com/wildfly/certifications/blob/MP6.1/WildFly_34.0.0.Final/microprofile-6.1-selected-specifications/microprofile-6.1-selected-specifications-certification.adoc[Compatibility evidence, window=_blank] for the above specifications that are part of MicroProfile 6.1 can be found in the WildFly Certifications repository on GitHub. + +As noted in the <> section, instead of the version listed above, WildFly Preview 34 now supports later releases of two MicroProfile specifications: + +* link:https://download.eclipse.org/microprofile/microprofile-rest-client-4.0/microprofile-rest-client-spec-4.0.html[MicroProfile REST Client 4.0, window=_blank] +* link:https://download.eclipse.org/microprofile/microprofile-telemetry-2.0/microprofile-telemetry-spec-2.0.html[MicroProfile Telemetry 2.0, window=_blank] + + +[[preview-ee11-se17]] +=== WildFly Preview, EE 11 and SE 17 + +As I noted in the https://www.wildfly.org/news/2024/04/25/WildFly32-Released/[WildFly 32 release announcement, window=_blank], beginning with that release we are using WildFly Preview to provide a look at what we're doing for Jakarta EE 11 support. EE 11 won't go GA before later this year, and we don't expect standard WildFly to support EE 11 before the WildFly 36 release. 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 a result of this shift to EE 11 APIs, *WildFly Preview no longer supports running on Java SE 11.* If you want to use WildFly Preview you'll need to use SE 17 or higher. A number of EE 11 APIs no longer produce SE 11 compatible binaries, which means an EE 11 runtime can no longer support SE 11. + +The following table lists the various Jakarta EE technologies offered by WildFly Preview 34, along with information about which EE platform version the specification relates to. Note that a number of Jakarta specifications are unchanged between EE 10 and EE 11, while other EE technologies that WildFly offers are not part of EE 11. + +[cols=",,",options="header"] +|======================================================================= +|Jakarta EE Technology |WildFly Preview Version| EE Version + +|Jakarta Activation| 2.1 |10 & 11 + +|Jakarta Annotations| 3.0 |11 + +|Jakarta Authentication| 3.0 |10 + +|Jakarta Authorization| 3.0 |11 + +|Jakarta Batch| 2.1 |10 & 11 + +|Jakarta Concurrency| 3.1 |11 + +|Jakarta Connectors| 2.1 |10 & 11 + +|Jakarta Contexts and Dependency Injection| 4.1 |11 + +|Jakarta Data +(_preview stability only_)| 1.0 |11 xref:note2[^2^] + +|Jakarta Debugging Support for Other Languages| 2.0 |10 & 11 + +|Jakarta Dependency Injection| 2.0 |10 & 11 + +|Jakarta Enterprise Beans| 4.0 |10 & 11 + +|Jakarta Enterprise Web Services| 2.0 |10 xref:note1[^1^] + +|Jakarta Expression Language| 6.0 |11 + +|Jakarta Faces| 4.1 |11 + +|Jakarta Interceptors| 2.2 |11 + +|Jakarta JSON Binding| 3.0 |10 & 11 + +|Jakarta JSON Processing| 2.1 |10 & 11 + +|Jakarta Mail| 2.1 |10 & 11 + +|Jakarta Messaging| 3.1 |10 & 11 + +| Jakarta MVC +(_preview stability only_)| 2.1| N/A xref:note3[^3^] + +|Jakarta Pages| 3.1 |10 + +|Jakarta Persistence| 3.2.0 |11 + +|Jakarta RESTful Web Services| 4.0 |11 + +|Jakarta Security| 4.0.0 |11 + +|Jakarta Servlet| 6.1.0 |11 + +|Jakarta SOAP with Attachments| 3.0 |10 xref:note1[^1^] + +|Jakarta Standard Tag Library| 3.0 |10 & 11 + +|Jakarta Transactions| 2.0 |10 & 11 + +|Jakarta Validation| 3.1.0 |11 + +|Jakarta WebSocket| 2.2.0 |11 + +|Jakarta XML Binding| 4.0 |10 xref:note1[^1^] + +|Jakarta XML Web Services| 4.0 |10 xref:note1[^1^] +|======================================================================= + +Notes: + +. [[note1]]This Jakarta EE 10 technology is not part of EE 11 but is still provided by WildFly. +. [[note2]]Jakarta Data is a new specification in EE 11. +. [[note3]]Jakarta MVC is not of the Jakarta EE Platform or the Web or Core Profile. + +== Java SE Support + +Our recommendation is that you run WildFly 34 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 34 also is heavily tested and runs well on Java 17 and Java 11. + +Our recommendation of SE 21 over earlier LTS releases is solely because as a general principle we recommend being on later LTS releases, not because of any problems with WildFly on SE 17 or SE 11. + +However, 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. This is certainly happening, and *we do not intend to support SE 11 in WildFly in WildFly 35!* + +WARNING: The WildFly 34 series will be the *last to support SE 11*, so if you are running WildFly on SE 11 you should move to SE 17 or 21 as soon as possible. + +WildFly Preview no longer supports SE 11, as the baseline for Jakarta EE 11 is 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. + +Please note that WildFly runs in classpath mode. + +[[incompatibilities]] +== Incompatible Changes + +We changed the Maven artifactId of the `org.wildfly.bom:wildfly-microprofile` user BOM to `org.wildfly.bom:wildfly-expansion`, so users of this BOM will need to update their poms. This BOM is intended to help developers develop applications that can run in a server provisioned using the `wildfly` feature pack, but which can't run in a server only using its `wildfly-ee` feature pack dependency. (The `org.wildfly.bom:wildfly-ee` BOM is used for the `wildfly-ee` feature pack dependencies.) For a while now the additional functionality in the `wildfly` feature pack has gone beyond MicroProfile, to include things like Micrometer, so we've updated to the more general 'expansion' term that we use to describe this feature pack. + +== Release Notes + +The full WildFly 34 release notes are link:https://github.com/wildfly/wildfly/releases/tag/34.0.0.Final[available in GitHub, window=_blank]. Issues fixed in the underlying WildFly Core 26.0.0 and 26.0.1 releases are listed in the link:https://issues.redhat.com/issues/?filter=12444106[WildFly Core JIRA, window=_blank]. + +Please try it out and give us your feedback, in the link:https://groups.google.com/g/wildfly[WildFly google group, window=_blank], link:https://wildfly.zulipchat.com/#narrow/stream/196266-wildfly-user[Zulip, window=_blank] or link:https://issues.redhat.com/projects/WFLY/summary[JIRA, window=_blank]. + +And, with that, I'm moving on to what I think will be a very busy WildFly 35! + +Best regards, + +Brian