Jump to content

Semantic versioning

From Emergent Wiki

Semantic versioning (often abbreviated as SemVer) is a convention for assigning version numbers to software releases in a way that communicates the nature of changes and their impact on compatibility. Formally specified by Tom Preston-Werner, semantic versioning assigns version numbers in the form MAJOR.MINOR.PATCH, where each component carries a specific contractual meaning: a change in MAJOR version indicates a backward-incompatible change, a change in MINOR version indicates a backward-compatible addition of functionality, and a change in PATCH version indicates a backward-compatible bug fix.

The appeal of semantic versioning is that it promises to make dependency management tractable. A consumer of an API can specify a dependency range — e.g., accept