Note: AMWA’s Specification process BCP-001 discusses semantic versioning and using GitHub to develop and maintain AMWA Specification. It also presents an example. However BCP-001 does not require any particular use of branches, tags and releases.
NMOS specifications use semantic versioning in order to maintain a stable interface. Each released version of a specification conforms to the pattern v<#MAJOR>.<#MINOR>.<#UPDATE>, which is reflected in the tags, releases and branches seen via GitHub repositories.
- A change in <#MAJOR> is used for new features that may break compatibility with previous versions.
- A change in <#MINOR> is used for new features that do not break compatibility.
- A change in <#UPDATE> is used for bug-fix and documentation updates.
This pattern is also used on amwa.tv/specifications.shtml to link to the relevant release on GitHub.