Skip to Content

Jakarta EE 11 Delivers One New Specification, 16 Updated Specifications and Modernized TCK

Jakarta EE 11 has arrived, marking a significant milestone for enterprise Java developers worldwide. This latest release introduces one new specification, 16 updated specifications and modernized TCK, all designed to enhance performance, streamline testing, and boost developer productivity. As the enterprise Java landscape evolves, Jakarta EE 11 aligns with modern development needs, offering a robust platform for building cloud-native and mission-critical applications. With a focus on simplifying data access and leveraging Java 21’s capabilities, this release is a game-changer for developers aiming to create scalable, efficient, and secure applications.

What’s New in Jakarta EE 11?

Jakarta EE 11 builds on the foundation laid by its predecessors, delivering a refined set of tools and specifications that cater to both traditional enterprise systems and modern cloud-native architectures. The release includes a new specification, updates to existing ones, and a revamped testing framework, making it easier for developers to create reliable applications. Let’s dive into the key highlights of this release and explore how they empower developers.

Introducing Jakarta Data: A New Specification

One of the standout features of Jakarta EE 11 is the introduction of the Jakarta Data specification. This new addition simplifies data access by providing a standardized way to interact with both relational and non-relational databases. By adopting the repository pattern, Jakarta Data reduces the complexity of persistence logic, allowing developers to focus on business logic rather than boilerplate code.

Key features of Jakarta Data include:

  • BasicRepository: A supertype for performing basic operations on entities, streamlining database interactions.
  • CrudRepository: Facilitates create, read, update, and delete (CRUD) operations, making database management more intuitive.
  • Pagination Support: Offers both offset and cursor-based pagination for efficient data retrieval.
  • Jakarta Data Query Language: A streamlined query language designed to define the semantics of repository methods, enhancing developer productivity.

This specification is particularly valuable for developers working with diverse data sources, as it supports seamless integration with NoSQL databases, aligning with the growing popularity of polyglot persistence in modern applications.

16 Updated Specifications and Modernized TCK

The release of Jakarta EE 11 brings 16 updated specifications and modernized TCK, ensuring that the platform remains relevant and efficient. These updates align the platform with Java 21, introducing support for advanced features like virtual threads and records. The modernized Technology Compatibility Kit (TCK) has been restructured to use contemporary tools, making it easier for developers to test and validate their applications.

The TCK overhaul involved transitioning from outdated tools like Apache ANT and Java Test Harness to JUnit 5 and Apache Maven. This shift reduces the learning curve for new contributors and enhances the accessibility of the testing framework. By streamlining the TCK structure, Jakarta EE 11 lowers the barriers to adding new tests, fostering faster innovation and improved compatibility testing.

Key Specification Updates

The 16 updated specifications in Jakarta EE 11 cover a wide range of functionalities, from web services to dependency injection. Here are some notable updates:

  • Jakarta Contexts and Dependency Injection (CDI) 4.1: Enhanced CDI integration across multiple specifications ensures consistent application behavior. This update strengthens Jakarta EE’s CDI-centric approach, making it easier to manage dependencies and build modular applications.
  • Jakarta Persistence 3.2: Now supports Java SE Records as @Embeddable or @IdClass, reducing boilerplate code and improving data integrity.
  • Jakarta Validation 3.1: Introduces validation rules for Java SE Records, enhancing data consistency in enterprise applications.
  • Jakarta Servlet 6.1: Removes references to the deprecated SecurityManager and adds support for managing status codes and response bodies during redirects.
  • Jakarta Faces 5.0: Aligns further with CDI and removes SecurityManager references, improving compatibility with modern Java practices.
  • Jakarta Concurrency: Leverages Java 21’s virtual threads to enhance performance, enabling efficient handling of concurrent tasks with reduced overhead.

These updates reflect Jakarta EE’s commitment to staying aligned with the latest Java advancements while maintaining stability and backward compatibility.

Modernizing the TCK: A Game-Changer for Testing

The modernization of the TCK is a cornerstone of Jakarta EE 11’s release. By moving to JUnit 5 and Apache Maven, the TCK becomes more accessible to developers familiar with modern testing frameworks. The shift to a multi-dependency Maven project, proposed by contributor Markus Karg, simplifies the process of validating implementations at both the component and platform levels.

This restructuring addresses long-standing challenges, such as the steep learning curve associated with the previous TCK framework. With a more intuitive and maintainable testing environment, Jakarta EE 11 encourages broader community participation, enabling faster development cycles and more robust compatibility testing. The modernized TCK ensures that implementations like Eclipse GlassFish, Open Liberty, and WildFly can be certified efficiently, providing developers with reliable runtimes for their applications.

Deprecations and Removals for a Leaner Platform

Jakarta EE 11 takes a bold step toward simplification by deprecating and removing outdated specifications. The Managed Beans specification, for instance, has been deprecated and replaced with CDI alternatives, streamlining the programming model. Similarly, references to the Java SE SecurityManager have been removed in alignment with JEP 411, paving the way for modern security practices.

Other removals include:

  • Jakarta SOAP with Attachments: Eliminated to reduce complexity and focus on more relevant web service technologies.
  • Jakarta XML Binding: Removed to eliminate unnecessary dependencies, as modern applications increasingly rely on JSON-based data exchange.
  • CORBA Interoperability: Deprecated to align with current industry trends, as CORBA is rarely used in modern enterprise applications.

These changes make Jakarta EE 11 leaner and more focused, allowing developers to build applications with less technical debt and greater efficiency.

Java 21 Integration: Unlocking New Possibilities

Jakarta EE 11’s alignment with Java 21 introduces powerful features that enhance performance and developer productivity. Support for virtual threads allows developers to handle concurrent tasks more efficiently, reducing the overhead associated with traditional thread management. Java Records, now supported across multiple specifications, simplify data modeling by reducing boilerplate code and ensuring data integrity.

By targeting Java 17 as the minimum runtime and optimizing for Java 21, Jakarta EE 11 ensures that developers can leverage the latest Java innovations while maintaining compatibility with existing systems. This flexibility makes the platform suitable for both legacy enterprise applications and cutting-edge cloud-native solutions.

Community-Driven Innovation

The success of Jakarta EE 11 is a testament to the collaborative efforts of the Eclipse Foundation and its community. Industry leaders like Microsoft, Red Hat, IBM, and Fujitsu have played pivotal roles in shaping the release. Microsoft led the release coordination, while Red Hat contributed significantly to the TCK modernization. The community’s open governance model ensures that Jakarta EE remains vendor-neutral and responsive to developer needs.

Certified implementations, such as Eclipse GlassFish for the Web Profile and Open Liberty, WildFly, and Payara for the Core Profile, demonstrate the platform’s broad adoption. As more vendors certify their products, Jakarta EE 11’s compatibility with diverse runtimes will continue to grow, offering developers greater flexibility.

Looking Ahead: Jakarta EE 12 and Beyond

With Jakarta EE 11 setting a new standard for enterprise Java, the community is already looking toward Jakarta EE 12, slated for release in 2026. This upcoming version will raise the API source level to Java SE 21 and support Java SE 25 at runtime. Potential additions, such as Jakarta Query and Jakarta MVC, promise to further enhance the platform’s capabilities.

The focus on continuous improvement and community collaboration ensures that Jakarta EE remains a vital technology stack for enterprise developers. By joining the Jakarta EE Working Group or participating in mailing lists, developers can contribute to shaping the future of enterprise Java.

Jakarta EE 11 delivers one new specification, 16 updated specifications and modernized TCK, making it a pivotal release for enterprise Java developers. The introduction of Jakarta Data, combined with updates to core specifications and a revamped TCK, empowers developers to build efficient, scalable, and secure applications. By aligning with Java 21 and embracing modern tools, Jakarta EE 11 sets the stage for the next generation of cloud-native and enterprise solutions. As the community continues to innovate, Jakarta EE remains a cornerstone of enterprise Java, driving performance and productivity for developers worldwide.

Build AI-Powered Apps with Claude Artifacts