The WildFly application server, a dynamic and open-source project by Red Hat, has undergone substantial evolution between version 18.0.1 (released around November 2019) and version 36.0.1 (released in May 2025). This period has been marked by a steadfast commitment to aligning with the latest enterprise Java standards, enhancing developer productivity, bolstering security, and embracing cloud-native paradigms. This comprehensive overview details the major functionality changes that have shaped WildFly into the modern server it is today.
One of the most significant trajectories in WildFly's development has been its adoption of and alignment with the Jakarta EE specifications, the successor to Java EE.
WildFly 18.0.1 was a Jakarta EE 8 compatible implementation. A pivotal change across subsequent versions was the transition of API JARs from Java EE projects to their Jakarta equivalents, most notably involving the namespace change from javax.* to jakarta.*. This journey saw WildFly support intermediate specifications like Jakarta EE 9.1. By WildFly 27, the server introduced support for Jakarta EE 10 APIs. WildFly 36.0.1 provides full support for the Jakarta EE 10 Platform. Furthermore, WildFly Preview distributions (e.g., WildFly Preview 36) offer an early look at Jakarta EE 11 Core Profile support, indicating a forward-looking approach to specification adoption.
These upgrades mean that applications built on earlier Java EE or Jakarta EE versions might require updates to namespaces and dependencies to run on the latest WildFly, but they also gain access to enhanced modularity, improved concurrency, and better integration with newer Java SE features.
WildFly has actively integrated MicroProfile specifications to cater to microservices development and cloud-native architectures.
WildFly 18.0.1 initiated this journey with support for MicroProfile 3.0, which included specifications like Config, Fault Tolerance, Metrics, Health, and OpenAPI. Through successive releases, WildFly consistently updated its MicroProfile components. A major leap in observability came around WildFly 28 with the introduction of the Micrometer subsystem. WildFly 36.0.1 now supports MicroProfile 7.0 APIs, along with several other MicroProfile specifications not part of the platform, including upgrades to components like SmallRye Fault Tolerance (e.g., to version 6.9.1). This evolution provides developers with robust tools for building resilient, configurable, and observable microservices.
Security has been a central theme in WildFly's development, with a decisive shift towards the Elytron security subsystem.
While WildFly 18 had early Elytron integration, the period leading up to WildFly 36 saw a comprehensive migration away from legacy JBoss security layers (like PicketBox and the org.jboss.as.security extension). Starting significantly with WildFly 25, Elytron became the cornerstone of WildFly's security. By WildFly 36, legacy security subsystems were removed from standard configurations, making Elytron the sole default security provider. Elytron offers a unified, flexible framework for managing security aspects, including authentication, authorization, SSL/TLS configuration, credential storage, and integration with modern protocols like OAuth2 and OpenID Connect. This transition enhances WildFly's security posture but may require users to migrate their existing security configurations to the Elytron model.
Elytron's enhanced role management capabilities in WildFly.
Understanding application behavior and performance is critical in modern deployments. WildFly has significantly boosted its observability capabilities.
A landmark enhancement was the introduction of the Micrometer subsystem in WildFly 28. This provides a vendor-neutral application metrics facade, allowing developers to instrument their code and expose metrics through various monitoring systems. WildFly 36 further enhanced this by adding a Prometheus endpoint directly to the Micrometer extension, simplifying integration with the popular Prometheus monitoring tool. Support for OpenTelemetry is also an area of ongoing improvement, reflecting WildFly's commitment to modern observability standards.
The WildFly management console (HAL) provides insights into subsystems like Undertow.
WildFly is built upon a rich ecosystem of components, which are regularly updated to bring in new features, performance improvements, and security fixes.
reuse-x-forwarded, rewrite-host).These upgrades ensure WildFly remains robust, performant, and secure, though they sometimes necessitate adjustments in application dependencies.
WildFly's compatibility with Java Development Kit (JDK) versions has evolved to support modern Java releases.
While WildFly 18 recommended Java 8 or Java 11 (the LTS at the time), WildFly 36.0.1 runs well on current LTS versions like JDK 17 and has shown good results on EA releases of JDK 21 and even SE 25. The quickstarts for WildFly 36 and later generally require Java SE 17.0 or newer. This shift encourages users to leverage the latest JVM features and performance improvements.
Improving the developer experience and deployment flexibility has been a consistent focus.
The Galleon provisioning tool has matured, allowing users to create custom, lean WildFly installations tailored to their application's specific needs. This is particularly beneficial for cloud and containerized environments. A significant innovation is WildFly Glow, introduced around WildFly 31. Glow scans applications to identify necessary WildFly features and can provision a perfectly sized server or even create a runnable JAR. WildFly 36 also introduced the ability to run WildFly applications directly from source using JBang, further streamlining development workflows. The WildFly Server Migration Tool has also been updated to support migrations from older versions (e.g., WildFly 26, 27, 28) to WildFly 36, easing the upgrade process.
WildFly Glow simplifies provisioning optimized server distributions.
WildFly has strengthened its support for cloud-native deployments.
Enhancements have been made to WildFly's behavior in containerized environments, with improved images for Kubernetes and OpenShift. Tools like Source-to-Image (S2I) and the WildFly Operator for Kubernetes simplify deployment and management in these platforms. The ability to create lean server distributions via Galleon and WildFly Glow directly supports creating smaller, more efficient container images.
Across the numerous releases from 18.0.1 to 36.0.1, hundreds of bugs have been fixed, and performance has been continually refined. These include addressing NullPointerExceptions (NPEs), race conditions, deployment issues (e.g., with Jakarta MVC template engines, PostgreSQL driver compatibility), and improving server startup time and resource management.
The following radar chart provides a visual comparison of key feature areas across representative WildFly versions, illustrating the progression from version 18.0.1 through an intermediate stage (represented by WildFly 28, notable for Micrometer introduction) to the current WildFly 36.0.1. The scores (on a scale of 3 to 10) are subjective interpretations based on the described advancements, where higher scores indicate more advanced or comprehensive support.
This mindmap illustrates the interconnected areas of development and key advancements in WildFly from version 18.0.1 to 36.0.1, showcasing the breadth of enhancements across its core functionalities.
The table below provides a comparative snapshot of key functional areas across different WildFly versions, highlighting the progression.
| Feature Area | WildFly 18.0.1 Status (circa 2019) | Intermediate Milestones (e.g., WildFly 26-28) | WildFly 36.0.1 Status (May 2025) |
|---|---|---|---|
| Jakarta EE Support | Jakarta EE 8 certified | Transition to Jakarta EE 9.1, early EE 10 work | Full Jakarta EE 10 Platform support; WildFly Preview with EE 11 Core Profile |
| MicroProfile Support | MicroProfile 3.0 | Ongoing updates; Micrometer subsystem introduced (WF28) | MicroProfile 7.0 APIs and other MP specifications |
| Security Subsystem | Legacy security (PicketBox) with initial Elytron support | Major migration to Elytron; legacy security deprecation (WF25+) | Elytron as the sole, default security framework; legacy removed |
| Observability | Basic JMX metrics, some MicroProfile Metrics | Micrometer subsystem added for advanced metrics | Micrometer integration with Prometheus endpoint; OpenTelemetry focus |
| Java Version Recommended | Java 8, Java 11 | Support for Java 17 emerging | Java 17, 21 (EA tested), aims for recent LTS; quickstarts require SE 17+ |
| Provisioning & Tooling | Standard tooling, early Galleon | Galleon improvements | Mature Galleon, WildFly Glow, JBang integration, Server Migration Tool |
| Cloud-Native Features | Initial Kubernetes/OpenShift efforts | Enhanced container images, operator improvements | Optimized for cloud, strong Kubernetes/OpenShift support, lean runtimes |
| Component Upgrades (Example: Hibernate) | Hibernate ORM 5.x | Hibernate ORM ~6.x | Hibernate ORM 6.4.x, Preview with ORM 7 Beta / Search 8 Alpha |
While not specific to WildFly version changes, the following video discusses the broader context of developer experience with various Java application servers, including WildFly. This can provide a perspective on how WildFly fits into the larger Java ecosystem and the importance of the enhancements discussed.
javax.* to jakarta.*), security configuration (migrating from legacy to Elytron), and updates to dependencies. WildFly provides a Server Migration Tool to assist with configuration changes for supported upgrade paths (e.g., from WF26+ to WF36).The journey from WildFly 18.0.1 to 36.0.1 reflects a significant transformation, positioning WildFly as a modern, robust, and highly capable application server. Key themes include the full embrace of Jakarta EE 10 and MicroProfile 7.0, a complete overhaul of the security infrastructure with Elytron, substantial improvements in observability through Micrometer, and enhanced tooling for developer productivity and cloud-native deployments. These advancements ensure WildFly remains a competitive and relevant platform for developing and deploying enterprise Java applications in diverse environments, from traditional servers to scalable cloud infrastructures.