Mark Reinhold announced on his blog today that Java would be updating its versioning scheme yet again. The next version of Java will be known as Java X (pronounced as in the Greek letter, chi).
What’s motivating the change? Reinhold went on to say,
We got a lot of feedback from developers that the earlier proposed quarterly releases were just too long to wait for new features. We thought about monthly releases, but how long is a month? 31 days, 30 days, 28 days, 29 days??? It’s a mess! Therefore, I propose we adopt a lunar release cycle, specifically releasing every sidereal month starting on the full moon, which is approximately 27.3 days long. This gives the needed level of precision that a Gregorian month just doesn’t have.”
Java versioning strings will now obey the following rules: first is the major version, as a Greek letter. Java wants to emphasize that these releases are time based, so the next part is the emoji symbol for the current sign in the Chinese zodiac. Finally, the last part is the count of new moons in Gregorian year of release. The full version string of the next major release of Java, to be released in March, 2018, will therefore be “Java X.🐕.3”.
Java is also very security conscious, so releases with particularly noteworthy security fixes will append a number of hot pepper emojis equal to the severity of the security vulnerability fixed. The update release after Java X.🐕.3, if it includes a fix to a major security bug, might then be “Java X.🐕.4.🌶️🌶️”.
Of course, since the Java platform is committed to maintaining backwards compatibility, all old versioning schemes are still supported, so Java 1.10, Java 10, Java 10.0.0, Java 18.3, and Java X are all equivalent. This new versioning scheme will also be backported, so Java 7, Java 8, and Java 9 can also be referred to as Java Τ, Java Υ, and Java Φ, respectively, and so on for earlier versions of Java, all the way back to Java Μ.
Tweeted Brian Goetz, “I’m excited to see that Java is still pushing the envelope and staying relevant”.