Semantic Versioning
A Software Release Numbering System
In This Tutorial
‣ Explain what Semantic Versioning is
‣ List the benefits
‣ Find more information
Semantic Versioning
‣ SemVer for short
‣ Uses three numbers for version instead of two
‣ Requires a public API
The Numbers
8.2.6
Major version
Minor version
Patch
The Numbers
8.2.6
Major version
Minor version
Patch
Major changes
Breaks the API
The Numbers
8.2.6
Major version
Minor version
Patch
Major changes
Breaks the API New features
Does not break API
The Numbers
8.2.6
Major version
Minor version
Patch
Bug fixesMajor changes
Breaks the API New features
Does not break API
The Numbers
8.2.6
Major version
Minor version
Patch
Bug fixesMajor changes
Breaks the API New features
Does not break API
Bug Fix
8.2.7
New Feature
8.3.0
Breaking the API
9.0.0
Pre-release Versioning
‣ Initial development uses Major version 0 (e.g. 0.1.0)
‣ You may use pre-release strings (e.g. alpha1, rc3, etc.)
• These are appended to the end (e.g. 1.0.0.alpha1)
‣ A publicly-released API starts at 1.0.0
Benefits of Semantic Versioning
‣ Clearer compatibility/dependencies
‣ Encourages well-defined APIs
‣ Makes upgrade decisions clearer
Specification
http://semver.org

Semantic Versioning