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 statusStageRuleExample version
First releaseNew productStart with 1.0.01.0.0
Backward compatible fixPatch releaseIncrement the third digit1.0.1
Backward compatible new featureMinor releaseIncrement the middle digit and reset the last digit to zero1.1.0
Breaking updatesMajor releaseIncrement the first digit and reset the middle and last digits to zero2.0.0
Credits: https://lab.github.com/githubtraining/create-a-release-based-workflow