After reaching approval of the feature extension process, Oracle has confirmed July 2017 as the new target for the Java 9 release. The date is very similar to that previously predicted by InfoQ, although for various reasons this might indicate risk: while our estimation was based on a feature extension period of three months, the actual period will last seven months, with cuts in testing effort to make up the difference. Early, informal testing might be in place to compensate.

At the time of InfoQ's last analysis, the latest available date for features whose extension had been approved was 1st September, suggesting a delay of roughly three months (this, of course, didn't take into account features without an estimate). Assuming this delay pushed things back evenly, that pointed to a GA of late June 2017. However, the currently proposed schedule doesn't push things back evenly, potentially creating a number of risks. Here is the schedule before the last change:

2016/05/26 Feature Complete

2016/08/11 All Tests Run

2016/09/01 Rampdown Start

2016/10/20 Zero Bug Bounce

2016/12/01 Rampdown Phase 2

2017/01/26 Final Release Candidate

2017/03/23 General Availability

And here is the newly proposed schedule:

2016/05/26 Feature Complete

2016/12/22 Feature Extension Complete

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

The first thing to notice is that "Rampdown Start" now happens before "All Tests Run". As specified in the milestones definition, Rampdown Start is the moment from which only bugs with severity P1-P3 are fixed, while All Tests Run marks the moment where all tests have been run at least once in all the supported platforms. This means that fixing issues of lower severity is going to be automatically ruled out even before there has been a chance to fully test the new Java.

Rampdown Phase 2 is, on the contrary, planned to be about a month and a half longer than before, probably to make up for a shorter Phase 1. In Phase 2 only showstoppers are fixed, which in combination with the above, indicates a preference to have basic working functionality at the expense of allowing the presence of minor bugs.

Finally, the time between the first release candidate and the general availability has been shortened to less than half. The milestones definition indicates that if another Zero Bug Bounce Phase is needed after the release candidate, the general availability will be at risk. Taking into account the reduction of testing time in previous phases and the shorter time available to react, the likelihood of this happening is higher with the new schedule.

There is one possible mitigating factor that should be taken into account: since the feature complete phase finished in May 2016, it is possible that some testing is already under way while completion of the feature extension is achieved. This might not be reflected in the schedule because there isn't any phase that can be formally brought forward; on the one hand, Rampdown implies that only P1-P3 issues are addressed, while it's possible lower proprieties are being addressed right now; on the other hand, All Tests Run cannot happen until all the code is locked in. In any case, the late feature extension included key components for Modules System like JEP 282, which suggests that even with advanced testing Java 9 is up for a bumpy ride.