Red Hat

WildFly 19.1.0 is released!

WildFly 19.1.0 Final is now available for download.

As we usually do between WildFly majors, we’ve done an update release to provide the WildFly community with important bug fixes and component upgrades that have become available. Typically these are micro releases, but this time we had one feature that we wanted to make available, so we changed the version to 19.1.0 and released a minor.

The feature is related to handling of SameSite cookie attributes. Undertow has added support for SameSite="None" cookie attributes and support for a new SameSiteCookieHandler that sets SameSite attributes on cookies that match a cookie name pattern. With this handler, web developers can remain compliant with the latest changes in some browsers.

To use the SameSiteCookieHandler, add a undertow-handlers.conf file to your WAR’s WEB-INF directory that includes a line like the following:

samesite-cookie(mode=<mode>)

Valid values for the mode parameter are Strict, Lax or None, ignoring case. See RFC6265bis for more information on the meaning of these modes.

Further details, including other parameters you can use to configure the SameSiteCookieHandler, are discussed in the WFLY-13003 feature analysis document.

If you want to add the SameSite handler to your application without changing the application code, look into using a deployment overlay to add the `WEB-INF/undertow-handlers.conf' file to existing deployments.

The full list of issues resolved in WildFly 19.1.0 is available here. Issues resolved in the WildFly Core 11.1.0 release included with WildFly 19.1.0 are available here.

Note for Galleon Users

If you provisioned a WildFly server associated with the 19.0 channel, a simple Galleon update won’t update your installation to 19.1.0, as 19.1.0 is not part of that channel’s version range. There’s a new 19.1 channel that you’ll need to specify.

For example, if you’d originally provisioned your server like this:

$ galleon.sh install wildfly:19.0 --dir=my-wildfly --layers=jaxrs-server
Feature-packs resolved.
Feature-packs resolved.
Packages installed.
JBoss modules installed.
Configurations generated.
Feature pack installed.
======= ============ ==============
Product Build        Update Channel
======= ============ ==============
wildfly 19.0.0.Final 19.0

Then a simple update will do nothing:

$ galleon.sh update --dir=my-wildfly
Feature-packs resolved.
Up to date. No available updates nor patches.

To get the update change the channel to 19.1:

$ galleon.sh update --feature-packs=wildfly:19.1#19.1.0.Final --dir=my-wildfly
Feature-packs resolved.
Some updates and/or patches are available.
======= ============= ============ ==============
Product Current Build Update       Update Channel
======= ============= ============ ==============
wildfly 19.0.0.Final  19.1.0.Final 19.1

Proceed with latest updates [y/n]?
Feature-packs resolved.
Packages installed.
JBoss modules installed.
Configurations generated.

$ galleon.sh get-info --dir=my-wildfly

======= ============ ==============
Product Build        Update Channel
======= ============ ==============
wildfly 19.1.0.Final 19.1

I hope you enjoy WildFly 19.1. If you have any questions or feedback please find us at the WildFly forums.

WildFly 19 is released!

I’m pleased to announce that the WildFly 19 Final zip is now available for download.

Work on WildFly 19 has been a long and exciting journey, with tremendous help from contributors in the community, a lot of support from the communities behind the components we integrate (particularly the Smallrye folks) and crucial backing from many of my colleagues at Red Hat, particularly all the QE folks who helped make sure all the new goodies really taste good!

So, what are the new goodies?

MicroProfile 3.3

As I’ve discussed in a couple blog posts about the WildFly 19 Beta releases, WildFly 19 supports the Eclipse MicroProfile 3.3 platform specifications. Achieving this has been the main focus of the release.

WildFly now provides support for the following MicroProfile specifications:

Specification Version in WildFly 19

MicroProfile Config

1.4

MicroProfile Fault Tolerance

2.1

MicroProfile Health Check

2.2

MicroProfile JWT Authentication

1.1

MicroProfile Metrics

2.3

MicroProfile OpenAPI

1.1

MicroProfile OpenTracing

1.3

MicroProfile Rest Client

1.4

We also provide all of the MicroProfile specs that are also part of EE 8.

WildFly 19 includes three new subsystems to provide the MicroProfile specs that weren’t in WildFly 18: microprofile-fault-tolerance-smallrye, microprofile-jwt-smallrye and microprofile-openapi-smallrye.

We’ve also added two new standard configuration files to help guide users toward server configurations well suited for microservice use cases:

  • standalone-microprofile.xml

    • Provides our MicroProfile platform implementations combined with JAX-RS and technologies JAX-RS applications commonly use to integrate with external services.

  • standalone-microprofile-ha.xml

    • Similar to standalone-microprofile.xml but with support for high availability web sessions and distributed Hibernate second-level caching.

Our other standard config files (e.g. standalone.xml) also include the subsystems needed to support Config, JWT, Health, Metrics, OpenTracing and Rest Client. The inclusion of JWT is new with WildFly 19.

The WildFly 19 quickstarts also include a number of new quickstarts for MicroProfile. My thanks to everyone who helped with those, particularly Martin Stefanko who did a ton of work.

And finally, we’ve introduced a new wildfly-microprofile maven bom to help Micrapplication developers align with the API artifacts used by WildFly. The maven GAV for this new bom is org.wildfly.bom:wildfly-microprofile:19.0.0.Final. Thanks to Eduardo Martins for this!

Other Enhancements

WildFly 19 brings a number of other enhancements beyond MicroProfile:

  • Elytron configuration on the client side of a Webservices deployment is now supported, so a WS client can support the Elytron security framework available within the application server.

  • A new constant-headers attribute has been added to the HTTP management interface resource definition. Administrators can make use of this attribute to specify additional HTTP headers to be returned in responses to requests made against the HTTP management interface.

  • It is now possible to use TLS 1.3 with WildFly when running against JDK 11 or higher. However, if JDK 11 is in use and if there is a very large number of TLS 1.3 requests being made, it is possible that a drop in performance (throughput and response time) will occur compared to TLS 1.2. Upgrading to newer JDK versions should improve performance. For this reason, the use of TLS 1.3 is currently disabled by default. TLS 1.3 can be enabled by configuring the new cipher-suite-names attribute in the SSL Context resource definition in the Elytron subsystem. It is recommended to test for performance degradation prior to enabling TLS 1.3 in a production environment.

  • RESTEasy context parameters and providers can now be configured via attributes in the jaxrs subsystem configuration.

  • Expression resolution in EE security manager deployment descriptors (permissions.xml and jboss-permissions.xml) is now supported. You can now use the familiar ${foo:true} syntax in these deployment descriptors to allow customization of settings at runtime.

  • A JBoss Modules module can be made globally available to all deployments by simply copying one or more library artifacts or other resources to a directory and then configuring the WildFly ee subsystem with the location of that directory.

  • Executor / thread pool statistics are now available for the EE Concurrency resources.

Jakarta EE and Java EE

WildFly 19.0.0 is a Jakarta EE 8 compatible implementation, with both the Full Platform and the Web Profile. Evidence supporting our certification is available for the Full Platform and for the Web Profile.

WildFly 19 is also a certified compatible implementation of Java EE 8.

JDK Support

For the last couple of years we’ve worked to ensure our releases run well for most developer use cases on the most recent GA JDK version available on the WildFly final release date. Unfortunately, that has come to an end with WildFly 19 and the just-released JDK 14. We haven’t had time to digest some of the package removals in JDK 14, particularly in the security area.

While we do like to run well on more recent JDKs, our recommendation is that you run WildFly on the most recent long-term support release, i.e. on JDK 11 for WildFly 19. We do considerably more testing of WildFly itself on the LTS JDKs, and we make no attempt to ensure the projects producing the various libraries we integrate are testing their libraries on anything other than JDK 8 or 11.

WildFly 19 also is heavily tested and runs well on Java 8. We plan to continue to support Java 8 at least through WildFly 21, and probably beyond.

Please note that WildFly runs on Java 11 and later in classpath mode.

At this point it is uncertain when we’ll be able to say that a release of WildFly runs well on JDK 14 or later. We’ll have to see how well the work for that, both in WildFly itself and in the projects we integrate, aligns with our other goals. I don’t expect it to be a priority before WildFly 22.

Management API Documentation

Since the JBoss AS 7.1.1 release we’ve published auto-generated documentation of the appserver management API at the wildscribe.github.io site. Starting with WildFly 19 we’ve stopped publishing there and instead we will be including the management API documentation as part of the overall documentation for the release. The content is equivalent; we’ve just changed where it is located.

Jira Release Notes

The full list of issues resolved is available here. Issues resolved in the WildFly Core 11 releases included with WildFly 19 are available here.

User Forum Move

Finally, a quick reminder that we have moved the WildFly user forum from the developer.jboss.org site to google groups. That’s a great place to provide feedback on or ask questions about WildFly 19.

Enjoy, but more importantly, stay safe and stay well!

MicroProfile 3.2 in WildFly 19.0.0.Beta1

I’m pleased to announce that the WildFly 19 Beta1 zip is now available for download.

I typically don’t blog about the WildFly betas, but I want to this time because I’m so thrilled to be able to say we’ve gotten implementations of all of the MicroProfile 3.2 specifications in this release! This is the first WildFly release that includes all the MicroProfile platform specs.

We’ve added three new subsystems to provide support for the MicroProfile platform specs we’ve never supported before:

Specification Version in WildFly 19 JIRA Issue

MicroProfile Fault Tolerance

2.0

WFLY-12590

MicroProfile JWT Authentication

1.1

WFLY-12609

MicroProfile OpenAPI

1.1

WFLY-12313

MicroProfile 3.2 also includes updates to two of the specs we included in WildFly 18, so those have been updated as well:

Specification Version in WildFly 19 JIRA Issue

MicroProfile Health Check

2.1

WFLY-12685

MicroProfile Metrics

2.2

WFLY-12686

As we did in WildFly 18, we also provide MicroProfile Config 1.3, OpenTracing 1.3, and Rest Client 1.3, the implementations of which have had some updates. In particular, the subsystem for integrating OpenTracing has been updated to provide a richer management API. Finally, we of course provide all of the MicroProfile specs that are also part of Java EE 8.

WildFly’s MicroProfile implementations are primarily based on the Smallrye projects. (We use RESTEasy’s Rest Client impl.) Many thanks to Ken Finnigan and all the folks in the Smallrye community for providing great implementations of these rapidly evolving specs!

It takes a great community to bring in major new features like this. A great number of other folks have helped; I thank you all and my apologies to anyone I’ve missed:

  • Fabio Burzigotti

  • Michael Edgar

  • Paul Ferraro

  • Emmanuel Hugonnet

  • Radoslav Husar

  • Jan Kasik

  • Kabir Khan

  • Darran Lofthouse

  • Eduardo Martins

  • Stefano Maestri

  • Jeff Mesnil

  • Miroslav Novak

  • Ron Sigal

  • Alessio Soldano

  • Tobias Stadler

  • Martin Stefanko

  • Ivan Straka

  • Rostislav Svoboda

  • Sultan Zhantemirov

I’d particularly like to thank Stefano Maestri for his leadership in getting this done, and Michael Edgar and Tobias Stadler for providing a lot of the drive behind this — and for putting up with our sometimes burdensome feature development processes!

Jira Release Notes

I’ll wait for the WildFly 19 Final release to get into all the details, but 19.0.0.Beta1 includes a wide variety of other features, component updates, bugs fixes and enhancements beyond the MicroProfile work. The full list of issues resolved is available here. This release incorporates WildFly Core 11.0.0.Beta7 — see the WildFly Core JIRA for details of what was in the WildFly Core 11 betas.

Enjoy, and as always, thank you so much for your support of WildFly!

back to top