The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,224 other subscribers

Semantic Versioning

Posted by jpluimers on 2011/03/02

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:

  1. … (see Semantic Versioning)
  2. … (see Semantic Versioning)
  3. … (see Semantic Versioning)
  4. … (see Semantic Versioning)
  5. … (see Semantic Versioning)
  6. 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.
  7. 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.
  8. 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.
  9. 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.

One Response to “Semantic Versioning”

  1. Steven Kamradt said

    It is unfortunate that at times version numbers appear to be managed by product managers, not developers, and are more driven by “new features”, even when such features do not break the existing API but build upon it. It is also unfortunate that there is no way to tell a semantic version from a non-semantic version scheme.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 
%d bloggers like this: