====== Versioning ====== Use [[http://semver.org/|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**