Prior to libSBML-4 there has been no formally defined numbering scheme for libSBML releases. This needs to change to facilitate modularization and SBML Level 3 packages. Therefore the following system will be applied to libSBML-4 and subsequent releases.
LibSBML releases are numbered X.x.p where
- X denotes a major version number
- x denotes a minor version number
- p denotes a patch version number.
- The major version number will only change when incompatible API changes have been made.
- The minor version number will change when there have been additions to the API but no changes.
- The patch version will change when there have been bug fixes within the code but no changes to the API interface.
Experimental only release
In 2014 we introduced the concept of an experimental only release. Since this code will not have been subject to the rigorous testing that precedes a full release it should still be considered 'experimental', as it may change before the next full release. Consequently, experimental only releases will only ever update the patch version number.