AMI version numbers loosely follow the semantic versioning guidelines with a few alterations. AMI maintains the usual convention of MAJOR.MINOR.PATCH for numbering, but with the following definition differences:
- MAJOR – changes when a new major version of Asterisk is released
- MINOR – changes when an incompatible API modification is made
- PATCH – changes when backwards compatible updates are made (new additions or bug fixes)
Any time a new major version of Asterisk is released the AMI version number is modified to reflect that. This is done by taking the major AMI number of the last major release of Asterisk, increasing it by one, and then resetting the other numbers to zero. From there the minor and patch version are increased by one when a change (incompatible and compatible respectively) has been made to AMI.
This has the effect of making the AMI version number relative in relation to an associated Asterisk release, and contextual applicable only to that major release of Asterisk.