The schedule for the next Java Development Kit is uncertain in view of missing features in the latest milestone release.
The original plan was that Oracle would release a feature-complete version JDK 8 at the end of January. However, 16 of the proposed enhancements have been left out of this milestone release, which has just been made available for broad testing.
Some of the missing Java Enhancement Proposals (JEPs) haven’t yet been completed, and others need more work to integrate the changes. Mark Reinhold of Oracle, the engineer in charge of Java development, said in a message about the update:
“Looking at the updated milestones page, it's clear that we did not achieve our goal of being Feature Complete in M6. Over the last couple of months we slipped a total of sixteen JEPs from M6 into M7, in some cases in order to smooth the logistics of integrating large projects and in others simply because more time was needed to finish the work.”
Reinhold says that the most important JEPs that have slipped back to M7 are those related to Project Lambda, which he describes as the sole driving feature of the release.
Project Lambda aims to support programming in a multicore environment by adding lambda expressions (aka closures) and related features to the Java language. Lambda expressions in Java introduce the idea of functions into the language and make it easier to distribute processing of collections over multiple threads.
In his FAQs about Project Lambda, Maurice Naftalin explains them like this:
“In conventional Java terms lambdas can be understood as a kind of anonymous method with a more compact syntax that also allows the omission of modifiers, return type, and in some cases parameter types as well.”
According to Reinhold, the VM work for Lambda has already been integrated, but at least another six weeks are needed to refine the stream API and finish the related core-libraries enhancements.
While the remainder of the uncompleted JEPs are less important and could in theory be dropped from the release, Reinhold says that if Project Lambda needs more time then there's no point in dropping them.
In terms of what this means for the eventual full release date, Reinhold says that it’s important that the entire Java community takes part in broad testing of a version that is feature complete, so he thinks M7’s schedule should be extended with this in mind. He says:
“It will take some time to determine how much of an extension is needed. I expect to post an updated schedule in the next month or so.”
No details were given on what this means for the final release of JDK 8, currently planned for 9 September, but it seems likely that the date will also be moved.
Jigsaw Shelved Until Java 9