44 / 57 · 17 Git & Version Control · Tagging and Releases← prev⊞ allnext →☰ Read as one page
6.4Semantic Versioning
Most projects use semantic versioning (SemVer): MAJOR.MINOR.PATCH
| Component | When to Increment | Example |
|---|---|---|
| MAJOR | Breaking changes (API incompatible) | v2.0.0 to v3.0.0 |
| MINOR | New features (backward compatible) | v2.3.0 to v2.4.0 |
| PATCH | Bug fixes (backward compatible) | v2.4.0 to v2.4.1 |
Pre-release tags indicate versions that are not yet stable:
git tag -a v2.4.0-rc1 -m "Release candidate 1 for 2.4.0"
git tag -a v2.4.0-beta.1 -m "Beta 1 for 2.4.0"
git tag -a v2.4.0-alpha.3 -m "Alpha 3 for 2.4.0"
QA and Versioning
| Version Stage | QA Activity |
|---|---|
| Alpha | Exploratory testing, feature-level tests |
| Beta | Full regression, performance testing, cross-browser |
| Release Candidate | Final regression, sign-off checklist, no new features |
| Release | Smoke tests on production, monitoring |