Devii · DevOps · 2026-03-23 · 6 min read
Semantic Versioning: MAJOR.MINOR.PATCH And What Bumps Mean
SemVer 2.0.0 is a contract with consumers; pre-release and build metadata have defined meaning.
**Semantic Versioning** (`semver.org`) defines `MAJOR.MINOR.PATCH`. Increment **MAJOR** for incompatible API changes, **MINOR** for backward-compatible additions, **PATCH** for backward-compatible fixes.
Pre-release labels (`1.0.0-beta.1`) signal unstable builds. **Build metadata** (`+build.42`) does not affect precedence.
SemVer applies to **public API** surface. Internal refactors without API change are PATCH level. If you ship libraries, document what you consider public (types, URLs, JSON fields).
Consumers pin ranges in package managers; maintainers owe clear changelogs. SemVer is not a substitute for communication on breaking ecosystem shifts (Node major, React major).