JNI and JVM TI version numbers

Alex Buckley alex.buckley at oracle.com
Thu Jan 14 22:18:06 UTC 2016

On 1/6/2016 11:23 AM, Daniel D. Daugherty wrote:
> I've heard rumblings about the need to make JVM/TI changes due to
> JigSaw so it makes sense the change the JVM/TI version number at
> the same time. As Alan mentioned, JVM/TI versions weren't tied
> to JDK releases so changing the major version from '1' to '9'
> could be done at this time if we feel that aligning the JVM/TI
> version number with the new Verona scheme has some value.
> IMHO, I don't think we need to match the new Verona scheme for
> JVM/TI since it has historically been independent of JDK release
> numbers.
> As for JNI version numbers, I don't think we've been consistent
> about setting the version number to match the current JDK release,
> but when we do update it we try to match the current JDK release
> that contains the motivating API change...

The Java Language Spec and JVM Spec used to have versions independent of 
JDK release numbers. For example, the Third Edition of the JLS 
corresponded to JDK 5.0, and the Second Edition of the JVMS corresponded 
to JDK 1.3. Suffice to say that this led to a lack of rigor in producing 
updates, and maximized confusion for readers. Nowadays these specs are 
versioned by the Java SE Platform release that controls their content. 
Even if there were no language changes between Java SE n and Java SE 
n+1, there would still be a Java language in Java SE n+1, so I would 
produce a Java SE n+1 Edition of the JLS.

As JCP-controlled technologies, JNI and JVM/TI are in the same boat as 
the Java language and JVM. The clearest thing you can do is adopt the 
Java SE Platform number and bump your version with every Platform release.


More information about the verona-dev mailing list