Good news for the Java developer community! A recent independent study has revealed a clear and reassuring pattern: when a JDK Enhancement Proposal, or JEP, reaches the «Candidate» stage, it's almost certainly going to make its way into a future Java release. This means that you, as developers, can view this status as a very strong signal that a feature is indeed coming.

Munim, Inc. conducted this research, which involved a detailed census of 563 JEPs, using the comprehensive change logs from the JDK Bug System. This study was independent and without external review, with all predictions set before data analysis. The findings largely confirmed what was expected: the real filtering process for a JEP happens before it becomes a «Candidate», not after.

In fact, «Candidate» JEPs have been shipping faster in recent years. For instance, between 2014 and 2017 (the JDK 9 years), 37.5% of «Candidate» proposals were delivered within a year. However, from January 2018 to September 2023, this number impressively jumped to 80.9% within the same timeframe, largely thanks to Java's faster six-month release cadence.

In contrast, the study highlights a significant «backlog» of proposals still in the «Draft» stage. More than two-thirds of these (69.1%) were created over three years ago, with the oldest dating back to 2011! This shows that the biggest hurdle for a JEP isn't getting shipped once it's a «Candidate», but rather making it through those challenging initial stages.

Another interesting trend is the growing role of «Preview» and «Incubator» rounds. In JDK releases 12 through 17, these stages accounted for 25.7% of delivered JEPs, leaping to 47.1% in JDK releases 22 through 27. This suggests that more experimental or new features are being successfully tested and integrated.

In short, if you see a JEP in «Candidate» status, you can pretty much count on that feature becoming a part of Java. This gives us all much clearer insight into the future of the Java platform.