major version number.
minor version number.
patch version number.
Optionalprereleaseoptional prerelease version string.
an empty string implies that no pre-release version annotation exists.
Optionalbuildoptional version build information.
an empty string implies that no build-information annotation exists.
an interface that describes the constiting parts of a semver.
break down of the fields in an ascii diagram: