Mastering Java 11
上QQ阅读APP看书,第一时间看更新

New version-string scheme 

Prior to Java 9, the release numbers did not follow industry standard versioning—semantic versioning. For example, the last four JDK 8 releases were as follows:

  • Java SE 8 Update 144
  • Java SE 8 Update 151
  • Java SE 8 Update 152
  • Java SE 8 Update 161
  • Java SE 8 Update 162

Semantic versioning uses a major, minor, patch (0.0.0) schema as follows: 

  • Major equates to new API changes that are not backward compatible
  • Minor is when functionality is added that is backward compatible
  • Patch refers to bug fixes or minor changes that are backward compatible

Oracle has embraced semantic versioning starting with Java 9 and beyond. For Java, a major-minor-security schema will be used for the first three elements of Java version numbers:

  • Major: A major release consisting of a significant new set of features
  • Minor: Revisions and bug fixes that are backward compatible
  • Security: Fixes deemed critical to improve security

There were three releases of Java 9; the initial release and two updates. The versions listed as follows demonstrate the major-minor-security schema:

  • Java SE 9
  • Java SE 9.0.1
  • Java SE 9.0.4

As detailed in Chapter 1, The Java 11 Landscape, versioning past Java 9 will follow the time-release schema of YY.MM. Using that schema, the four releases following Java 9 are and will be as follows:

  • Java SE 18.3 (March 2018)
  • Java SE 18.9 (September 2018)
  • Java SE 19.3 (March 2019)
  • Java SE 19.9 (September 2019)