Latest in branch 8
8.0.0
Released 03 Sep 2019
(6 years ago)
SoftwareJakarta EE Platform
Branch8
Supported
Java versions
Java SE 8+
Initial release8.0.0
03 Sep 2019
(6 years ago)
Latest release8.0.0
03 Sep 2019
(6 years ago)
Namespace javax.*
Source codehttps://github.com/jakartaee/servlet/tree/8.0.0-RELEASE
Documentationhttps://jakarta.ee/specifications/platform/8
Downloadhttps://mvnrepository.com/artifact/jakarta.platform/jakarta.jakartaee-api/8.0.0
Jakarta EE Platform 8 ReleasesView full list

What Is New in Jakarta EE Platform 8

Jakarta EE 8 is a major milestone that finalizes the transfer from Java EE to the Eclipse Foundation. It focuses on providing a stable foundation for future innovations with full compatibility for existing Java EE applications.

Category Key Changes
New Specifications Jakarta JSON Binding 1.0, Jakarta RESTful Web Services 2.1
Updated Specifications CDI 2.0, JSON-P 1.1, Servlet 4.0, Bean Validation 2.0
Namespace Change All specs moved from javax.* to jakarta.* namespace
Compatibility Maintains full compatibility with Java EE 8 applications

How does the namespace change from javax to jakarta affect my code?

The move from javax.* to jakarta.* is the most visible change in Jakarta EE 8. This establishes a clean break from Oracle's stewardship and creates a new foundation under the Eclipse Foundation.

Your existing Java EE 8 code will continue to work unchanged on Jakarta EE 8 runtimes. The platform maintains full backward compatibility while setting the stage for future evolution under the new namespace.

In practice, this means you can migrate existing applications without immediate code changes. New applications should use the jakarta.* imports for future-proofing.

What new API capabilities were added in this release?

Jakarta EE 8 introduces Jakarta JSON Binding 1.0, providing a standard API for converting Java objects to and from JSON documents. This fills a gap that previously required third-party libraries.

Jakarta RESTful Web Services 2.1 adds server-sent events (SSE) support, enabling efficient push notifications from servers to clients. This is particularly useful for real-time applications like dashboards and live feeds.

Servlet 4.0 brings HTTP/2 support, offering performance improvements through multiplexing, header compression, and server push capabilities. This matters because it reduces latency and improves page load times for web applications.

Which existing specifications received significant updates?

CDI 2.0 enhances the programming model with asynchronous events, alignment with Java 8 features, and improved modularity. The async events are particularly useful for building reactive-style applications.

Bean Validation 2.0 fully leverages Java 8 features with support for type annotations, repeatable annotations, and new built-in constraints. You can now use @Email, @NotEmpty, and @NotBlank out of the box.

JSON-P 1.1 adds JSON Pointer, JSON Patch, and JSON Merge Patch support, making it easier to manipulate JSON documents without parsing entire structures. This simplifies partial updates in REST APIs.

FAQ

Is Jakarta EE 8 compatible with my existing Java EE 8 applications?
Yes, Jakarta EE 8 maintains full compatibility with Java EE 8 applications. Your existing code will run without changes on Jakarta EE 8 compatible implementations.

When should I start using jakarta.* imports instead of javax.*?
For new projects, use jakarta.* imports immediately. For existing projects, you can continue using javax.* until you're ready to migrate, as the platform supports both during this transition.

What's the main benefit of the new JSON Binding API?
Jakarta JSON Binding 1.0 provides a standard way to serialize Java objects to JSON and deserialize JSON to Java objects without needing external libraries like Jackson or Gson.

Does HTTP/2 in Servlet 4.0 require code changes?
No, HTTP/2 support is largely transparent to application code. Servers handle the protocol upgrade automatically, though you may need server configuration changes to enable it.

Can I use Java 8 lambdas with CDI 2.0?
Yes, CDI 2.0 has better alignment with Java 8 features, including support for lambda expressions in various CDI contexts, making your code more concise and functional.

Releases In Branch 8

VersionRelease date
8.0.003 Sep 2019
(6 years ago)