
Release Strategy
The release strategy I use is as follows:
All code released here has a 3 part version number, in the following format.
Major Version.Minor Version.Micro Version.
The initial release will always be a 0.0.1 release. During early development, only the micro version will be incremented.
Once the code is stable and a first full release has been decided upon, the version will be changed to a 1.0.0.
After that version numbers will be changed on the following basis:
Micro Version: Minor changes internally to the code including cleanups and restructuring, but nothing that has a functionality impact.
Minor Version: Minor functional changes to the code, this will be mostly bug fixes to the code, or small changes to exposed functions, eg new parameters or flags being added.
Major Version: Major changes to the functionality of the code, this will include code/function removal, in general anything that might break code already using the library.
Any release that has an even minor version should be considered a stable release & anything with an odd minor revision should be consider a development release.