Release notes for Red Hat JBoss Enterprise Application Platform 8.1
These release notes contain important information related to Red Hat JBoss Enterprise Application Platform release 8.1
Abstract
Preface Copy linkLink copied to clipboard!
These release notes contain important information related to Red Hat JBoss Enterprise Application Platform 8.1.
Providing feedback on JBoss EAP documentation Copy linkLink copied to clipboard!
To report an error or to improve our documentation, log in to your Red Hat Jira account and submit an issue. If you do not have a Red Hat Jira account, then you will be prompted to create an account.
Procedure
- Click the following link to create a ticket.
- Enter a brief description of the issue in the Summary.
- Provide a detailed description of the issue or enhancement in the Description. Include a URL to where the issue occurs in the documentation.
- Clicking Submit creates and routes the issue to the appropriate documentation team.
Making open source more inclusive Copy linkLink copied to clipboard!
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Due to the enormity of this endeavor, these changes will be gradually implemented over upcoming releases. For more details on making our language more inclusive, see our CTO Chris Wright’s message.
Chapter 1. How to read the Red Hat JBoss Enterprise Application Platform 8.1 documentation Copy linkLink copied to clipboard!
We are in the process of modernizing the Red Hat JBoss Enterprise Application Platform 8.1 documentation. We are working to create more solution-centric documentation.
The JBoss EAP 8.1 documentation contains content specific to the JBoss EAP 8.1 release including new and enhanced features found in JBoss EAP 8.1. Functionality from previous releases that are still supported in JBoss EAP 8.1 can be accessed in the JBoss EAP 7.4 documentation set. You can access the documentation set at Product Documentation for Red Hat JBoss Enterprise Application Platform 7.4.
The following is a suggested approach for using the JBoss EAP 8.1 documentation:
- Read the JBoss EAP 8.1 Release notes to learn about new, enhanced, unsupported, and removed features.
- Read the other JBoss EAP 8.1 documentation set for detailed information about new and enhanced features.
- Read the JBoss EAP 8.1 Migration Guide for details on how to migrate applications to JBoss EAP 8.1.
- If you need information on features supported from previous releases that have not been enhanced in JBoss EAP 8.1, see the JBoss EAP 7.4 documentation set at Product Documentation for Red Hat JBoss Enterprise Application Platform 7.4. For example, development and configuration guides are available in the JBoss EAP 7.4 documentation set.
Chapter 2. Supported configurations Copy linkLink copied to clipboard!
For more information about supported and tested configurations for Java Virtual Machines (JVMs) and JBoss EAP 8.1, including commonly used operating systems, databases, and JMS brokers, see the Red Hat JBoss Enterprise Application Platform 8.1 supported configurations Knowledgebase article on the Red Hat Customer Portal.
For more information about included modules, supported standards, and Red Hat JBoss Enterprise Application Platform component details, see the following support documents:
2.1. OpenShift images Copy linkLink copied to clipboard!
Builder and Runtime images are supported for OpenJDK 17 / RHEL 9 and OpenJDK 21 / RHEL 9 on Intel, IBM systems Z & P, and ARM architectures.
2.2. Red Hat build of Keycloak SAML adapters support Copy linkLink copied to clipboard!
You can now install Red Hat build of Keycloak SAML adapters using the Keycloak SAML adapter Galleon feature pack. For information about Red Hat build of Keycloak, see the Red Hat build of Keycloak product page.
2.3. MariaDB Driver logging dependency Copy linkLink copied to clipboard!
In JBoss EAP 8.1, the MariaDB Driver includes a dependency on the org.slf4j module to improve logging functionality. This prevents possible errors when slf4j classes are unavailable, and ensures proper handling of log messages. When deploying the MariaDB Driver module, you must ensure the slf4j dependencies are available to leverage this enhancement. For more information, see How to configure MariaDB driver 3.0+ as a JBoss Module in EAP 7 / 8.
2.4. JBoss EAP 8.1 Operator Copy linkLink copied to clipboard!
JBoss EAP 8.1 now supports the EAP operator. You can now deploy your JBoss EAP 8.1 applications using the JBoss EAP operator. For more information, see JBoss EAP Operator Support Policy.
Chapter 3. New features and enhancements Copy linkLink copied to clipboard!
JBoss EAP 8.1 introduces the following new features and enhancements.
3.1. Management CLI Copy linkLink copied to clipboard!
3.1.1. New operation to export server configuration as a stream Copy linkLink copied to clipboard!
You can now export your server configuration as XML using the new read-config-as-xml-file operation. This feature works for both standalone servers and managed domains in JBoss EAP. The operation returns a stream that you can either view directly in the management CLI or save to a file for later use.
To display the server configuration, use the operation with the
attachment displaycommand.Example: Display the configuration for a standalone server or a domain
attachment display --operation=:read-config-as-xml-fileExample: Display the configuration for a host
attachment display --operation=/host=<host-name>:read-config-as-xml-fileExample: Display the configuration for a server on a host
attachment display --operation=/host=<host-name>/server=<server-name>:read-config-as-xml-fileTo save the server configuration, use the operation with the
attachment savecommand.Example: Save the configuration for a standalone server or a domain to a file
attachment save --operation=:read-config-as-xml-file --file=<file-name>Example: Save the configuration for a host
attachment save --operation=/host=<host-name>:read-config-as-xml-file --file=<file-name>Example: Display the configuration for a server on a host
attachment save --operation=/host=<host-name>/server=<server-name>:read-config-as-xml-file --file=<file-name>
The read-config-as-xml, which returned the server configuration as a String object has been deprecated due to the introduction of the read-config-as-xml-file operation.
3.1.2. Updated transaction heuristics display Copy linkLink copied to clipboard!
In previous JBoss EAP versions, the management CLI reported a generic transaction HEURISTIC status and participants were designated by a numbered list. For example:
[standalone@localhost:9990 /] /subsystem=transactions/log-store=log-store:read-resource(recursive=true, include-runtime=true)
{
"outcome" => "success",
"result" => {
"expose-all-logs" => false,
"type" => "default",
"transactions" => {"0:ffff0a8004bc:-28a3b85d:66fd4682:10" => {
"age-in-seconds" => "15",
"id" => "0:ffff0a8004bc:-28a3b85d:66fd4682:10",
"jmx-name" => undefined,
"type" => "StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction",
"participants" => {"1" => {
"eis-product-name" => undefined,
"eis-product-version" => undefined,
"jmx-name" => undefined,
"jndi-name" => "1",
"status" => "HEURISTIC",
"type" => "/StateManager/AbstractRecord/XAResourceRecord"
}}
}}
}
}
In JBoss EAP 8.1, the management CLI reports a more precise status: HEURISTIC_COMMIT, HEURISTIC_ROLLBACK, HEURISTIC_HAZARD, or HEURISTIC_MIXED. Participants are designated now by jndi-name. For example:
[standalone@localhost:9990 /] /subsystem=transactions/log-store=log-store:read-resource(recursive=true, include-runtime=true)
{
"outcome" => "success",
"result" => {
"expose-all-logs" => false,
"type" => "default",
"transactions" => {"0:ffff0a83027b:49e508a7:66fbc17e:10" => {
"age-in-seconds" => "6668",
"id" => "0:ffff0a83027b:49e508a7:66fbc17e:10",
"jmx-name" => undefined,
"type" => "StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction",
"participants" => {"java:/MockXAResource" => {
"eis-product-name" => "MockXAResource Test",
"eis-product-version" => "0.1.Mock",
"jmx-name" => undefined,
"jndi-name" => "java:/MockXAResource",
"status" => "HEURISTIC_ROLLBACK",
"type" => "/StateManager/AbstractRecord/XAResourceRecord"
}}
}}
}
}
You may need to update existing scripts and user procedures.
3.2. OpenShift Copy linkLink copied to clipboard!
3.2.1. Configuring OpenShift startup probe through Helm Charts Copy linkLink copied to clipboard!
Startup probe configuration is now available in JBoss EAP using Helm Charts. You can configure startup, readiness and liveness probes. You can also adjust all probe parameters, including timeouts, delays and probe types.
3.2.2. Helm Charts in JBoss EAP 8.1 Copy linkLink copied to clipboard!
JBoss EAP 8.1 provides a Helm chart for building and deploying JBoss EAP 8.1 applications on OpenShift. You can now also build and deploy JBoss EAP applications running on OpenJDK 21.
3.3. Web services Copy linkLink copied to clipboard!
3.3.1. JSON merge patch Copy linkLink copied to clipboard!
JBoss EAP 8.1 supports the use of JSON merge patches. You can use the JSON merge patch feature to change the target resource. The client sends the JSON change directly to the server resource where it is merged to the target resource. The requested Uniform Resource Identifier (URI) is used to identify the target resource.
PATCH /StudentPatchTest/students/1 HTTP/1.1
Content-Type: application/merge-patch+json
Content-Length: 34
Host: localhost:8090
Connection: Keep-Alive
{"firstName":"Green","school":null}
The JSON merge patch feature is enabled by default. To use this feature, annotate the resource method with @Consumes("application/merge-patch+json"). For more information about the JSON merge patch feature, see JSON patch and JSON merge patch in the RESTEasy user guide.
The configuration switch, resteasy.patchfilter.disabled, is set to false by default. For more information about this switch, see Configuration switches in the RESTEasy user guide.
@GET
@Path("/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Student getStudent(@PathParam("id") long id) {
Student student = studentsMap.get(id);
if (student == null) {
throw new NotFoundException();
}
return student;
}
@PATCH
@Path("/{id}")
@Consumes("application/merge-patch+json")
@Produces(MediaType.APPLICATION_JSON)
public Student mergePatchStudent(@PathParam("id") long id, Student student)
{
if (studentsMap.get(id) == null)
{
throw new NotFoundException();
}
studentsMap.put(id, student);
return student;
}
3.4. Quickstarts and BOMs Copy linkLink copied to clipboard!
3.4.1. HTTP custom mechanism quickstart Copy linkLink copied to clipboard!
An http-custom-mechanism quickstart is now available in JBoss EAP 8.1. This quickstart illustrates how to implement a custom HTTP authentication mechanism and register the mechanism with the elytron subsystem. For more information, see the jboss-eap-quickstarts github repository.
3.4.2. JAX-RS JSON Web Tokens quickstart Copy linkLink copied to clipboard!
A new jaxrs-jwt quickstart is available. It provides an example of a JAX-RS secured application that uses JSON Web Tokens (JWT) for enhanced security. See jboss-eap-quickstarts.
3.5. ActiveMQ Artemis Copy linkLink copied to clipboard!
JBoss EAP 8.1 introduces the new public org.apache.activemq.artemis.client module for accessing messaging classes from user deployments. Previously, no similar public module was available, and applications might have relied on the deprecated internal org.apache.activemq.artemis module instead.
The internal org.apache.activemq.artemis module still exists but was changed to private and refactored. Some classes are no longer accessible through it and are now available in the new org.apache.activemq.artemis.client module. This change might cause applications that use the internal module to encounter ClassNotFoundException errors. You must update your application configurations to use the new client module.
For more information, see Replace dependency on deprecated ActiveMQ Artemis module in the Migration Guide.
3.6. High availability Copy linkLink copied to clipboard!
3.6.1. Defining number of messages during scale down: Copy linkLink copied to clipboard!
The scale-down-commit-interval attribute is now added to the HA policy. Moving messages from one broker to another during scale-down involves an internal transaction per queue. This attribute defines the number of messages in that transaction so that the memory requirements for the transaction don’t exceed the limits of the available heap.
3.7. Server provisioning Copy linkLink copied to clipboard!
3.7.1. JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
You can now use the JBoss EAP Maven plug-in to provision a JBoss EAP for bare metal. In previous releases you could only use the JBoss EAP Maven plug-in for OpenShift Container Platform. Additionally, you can package the provisioned server,as a bootable jar on baremetal.
For more information, see Provisioning JBoss EAP.
3.8. Development environments Copy linkLink copied to clipboard!
3.8.1. VSCode Copy linkLink copied to clipboard!
Starting in JBoss EAP 8.1 Beta, VSCode integration is fully supported.
Chapter 4. Unsupported, deprecated, and removed functionality Copy linkLink copied to clipboard!
4.1. Unsupported features Copy linkLink copied to clipboard!
The following features are not supported by Red Hat.
4.1.1. Bootable JAR on OpenShift Copy linkLink copied to clipboard!
Bootable JAR on OpenShift is not supported for JBoss EAP 8.1. Instead, you can use the content trimming capability for deployment runtime in JBoss EAP for OpenShift.
For more information, see Capability trimming in JBoss EAP for OpenShift in Using JBoss EAP on OpenShift Container Platform.
4.2. Deprecated features Copy linkLink copied to clipboard!
Some features are deprecated with this release. This means that no enhancements will be made to these features, and they might be removed in a future release. For more information, see Deprecated in Red Hat JBoss Enterprise Application Platform (EAP) 8.
Red Hat will continue providing full support and bug fixes under our standard support terms and conditions. For more information about the Red Hat support policy, see the Red Hat JBoss Middleware Product Update and Support Policy located on the Red Hat Customer Portal.
The following features are deprecated:
4.2.1. read-config-as-xml operation Copy linkLink copied to clipboard!
The read-config-as-xml operation has been deprecated in JBoss EAP 8.1. Use the read-config-as-xml-file operation instead. For more information, see New operation to export server configuration as a stream.
4.2.2. Java 11 Copy linkLink copied to clipboard!
Java 11 has been deprecated and support ends with JBoss EAP 8.1.
4.2.3. OpenShift OpenJDK 17 images Copy linkLink copied to clipboard!
OpenShift OpenJDK 17 images are deprecated with JBoss EAP 8.1 and will be removed in an upcoming JBoss EAP 8.2 minor release.
4.3. Removed features Copy linkLink copied to clipboard!
JBoss EAP 8.1 removes the following features.
name attribute removed from management model resources
In JBoss EAP 8.1, the name attribute has been removed from management model resources. The attribute has been deprecated since JBoss EAP 6.1 because it is redundant. The resource name is already part of the resource address.
This change can break existing CLI scripts that still use the name attribute. For example, a script that works in JBoss EAP 8.0 will fail in JBoss EAP 8.1 if the name attribute is present.
Example of a script that works in JBoss EAP 8.0
[standalone@embedded /] /subsystem=logging/periodic-rotating-file-handler=FILE2:add(append=true,autoflush=true,enabled=true,file={path=server2.log,relative-to=jboss.server.log.dir},level=ALL,name=FILE2,named-formatter=PATTERN,suffix=.yyyy-MM-dd)
{"outcome" => "success"}
Example of a script that fails in JBoss EAP 8.1
[standalone@embedded /] /subsystem=logging/periodic-rotating-file-handler=FILE2:add(append=true,autoflush=true,enabled=true,file={path=server2.log,relative-to=jboss.server.log.dir},level=ALL,name=FILE2,named-formatter=PATTERN,suffix=.yyyy-MM-dd)
'name' is not found among the supported properties: [append, autoflush, enabled, encoding, file, filter, filter-spec, formatter, level, named-formatter, suffix]
Corrected script without the name attribute (works in JBoss EAP 8.1)
[standalone@embedded /] /subsystem=logging/periodic-rotating-file-handler=FILE2:add(append=true,autoflush=true,enabled=true,file={path=server2.log,relative-to=jboss.server.log.dir},level=ALL,named-formatter=PATTERN,suffix=.yyyy-MM-dd)
{"outcome" => "success"}
4.3.1. --no-resolve-local-cache parameter Copy linkLink copied to clipboard!
The --no-resolve-local-cache parameter for the wildfly-jar-maven-plugin has been removed. The behavior previously enabled by this parameter is now default. The plugin no longer resolves artifacts from the local Maven cache by default.
To restore the previous default behavior of resolving artifacts from the local cache, you must now explicitly use the new --use-default-local-cache parameter in your configuration.
Chapter 5. Resolved issues Copy linkLink copied to clipboard!
See Resolved Issues for Red Hat JBoss Enterprise Application Platform 8.1 to view the list of issues originating from customer cases resolved for this current release, as well as resolved issues that customers could encounter in previous releases.
Chapter 6. Known issues Copy linkLink copied to clipboard!
See Known Issues for Red Hat JBoss Enterprise Application Platform 8.1 to view the list of known issues for this release.
6.1. Limitations and known issues of documentation translations Copy linkLink copied to clipboard!
Translations in German, Spanish, and Portuguese are not included in the JBoss EAP 8.1 release. These translations will be provided in a subsequent update release.
Revised on 2025-08-28 18:13:11 UTC