Semantic Versioning (SemVer) is a widely adopted specification for versioning software. It aims to solve the problem of "dependency hell" by providing a clear set of rules for how version numbers are assigned and incremented.
Given a version number MAJOR.MINOR.PATCH, increment the:
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately
following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Pre-release
versions have a lower precedence than the associated normal version. Example: 1.0.0-alpha.1.
Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately
following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-].
Build metadata MUST be ignored when determining version precedence. Example: 1.0.0+20130313144700.
For more details, visit the official specification at semver.org.