Ubuntu 18.04 LTS Might Ship With OpenJDK 10, Transition To OpenJDK 11
Canonical's Tiago Daitx has laid out a proposal today for having an OpenJDK stable release update exception for the upcoming Ubuntu 18.04 LTS "Bionic Beaver" to reduce their long-term maintenance burden.
Right now in the Ubuntu 18.04 development archive is OpenJDK 8, but the hope is this Ubuntu Long Term Support release will default to OpenJDK 10 as its Java JRE/JDK and then replace it with OpenJDK 11 after its release. If they stick to OpenJDK 8, Canonical will have more of a maintenance burden in the years ahead for maintaining this Java Development Kit version for this Ubuntu Long Term Support.
OpenJDK is transitioning to a six-month release cadence with OpenJDK 10 expected in March while OpenJDK 11 will then come in September~October. The OpenJDK 11 release will be a long-term support and the OpenJDK community is expected to maintain it longer beyond Oracle's security support period. Thus OpenJDK 11 is a good match for Ubuntu 18.04 LTS, albeit coming months after the Bionic Beaver has already premiered. But if they ship Ubuntu 18.04 LTS with OpenJDK 10, they hope it will be easy to upgrade to v11 after the fact with reduced risk of breakage.
Under this proposal, OpenJDK 8 would remain in Ubuntu's universe archive while OpenJDK 10/11 would be the version in their main archive.
Details in full on this SRU exception proposal can be found via this mailing list post.
Among the features on the way for the OpenJDK 10 release in late March includes local variable type inference, a new garbage collector interface, make the G1 garbage collector fully parallel, thread-local handshakes, an experimental Java-based JIT compiler, and a set of default root CA certificates will now ship with the JDK.
OpenJDK 10 will be the first release under their new time-based release process. With OpenJDK 10 only going gold around 20 March, it's quite a quick turnaround time for shipping it in Ubuntu 18.04 LTS that will officially debut on 26 April.
Among the early features talked about for OpenJDK 11 are dynamic class-file constants, "Epsilon" as a new low-overhead garbage collector, dropping Java EE and CORBA modules, and other changes.