JDK 17 was released this week. With it, Oracle announced a new site for Java developers called dev.java. Check it out and let them know what you think! Oracle also announced plans for shifting the LTS release cadence from three to two years. This means that the next LTS release from Oracle will be JDK 21. Other vendors may have different approaches, but I don’t think it is a very controversial guess that most will follow suit.
We are approaching the last quarter of 2021 (can you believe it?), which in turn means that the first quarter of 2022 is also imminent. Why am I bringing this up? Well, here’s the deal. Jakarta EE 10 is scheduled for Q1, 2022, and to be able to deliver according to the release plan, all the individual specifications that are part of Jakarta EE 10 need to start their release process earlier.
The following dates have been communicated by the Jakarta EE Platform Project:
Target date: October 15, 2021 Last call: December 15, 2021
Some of the specification projects have started releasing/staging milestone releases. For example, the 5.0.0-M1 API for Jakarta Expression Language is available in the Jakarta Staging Repository. You can also find the 4.0.0-M1 of Jakarta Faces there. Currently released embedded with Eclipse Mojarra, hence the org.glassfish Group ID, but will soon be released separately when the work progresses.
Add the following repository definition to try out the staged artifacts:
The elections for seats in the Jakarta EE committees have been initiated. Read about the details in Jakarta EE Elections. If you are in the process of writing up your nomination or already have nominated yourself, please reach out to me if you would like to create an accompanying promotion video. We will set up a short Studio Jakarta EE interview where you can tell the community why they should vote for you.
If you need inspiration for why you should contribute to Open Source in general, or Jakarta EE in particular, check out this great article and interview with Kevin Sutter.
As you can derive from this list is that Jakarta EE Core Profile is focused on providing a minimal foundation for smaller runtimes that are suitable for microservices and also allows for ahead-of-time compilation. The TCK will be made available standalone and will be possible to execute on Java SE 11 and Java SE 17. The plan is to release Jakarta EE Core Profile in the same timeframe as Jakarta EE Platform and Web Profile, which is scheduled for Q1, 2022.
If you haven’t done so yet, I want to remind you of the JakartaOne Livestream 2021 Call for Papers. The CFP closes on September 15, so there is still time to have a chance of speaking to a global audience in the third edition of this annual event.
As I mentioned last week, the release plan for Jakarta EE 10 Platform and Web Profile has been approved and published with a target release date of Q1, 2022. It is expected that details around the plan for Jakarta EE Core Profile will be announced next week. Stay tuned for updates!
According to the plan, Jakarta EE 10 Platform and Web Profile is targeting a release in Q1, 2022. This is a little less than a year after Jakarta EE 9.1 (May 2021). In order to make this happen, the individual specifications that the Jakarta EE Platform and Web Profile specifications are based on must start their release process some time in advance of the proposed release date.
October 15, 2021, has previously been communicated as a target date for initiating release reviews for the specifications. The experience from the Jakarta EE 9 and 9.1 releases indicates that this is a reasonable time to start the release reviews to be able to finalize the Platform and Web Profile releases for Jakarta EE 10 in Q1.
So what about Jakarta EE Core Profile? Will it be released at the same time as the Platform and Web Profile? Well, it is possible, but unlikely. It depends on the progress of the CDI Lite specifications and maybe also Jakarta Config. The platform project will propose a release plan for Jakarta EE Core profile shortly. Join the weekly Jakarta EE Platform calls on Tuesdays 11:00 AM ET to get the latest information first and contribute to the progress. you find the details in the Jakarta EE Specifications public calendar.
I want to remind you again to submit your abstracts to the JakartaOne Livestream CFP. The Call for Paper is open until September 15, but don’t wait until the last minute! You are more likely to be accepted if you submit early, and often…
I’m out on vacation these weeks, so I will keep it short this time. The work on the Jakarta EE 10 plan continues, and will (hopefully) be completed in the platform call in the coming week. Even if I am out of office, the Jakarta EE Platform project goes on!
Last week’s platform call was devoted entirely to the Jakarta EE 10 release plan. The platform team is in agreement, and only a last brushup is needed before the plan is submitted for plan review by the Jakarta EE Specification Committee.
As expected from the discussion around adding Jakarta MVC to the Jakarta EE Web Profile, it looks like MVC will continue as an independent specification for a while longer. The reasoning behind this decision is that most application server vendors would like to see more adoption before adding it to the platform. It is kind of a chicken-and-egg situation as inclusion in the platform would most likely result in far more adoption than as it is today. The good news is that Eclipse Krazo is certified as a compatible implementation for runtimes based on both Eclipse Jersey and RESTEasy.
In addition to this, Eclipse GlassFish 6.2.0 is also a certified compatible implementation of Jakarta MVC, so if you’re using this version of GlassFish, no configuration is needed. Just go ahead and create your MVC applications.
The Call-for-Paper for the third edition of JakartaOne Livestream is open. It is open until September 15, but don’t wait until the last minute. You are more likely to be accepted if you submit early…
One of the goals the Jakarta EE platform project is working towards is to create some sort of predictability regarding Java SE with future Jakarta EE releases. It seems that we are approaching something that looks like a strategy regarding this goal.
As previously announced, Jakarta EE 10 will be based on Java SE 11. That means that the specification projects will be able to use Java SE 11 language features in their APIs.
The TCK will be possible to run with any version from 11 and above.
For Jakarta EE 11, the Java SE version will be raised to the next LTS release, which will be Java SE 17. And so on…
What this means for the individual component specification teams, is that they can embrace Java SE language features of the version supported by the platform they plan to target. An example:
The specification Jakarta Wombat 1.1 use Java SE 11 language features and target Jakarta EE 10 while Jakarta Wombat 1.2 use Java SE 17 language features (e.g. Records) and thus target Jakarta EE 11 An implementation of Jakarta Wombat, e.g. Possum can use Java SE 17 features both for Possum 1.0 which implements Jakarta Wombat 1.1, and Possum 2.0 which implements Jakarta Wombat 1.2.
The release plan for Jakarta EE 10 is out for review by the Jakarta EE platform project. Hopefully, we will be able to wrap up the discussions in the platform call on Tuesday, and propose this plan for review by the Jakarta EE specification committee.
Earlier this year, I participated in the Foojay Virtual Tour with a talk at KnoxJava JUG. For the upcoming Virtual Foojay OpenJDK 17+ JUG Tour, I have a new talk called Leveraging OpenJDK 17 features with Jakarta EE. If you would like to hear about this in your JUG, do follow the instruction on foojay.io to sign up.
Last week we hosted the Jakarta EE Update call. If you missed it, don’t despair as it was recorded. As usual, it will be cut into smaller themed pieces and published on the Jakarta EE YouTube channel.
The Jakarta EE Platform project has stated a clarification regarding the Java SE level for Jakarta EE 10. The component specifications are recommended, not recommended to compile their API jar files to Java SE 11. That means that they can compile to lower Java SE levels if it fits them better. The recommendation, however, is still to compile to Java SE 11 using the --release option to the compiler. Exemplified here by the maven compiler plugin configuration.
The topic of release cadence and time-based vs feature-based continues. I suspect this to be the major discussion point in the platform call next week. One of the questions that are being discussed is whether to tie the roadmap and release cadence to the Java SE LTS releases, effectively meaning a three-year release cycle for the Jakarta EE Platform and Profiles. Please join in on the discussions on the mailing list and the weekly platform project calls.
The JakartaOne Livestream 2021 Call-for-Paper is open! Take this opportunity and submit your talk to the third edition of this one-day virtual conference. If you are a new speaker, take a look at the previous editions for inspiration. If you have spoken at any of, or both, the previous events, make sure to complete your collection of the JakartaOne Livestream buttons.