Glossary

Semantic Versioning (SemVer)

Semantic versioning is a version-numbering scheme of the form MAJOR.MINOR.PATCH, where MAJOR marks breaking changes, MINOR marks backward-compatible features, and PATCH marks backward-compatible bug fixes.

Semantic versioning, abbreviated SemVer, encodes the impact of a release directly into its version number. A consumer can read v2.4.1 and infer that moving to v2.4.2 should be a safe bug-fix update, that v2.5.0 should add features without breaking anything, and that v3.0.0 signals an incompatible change that may require work to adopt.

Each part of the number has a precise rule: increment MAJOR for breaking changes and reset the others to zero, increment MINOR for new backward-compatible features and reset PATCH to zero, and increment PATCH for backward-compatible fixes. Pre-release versions append a label after a hyphen, such as v3.0.0-rc.1, to indicate they are not yet final.

SemVer functions as a contract between maintainers and the people who depend on their software. Honoring it lets consumers automate low-risk upgrades and reserve scrutiny for major versions, which is why dependency managers lean heavily on the scheme when resolving version ranges.

Keep reading

Ship your next release in seconds

Connect a GitHub repo and let release-notes.dev write the changelog your users actually read. Free to start — no credit card.