What Is Semantic Versioning (SemVer)?
Semantic versioning (SemVer) is a convention for version numbers in the form MAJOR.MINOR.PATCH, where incompatible API changes bump MAJOR, backward-compatible features bump MINOR, and backward-compatible fixes bump PATCH. It lets consumers reason about upgrade risk from the version alone. It underpins how package managers resolve compatible version ranges.
Why it matters
SemVer is a shared contract: a patch upgrade should be safe, a major upgrade may break you. Honoring it lets tools auto-update within safe ranges and lets humans plan breaking upgrades, while violating it erodes trust across the whole dependency ecosystem.
Related concepts
- Version ranges and lockfiles rely on SemVer rules
- Pre-release tags mark release candidates
- A major bump signals breaking changes
Related guides
What Is a Release Candidate?A release candidate is a pre-release build believed ready to ship, published for final testing before becomin…
What Is a Lockfile?A lockfile records the exact resolved versions and hashes of every dependency, so installs are deterministic…
What Is Dependency Pinning?Dependency pinning fixes dependencies to exact versions (or hashes) instead of ranges, so builds are predicta…