What You Need to Know About the Jakarta EE 9 General Availability Release

Since the Jakarta EE 9 milestone release in June, we’ve been making good progress toward a final release in Fall 2020. Here’s a brief summary of our most recent efforts, our progress, and key opportunities to get involved.

There Are Still Opportunities to Help

We’re continuing to update, review, and test the Jakarta EE specifications so they can be sent to the Jakarta EE Specification Committee for approval. It’s going well, but the process is complicated because we need to update the Jakarta EE specifications in “waves” that take their dependencies into account.

For example, the specifications in wave zero are standalone specifications with no dependencies, so they can be updated at any time. But, the specifications in wave two build on those in wave one, so they can’t be updated until wave one is complete. And so, it goes until all of the waves of specifications are approved. At that point, we need to ensure Eclipse GlassFish successfully implements all of the specifications so it can become the compatible implementation that’s required for the release.

We’re seeing successful test passes across large numbers of the required documents, so that’s good news. And, I’m happy to tell you that GlassFish is about 99 percent of the way to passing the full platform test suite. However, with so many moving parts, we could definitely use more help reviewing and testing specifications to ensure they’re ready to go to the Specification Committee for approval.

Please, step in and help if you can. It’s a great opportunity to demonstrate what can be achieved by a community that’s dedicated to true open source collaboration.

We’ve Switched Our Java Release Priorities

In the original Jakarta EE 9 Release Plan, the priority was to make Java 11 support mandatory and Java 8 support optional. The goal was to drive implementation and acceptance of Java 11 because most vendors ship Java 11 versions of Jakarta EE 8. However, we’ve switched those priorities.

In the Jakarta EE 9 release, Java 8 support is mandatory and Java 11 support is optional. We made this decision for two reasons:

  • To stay as close as possible to the target release date in Fall 2020 and reduce the risk of issues related to mandatory Java 11 support.
  • To make the namespace change the only difference between Jakarta EE 8 and Jakarta EE 9 and increase the consistency between the two releases.

Software Providers Are Implementing the New Namespace

A number of software providers have already implemented the Jakarta.* namespace, and others have planned to implement the change. Here’s a snapshot of the current implementation roadmap from our Tools Vendor Datasheet for Jakarta EE 9.

Software Providers Are Implementing the New Namespace

We Need Your Input for Future Releases

The Jakarta EE 9 release is the foundation for the future. Once it’s out, you can expect to see rapid platform innovation and Jakarta EE releases with new and exciting features and functionality. The next release will be Jakarta EE 9.1, which will make Java 11 support mandatory and Java 8 support optional.

To move beyond Jakarta EE 9.1, we need the community’s input and ideas about how Jakarta EE should evolve. The Jakarta EE community is a very open and self-organizing group. Everyone is welcome and encouraged to participate and collaborate.

If you have ideas about how we should push forward with Jakarta EE, share them by:

  • Subscribing to Jakarta EE project mailing lists and getting involved in Jakarta EE 10 discussions.
  • Raising enhancement requests on the GitHub repository for Jakarta EE projects. You can find the complete list of projects here.

About the Author

Steve Millidge

Steve Millidge

Steve Millidge is the founder and CEO of Payara Services, creators of Payara Server Enterprise and Payara Micro Enterprise. He also founded Payara Accelerator, which provides comprehensive open source consulting services to Payara Services customers.