Oracle’s shift from doing a major release of standard Java every three years to doing releases every six months, a plan announced in September 2017, has resulted in versions with far fewer new capabilities than before. And that are perhaps far less interesting.
Java Development Kit (JDK) 13, due in September, has just five new features, including a preview of text blocks and an enhancement to the Z garbage collector. Now in a rampdown phase in its development, JDK 13 follows JDK 12, released in March. JDK 12 had eight new features, including a preview of switch expressions.
Compare JDK 12 and JDK 13 to JDK 9, released in September 2017, which listed roughly 90 new features, chief among them modularity, a REPL, and compiler improvements. Of course, JDK 9 came three-and-a-half years after JDK 8 arrived in March 2014.
The new release cadence, intended to get features out faster, thus has made Java upgrades less dramatic than they once were. Fewer features gives Java shops more leeway to pass on the latest upgrade and wait for a more monumental release down the road. By the same token, users may not have to wait as long for a specific new feature, with the next release of Java always just around the corner.
With the six-month release cadence, Oracle also introduced a distinction between “non-LTS” feature releases, which receive support only until the next feature release, and “LTS” (long-term support) releases, which arrive every three years and receive extended support. The current LTS release, JDK 11, arrived September 2018, will be supported until September 2026.
Oracle JDK releases have been turning up every six months since JDK 10 in March 2018. After JDK 13 ships, JDK 14 is due presumably in March 2020. The JDK 14 status page does not yet cite any planned features. But based on what we’ve seen in the most-recent releases, developers awaiting JDK 14 should not expect more than a tiny handful of improvements once again.