New Versioning Scheme

  • Increment the first number on releases that will be supported for at least two years.
  • Increment the second number on releases that will be supported for at least six months.
  • Increment the third number on releases that will be supported for at least one month.
  • Increment the fourth number for bugfix updates (part of the support lifetime), if needed to identify an exact version.

So, for a project with a standard Ubuntu-like release cadence, but monthly ‘preview’ releases, with a 1.0 release in August 2022, you would version like:

  • 1 – August 2022 release (LTS)
  • 1.0.0.5 – fifth bugfix revision to August release
  • 1.0.1 – September 2022 preview release
  • 1.1 – February 2023 release (not LTS)
  • 1.1.0.5 – fifth bugfix revision to February release
  • 2 – August 2024 release (LTS)

Informally, any stretch of zeros in the version number can be replaced with a /, so you can also say 1/5 for the fifth patch to version 1, or 1.1/5 for the fifth patch to the February release. But the dots-only format is also supported for software that depends on it.