Pinax is Committed to Semantic Versioning

Versioning communicates and implies meaning. For packages to use arbitrary versioning is to cause confusion and is ill-advised.

Semantic Versioning is a standard way of versioning that is widely embraced and therefore good for communication about package releases.

In summary (directly from the Semantic Versioning home page):

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

One of the larger items that we are in agreement with is:

If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.

This wasn’t always the case, and were often using many 0.* packages in production for a long period of time. We have been changing this in the past year or so to reflect our agreement with Semantic Versioning.