Thursday, 8 January 2015

New MAJOR.MINOR.PATCH version numbers

One of the changes in the last release was the introduction of three component X.Y.Z version numbers in place of the old X.Y numbers. These are slowly being rolled out across all the modules in an effort to approach proper semantic versioning for SLiMSuite. (Due to the somewhat organic nature of its development, it may never reach full semantic versioning.)

From release 2015-01-07 onwards, therefore, version number changes should indicate the nature of the change following MAJOR.MINOR.PATCH version numbering:

  1. MAJOR version increments when a backwards-incompatible change is made. Typically a major change to input/output or core module/class structure.

  2. MINOR version increments when functionality is added in a backwards-compatible manner.

  3. PATCH version increments when bugs are fixed or minor functionality added in a backwards-compatible manner.

Under the old MAJOR.MINOR version numbers, PATCH changes were treated as MINOR changes.

Regrettably, due to modular structure of SLiMSuite, the main program modules will not always have MINOR and PATCH version increments when the underlying modules are changed. The plan is to make sure that the main SLiMSuite and SeqSuite modules do increment with a new release to reflect changes. In the meantime, please contact the author if you have any questions or unexpected behaviour.

No comments:

Post a Comment