It seems so simple that everyone would understand it.
Practice shows this theory is very wrong. So here are the most important rules about Semantic Versioning:
- … (see Semantic Versioning)
- … (see Semantic Versioning)
- … (see Semantic Versioning)
- … (see Semantic Versioning)
- … (see Semantic Versioning)
- Version 1.0.0 defines the public API. The way in which the version number is incremented is now dependent on this public API and how it changes.
- Patch version Z (x.y.Z | x > 0) MUST be incremented if only backwards compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.
- Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes.
- Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API. It MAY include minor and patch level changes.
–jeroen
via Semantic Versioning.