Versioning

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

API


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

  • MAJOR version when you make incompatible API changes
  • MINOR version when you add functionality in a backwards-compatible manner
  • PATCH version when you make backwards-compatible bug fixes.

Applications


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

  • MAJOR version when you make changes that would greatly invalidate documentaiton (i.e. require most tutorials to be updated)
  • MINOR version when you add functionality in a backwards-compatible manner
  • PATCH version when you make backwards-compatible bug fixes.

Installer Rebuilds

When making changes to an installer that delivers unaltered previously released packages add '-x' to the end of the installer file name where x is the installer build number.

For example if digilent.waveforms_v3.5.4.dmg was released and then the installer script was updated but the installer still deliver packages that are binary equivalent to 3.5.4 the new build should be named digilent.waveforms_v3.5.4-2.dmg