Software versioning is the process of assigning unique version numbers to unique states of software. Semantic Versioning (SemVer) is a widely adopted versioning scheme that uses a three-part version number: MAJOR.MINOR.PATCH.
See Introduction to Semantic Versioning for more details on how to use semantic versioning in your projects.