One of the most common, if not the most popular method of software versioning is Semantic versioning, also known as SemVer.
Semantic versioning uses a three number strategy to specify the evolution of changes in a software. The initial development version is 0.1.0 and the first stable version that is used in production is 1.0.0.
The first number represents the major version, the second is the minor version and the third is the patch version.
The patch version changes the most frequently. It is increased by small changes that don’t alter the functionality of the software. These changes are mostly bug fixes.
The minor version changes when new features that are implemented in a backward-compatible way are added to the software. Minor updates should be safe to perform since they don’t have changes that break the functionality of the software. Increasing the minor version resets the patch version to zero.
The major version changes when significant modifications are made to the software that makes it incompatible with older versions. In other words, major updates break the software and may force its users to change how their program integrates the software. When the major version is increased, both the minor and patch versions are reset to zero.