Semantic Versioning
Semantic Versioning, often abbreviated SemVer, is a widely adopted versioning system designed to communicate changes in software clearly and predictably.
The official specification and guideslines are available at https://semver.org.
Version Structure
It uses a three-part version number: MAJOR . MINOR . PATCH
- The MAJORversion increases when incompatible changes are introduced
- The MINORversion increases when backward-compatible changes are made
- The PATCHversion increases for backward-compatible bug fixes
Followed by optional suffixes: - PRERELEASE + BUILDINFO
PRERELEASE can be alpha or beta and indicates an unstable Stability Level (see below)
BUILDINFO contains build metadata, and is ignored when determining version precedence
All together:

This structure helps developers and users understand the impact of a new version at a glance, making it easier to manage dependencies and ensure compatibility in software systems.
Shorthand format
Where only the compatibility information is relevant, we refer to versions using
the shorthand form vX where X is the  MAJOR stable version, or vXalphaY when X is a pre-release version at iteration Y (X.0.0-alpha.Y).
Examples:
- 9.78.1721252454+7539d97known as compatibility version:- v9
- 1.0.0-alphaknown as compatibility version:- v1alpha
- 1.0.0-alpha.2known as compatibility version:- v1alpha2