Skip to content

Semantic versioning

An agreed version scheme expressing intended compatibility of changes to a defined public API.

Also known asSemVer
Software architecture

Version numbers with agreed meaning

Semantic versioning, or SemVer, links MAJOR.MINOR.PATCH to changes in a defined public API. From 1.0.0, increasing major signals incompatible changes, minor compatible additions and patch compatible bug fixes.

In a fictional example, a compatible fix to 2.4.1 is released as 2.4.2. For initial development under 0.y.z, the specification does not yet consider the API stable. Check whether a supplier actually uses this scheme and what its API covers. A version number communicates a promise; it does not prove compatibility tests were performed or replace release notes and checks before updating.

Sources