MAJOR.MINOR.PATCH
- MAJOR version when you make incompatible API changes
- MINOR version when you add functionality in a backwards compatible manner
- It MUST be incremented if any public API functionality is marked as deprecated.
- It MAY be incremented if substantial new functionality or improvements are introduced within the private code.
- It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.
- PATCH version when you make backwards compatible bug fixes
- A bug fix is defined as an internal change that fixes incorrect behavior.
Further:
- Software using Semantic Versioning MUST declare a public API
- Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
- Version 1.0.0 defines the public API
- If your software is being used in production, it should probably already be 1.0.0.
- If you have a stable API on which users have come to depend, you should be 1.0.0
Refs:
Semantic Versioning 2.0.0