- 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.