What New Features Does Jakarta EE 10 Introduce?
Jakarta EE 10 requires Java 11 (with optional Java 17 support) and brings a mix of minor and major updates across dozens of specifications, including new versions of Authentication, Concurrency, CDI, EL, JSON Binding, Security, Server Faces, Standard Tag Library, SOAP with Attachments, XML Binding, and a streamlined Core Profile for microservices.
Java 11 & 17
Jakarta EE 9.1 still supports Java 8, but Jakarta EE 10 requires at least Java 11 and also provides optional support for Java 17.
Which Specifications Changed?
This is not a minor release; Jakarta EE 10 includes almost as many major updates (11) as minor ones (12). The updated specifications are:
Activation 2.1 (minor)
Annotations 2.1 (minor)
Authentication 3.0 (major)
Authorization 2.1 (minor)
Batch 2.1 (minor)
Concurrency 3.0 (major)
Connectors 2.1 (minor)
Contexts and Dependency Injection 4.0 (major)
Expression Language 5.0 (major)
Interceptors 2.1 (minor)
JSON Binding 3.0 (major)
JSON Processing 2.1 (minor)
Mail 2.1 (minor)
Messaging 3.1 (minor)
Persistence 3.1 (minor)
RESTful Web Services 3.1 (minor)
Security 3.0 (major)
Server Faces 4.0 (major)
Server Pages 3.1 (minor)
Servlet 6.0 (major)
SOAP with Attachments 3.0 (major)
Standard Tag Library 3.0 (major)
WebSocket 2.1 (minor)
XML Binding 4.0 (major)
XML Web Services 4.0 (major)
Authentication
Authentication 3.0 now allows a ServerAuthModule to interact programmatically with other specifications, such as obtaining references to data sources, Jakarta Enterprise Beans, or CDI beans. A new key jakarta.servlet.http.isAuthenticationRequest enables modules to distinguish themselves at different points in the request lifecycle. The version also adds default methods for adding or removing individual server authentication modules and includes broader API updates.
Concurrency
The biggest visible change in the new Jakarta Concurrency version is its relocation into the Jakarta EE web profile distribution. Concurrency 3.0 also adds several new features:
Asynchronous methods
Context‑aware completion stages and future‑compatible extensions
Context propagation adapted for parallel stream operations
Modernized trigger mechanisms with Cron support
Propagation of third‑party context types
Resource definition annotations
CDI
CDI receives extensive changes, most notably the introduction of CDI Lite with Build‑Compatible Extensions and the shift of the empty beans.xml interpretation from “all” to “annotated”. This can cause existing applications to stop working after an upgrade, so developers must account for it.
Expression Language (EL)
The primary goal of this major version is to remove the long‑standing misspelled method isParmetersProvided. Additional enhancements include:
The BeanELResolver is now the default implementation for searching property getters and setters.
Lambda expressions can be forced as functional‑interface method calls.
Array handling is now enforceable.
The MethodReference class can be used to access details via MethodExpression.
General API updates.
JSON Binding
This version removes the optional @JsonbCreator parameter for backward compatibility and adds support for deserializing JsonValue.NULL_VALUE, polymorphic types, and the use of JsonbTypeDeserializer and JsonbTypeAdapter as parameters or type annotations.
Security
A core feature of this Security version is support for OpenID Connect as an authentication mechanism. Additional changes include new wrappers for HttpAuthenticationMechanism and IdentityStore, allowing developers to define custom behavior.
Server Faces
Faces (no longer called JSF) is a significant major update in Jakarta EE 10, offering a new API for programmatic creation of Facelets, automatic extension‑less mapping, custom cookie attributes, and a mix of new attributes and tags. It also removes several deprecated methods and categories such as ResourceResolver.
Standard Tag Library
The most common change is the update of the old xmlns.jcp.org URL’s URN, preventing copy‑paste errors.
SOAP with Attachments
This version removes all references and support for JAXM (Java API for XML Messaging), meaning jaxm.properties files are no longer usable. It also adds enhancements such as making
SOAPConnection AutoCloseable.
XML Binding
XML Binding 4.0 drops support for JAXB 1.0—developers should not rely on it any longer. Constraints on java.desktop/java.beans.Introspector are removed, and the implementation lookup mechanism is changed.
XML Web Services
The Jakarta Web Services metadata specification is now part of this release, so any independent metadata artifacts will no longer be updated or published.
Core Profile
The Core Profile is a new “distribution” specification in Jakarta EE 10 that provides a slimmer set of specs compared to the Web Profile, aimed at microservices and ahead‑of‑time compilation. It includes Concurrency 3.0, Dependency Injection 2.0, CDI Lite 4.0, and RESTful Web Services 3.1.
This overview only scratches the surface of the many changes introduced in Jakarta EE 10.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
JakartaEE China Community
JakartaEE China Community, official website: jakarta.ee/zh/community/china; gitee.com/jakarta-ee-china; space.bilibili.com/518946941; reply "Join group" to get QR code
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
