Semantic Versioning

Semantic versioning is a formal convention for specifying compatibility. It uses a three-part version number: major versionminor version; and patch. Version numbers convey meaning about the underlying code and what has been modified. For example, versioning could be handled as follows

Code status Stage Rule Example version
First release New product Start with 1.0.0 1.0.0
Backward compatible fix Patch release Increment the third digit 1.0.1
Backward compatible new feature Minor release Increment the middle digit and reset the last digit to zero 1.1.0
Breaking updates Major release Increment the first digit and reset the middle and last digits to zero 2.0.0

Credits: https://lab.github.com/githubtraining/create-a-release-based-workflow