major version number.
minor version number.
patch version number.
Optional
prereleaseoptional prerelease version string.
an empty string implies that no pre-release version annotation exists.
Optional
buildoptional 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: