Software Development

What is Semantic Versioning?

Quick answer

A version numbering scheme in the form MAJOR.MINOR.PATCH that signals whether a software update adds features, fixes bugs, or breaks compatibility.

Semantic Versioning, explained

Semantic versioning, often written SemVer, gives version numbers a clear meaning. The patch number increases for backward-compatible bug fixes, the minor number for backward-compatible new features, and the major number for changes that may break existing code that depends on the software.

For example, if a payment library moves from 2.4.1 to 2.4.2, developers can expect a safe bug fix. A move to 2.5.0 adds features without breaking anything. A jump to 3.0.0 warns that some functions may have changed or been removed, so upgrading needs testing. Package managers use these rules to decide which updates to install automatically. Semantic versioning only works when maintainers follow it carefully, since a breaking change released as a minor update can cause unexpected failures.

Related terms

Guides that mention Semantic Versioning