Oracle to change Java version numbers
Because of the large number of security patches that Oracle has had to release for Java SE, the company has now had to change how it assigns version numbers to updates. Oracle has hit the problem that its scheduling of "Limited Updates", that is minor feature changes within a Java version, needs to work with predictable version numbers for assignment and reporting.
What was previously a predictable system has now become much harder to track as each CPU (Critical Patch Update) for security holes has bumped up the version number, meaning any feature of a "Limited Update" that had been targeted for that version number has to be reassigned. Now Oracle has constructed a new numbering scheme which will be introduced first for JDK 7 and then applied to JDK 5.0 and 6 as needed.
Limited Updates will now be targeted at version numbers which are a multiple of twenty. So, for example, the next JDK 7 update with feature changes will be 7U40, the one after that will be 7U60, and so on. When Oracle plans to fix security issues in a CPU, typically scheduled on a monthly basis, the version number will be calculated by adding multiples of 5 to the previous limited update number and adding one to it if necessary to make the resulting version number odd. So the CPU releases following 7U40 would be 7U45, 7U51 and 7U55. The gaps between update numbers are then free for Oracle to have unplanned releases for urgently needed security updates which do not fit the CPU release schedule; because of the limited number of version slots, security alert update numbers are not guaranteed to be odd.
The new versioning scheme is described as a compromise solution. A longer term solution is being considered, but will have to wait until a major Java release and will be announced with sufficient forewarning to allow developers to modify any tools which rely on the version number format. OpenJDK developers who have features or fixes due in JDK 7U14 should know that they have been reassigned to JDK 7U40.