Website Care, Performance & Security

Semantic Versioning (SemVer)

Semantic Versioning (SemVer) is a software versioning convention that uses MAJOR.MINOR.PATCH numbers to signal compatibility-related changes to a declared public API.

In the SemVer 2.0.0 specification, a new MAJOR version signals a backward-incompatible API change, MINOR adds backward-compatible functionality, and PATCH covers backward-compatible bug fixes. Version 2.4.1 therefore has three different parts, not a date or a count of releases. Pre-release labels such as -beta and build metadata such as +build.5 may follow the three-number version.

SemVer helps developers and website operators discuss the risk of upgrading libraries, plugins and APIs. For example, a dependency update from 3.2.4 to 3.2.5 should not intentionally break an established public API under the convention; moving to 4.0.0 may require migration work. Teams still need release notes, tests and backups because real software sometimes violates its stated compatibility contract.

The specification assumes that the publisher has identified a public API, and major-zero versions are treated as unstable. SemVer should not be confused with Semantic HTML, which concerns the meaning of page elements. A version number offers guidance about intended compatibility; it does not certify that a release is secure or defect-free.