Software versioning
Software versioning is the process of assigning unique version names or unique version numbers to unique states of computer software. The most widely adopted scheme for version numbers is known as semantic versioning (SemVer), which comprises a three-part version number (Major.Minor.Patch), an optional prerelease tag (e.g.