What Is New in Jakarta EE Platform 10
Jakarta EE 10 delivers a major evolution focused on modern cloud-native development, introducing new APIs and significant updates to existing ones. This release strengthens the foundation for building portable, scalable enterprise applications.
| Category | Key Changes |
|---|---|
| New APIs | Jakarta Data, Jakarta Core Profile |
| Major Updates | CDI 4.0, JSON Processing 2.1, RESTful Web Services 3.1, Persistence 3.1, Servlet 6.0, Faces 4.0 |
| Improvements | Enhanced CDI Lite, New Build Compatible Extensions, Updated Security Mechanisms |
| Deprecations | Removal of select deprecated functionality from previous releases |
What new APIs were introduced?
Jakarta EE 10 introduces two foundational new APIs. Jakarta Data provides a unified programming model for repository-based data access, abstracting over different persistence technologies. The Jakarta Core Profile offers a minimal subset of Jakarta EE for developing lightweight applications.
Jakarta Data lets developers work with repositories without being tied to a specific database or vendor implementation. The Core Profile is a significant step for microservices, containing only CDI, JSON Processing, and a few other essential specs.
How has CDI been improved?
CDI 4.0 is a central pillar of this release, split into Lite and Full configurations. CDI Lite is now a core part of the platform, focusing on build-time concerns and making it ideal for modern containerized environments.
A major new feature is the introduction of Build Compatible Extensions. These extensions operate at build time, allowing for class transformation and extension registration without the overhead of traditional runtime extensions. This approach significantly improves application startup performance.
What are the key web profile updates?
The web tier sees substantial updates with Servlet 6.0, Faces 4.0, and RESTful Web Services 3.1. These updates include alignment with the latest JDK versions and the introduction of new features for building modern web applications.
Servlet 6.0 brings support for the HTTP Push promise and other protocol enhancements. Faces 4.0 drops support for some legacy features, streamlining the API. REST 3.1 adds support for server-sent events (SSE) and improves the programmatic client builder.
Were there any breaking changes?
Yes, Jakarta EE 10 includes some breaking changes as part of its evolution. Several specifications have removed functionality that was deprecated in Jakarta EE 9.1, so it's crucial to check the compatibility of existing applications.
For instance, the platform has continued the removal of legacy EE vendor-specific deployment descriptors and other outdated features. This cleanup reduces the platform's footprint and paves the way for future innovations.
FAQ
Is Jakarta EE 10 compatible with Java SE 11 and 17?
Yes, Jakarta EE 10 requires Java SE 11 or later, with full support for Java SE 17. This alignment allows developers to use the latest Java LTS releases and their new language features.
What is the practical benefit of the new Jakarta Core Profile?
The Core Profile lets you build ultra-lightweight applications and microservices. It includes only CDI, JSON Processing, Dependency Injection, Annotations, and Interceptors, resulting in a smaller runtime footprint and faster startup times.
Does Jakarta Data replace Jakarta Persistence (JPA)?
No, Jakarta Data is a higher-level abstraction that can work on top of Jakarta Persistence, Jakarta NoSQL, or other data storage technologies. It provides a unified API for repository-style data access.
Why should I care about Build Compatible Extensions in CDI?
They shift work from runtime to build time. This means your application starts faster because the container doesn't have to process extensions during initialization, which is a big win for serverless and containerized deployments.
Where can I find the full list of changes for each specification?
The complete details for every updated component, including the final release specifications, are available on the Jakarta EE 10 Release Page.