java_date

JDK 9 release date is postponed to July 2017

With less than 200 days to the release of JDK 9, it’s being delayed again. The new release date has been updated to July 2017, four months later than the previously postponed date.

Pushing the date back

On September 13th, Mark Reinhold, the chief architect of the Java platform group at Oracle, posted his suggestion to postpone the release date for JDK 9. His email, which was published on Oracle’s mailing list, stated that:

“We are not, unfortunately, where we need to be relative to the current schedule. […] At this point it’s clear that Jigsaw needs more time.”

Mark also noted that the number of open bugs that are new in JDK 9 is larger that it was at this point in JDK 8, and that’s why he propose a four months delay. Mark put his offer up for vote, asking others on Oracle’s mailing list what they think about it.

It took a little over a month, but the official announcement finally arrived. On October 18th Mark posted an email saying that there were no objections to postpone the date, and published the new JDK 9 roadmap.

Moving the general availability date of JDK 9 back 4 months affected the entire schedule. It also pushed back the “All tests run”, “Zero bug bounce” and of course, “Release candidate” milestones:

  • 2017/01/05 Rampdown Start
  • 2017/02/09 All Tests Run
  • 2017/02/16 Zero Bug Bounce
  • 2017/03/16 Rampdown Phase 2
  • 2017/07/06 Final Release Candidate
  • 2017/07/27 General Availability

Java 9 Countdown

(Updated with the new dates)

The Curse of Project Jigsaw

It’s no surprise that JDK 9 has been pushed again, and for the same reason – Project Jigsaw. This project has a long history of pushing Java versions back, moving from Java 7 to Java 8 and ending up as part of Java 9, hopefully.

Jigsaw aims to make Java modular and break the JRE to interoperable components. This mean that you’ll be able to create a scaled down runtime Jar (rt.jar) customised to the components a project actually needs.

The desire is to make Java scalable to small computing devices, improve security and performance, and mainly make it easier for developers to construct and maintain libraries. Considering the JDK 8 rt.jar has about 20,000 classes that are part of the JDK, even if many of them aren’t really being used in a specific environment – it’s a pretty big deal.

Mark addressed the reason for the delay on his original email, explaining that:

“We recently received critical feedback that motivated a redesign of the module system’s package-export feature, without which we’d have failed to achieve one of our main goals. There are, beyond that, still many open design issues, which will take time to work through.”

The current pushback tells us loud and clear that Jigsaw needs more time, and our only hope is that it’ll actually be a part of JDK 9, and not be pushed back to JDK 10. Or JDK 11. There’s no doubt it’s a critical and important project, and the community is willing to wait a little longer for it to be just right.

Join the Java 9 Countdown

email
Yoda

Looking for more posts like this?

Join our force of more than 30,000 Java Jedi masters!

Watch a live demo
Yoda
I write about Java, Scala and everything in between. Lover of gadgets, apps, technology and tea.
  • George Campbell

    This article doesn’t really explain why another 4 months are needed, except in abstract terms. What, precisely, is wrong with the package-export system, who provided “critical feedback” and what was that feedback?

    • JeanClaude

      1. The new module system breaks all use cases that depended on reflection to access internals of other libraries.
      2. It does not fix the issue of depending on two conflicting versions of a library.
      3. It fails to strongly encapsulate access, because classes can still be loaded as resources, and used that way.

      These are highly contentious in the community, some people seem to think even with these issues, there is still value with the module system, others don’t see what the value is given those caveats.

      Recently, they’ve been working #1, allowing escape hatches, so people can continue to do this, at least until Java 10, giving everyone a chance to figure out non reflective ways to do what they were doing, or having library makers export more of their internals. I think that’s why they are pushing back the release date. To build out those escape hatches.

      #2 and #3, will probably not be addressed in Java 9.

  • Christian Stein
    • Henn Idan

      Hey Christian, you’re right! The countdown site will be updated soon