Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8191510

Bump class file version number to 54.0

XMLWordPrintable

    • binary
    • minimal
    • Class file construct
    • JDK

      Summary

      Increment the class file major version number from 53 to 54 (10 - 5 + 49)

      Problem

      For every major release the class file major version number should be incremented (regardless of if there are any changes that mandate such a change). (It's debatable whether future platform releases require a CSR for such changes but at least for the first time the CSR affords visibility into the new release process.)

      Solution

      The platform will be modified so tools such as the Java compiler and launcher will consume and produce 54 version class files.

      The lower bound (6) for the source, release, and target options of javac will not change.

      Specification

      Per JDK-8190736, the JVM Specification (Java SE 18.3 Edition, see http://ribbit.us.oracle.com/tmp/iris/java-se-18.3-pr-spec/java-se-18.3-annex-3.html) establishes the 54.0 class file format in section 4.1 as follows:

      A Java Virtual Machine implementation can support a class file format of version v if and only if v lies in some contiguous range Mi.0 ≤ v ≤ Mj.m. The range is based on the version of the Java SE Platform to which the implementation conforms. An implementation which conforms to a given Java SE Platform version must support the range specified in Table 4.1-A for that version, and no other range. (For historical cases, the JDK version is shown instead of the Java SE Platform version.)

      Table 4.1-A. class file format version ranges (by Java SE Platform)
      Java SE class file format version range
      1.0.2 45.0 ≤ v ≤ 45.3
      1.1 45.0 ≤ v ≤ 45.65535
      1.2 45.0 ≤ v ≤ 46.0
      1.3 45.0 ≤ v ≤ 47.0
      1.4 45.0 ≤ v ≤ 48.0
      5.0 45.0 ≤ v ≤ 49.0
      6 45.0 ≤ v ≤ 50.0
      7 45.0 ≤ v ≤ 51.0
      8 45.0 ≤ v ≤ 52.0
      9 45.0 ≤ v ≤ 53.0
      18.3 45.0 ≤ v ≤ 54.0

            psandoz Paul Sandoz
            mlautman Mary Lautman (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: