Skip to content
The Internet Compass

Open Source

Semantic Versioning

Also known as: Semver

Semantic Versioning (semver) is a versioning scheme in the format major.minor.patch, where major version increments signal breaking changes, minor increments signal backward-compatible new functionality, and patch increments signal backward-compatible bug fixes.

The entire value of semver is that it lets automated tooling — package managers, dependency-update bots — decide which upgrades are safe to apply automatically (patch and often minor) versus which require human review (major), without inspecting the actual code change.

Semver is a convention maintainers opt into, not something enforced by any registry; a package that mislabels a breaking change as a minor or patch release breaks the trust the entire system depends on, which is why unexpected breakage after a routine dependency update is a common source of frustration.

Example

A package moving from 2.4.1 to 2.5.0 added functionality without breaking existing usage; moving to 3.0.0 signals that upgrading requires checking for breaking changes.