Conceptual
Login

Semantic Versioning for Software Release Management

Semantic Versioning (SemVer) is a formal scheme for numbering software releases as a three-part MAJOR.MINOR.PATCH identifier, where each component is a non-negative integer incremented by exactly one to signal a specific category of change to a public API: patch for backward-compatible bug fixes, minor for backward-compatible additions, and major for backward-incompatible changes. The system defines both increment rules (with lower-order components reset to zero on a higher-order increment) and a precedence ordering for comparing versions left-to-right, optionally refined by pre-release identifiers appended after a dash. It belongs to the domain of software release management and configuration/dependency management, functioning as a shared communication contract between software producers and consumers about API compatibility.