...
- Initial API versions only exist for new APIs. They are API versions 0.y.z. (without extension).
- Initial API version may exist for several minor version numbers but should at some point become a first alpha API version 0.y.z-alpha.1
- The API version in the URL for initial API versions includes the first 2 version numbers: v0.y to enable testing during rapid development.
- No further initial API versions may be created once the first alpha API version 0.y.z-alpha.1 has been created for the API.
- Once a first public-release API version has been created, no further initial API versions are allowed.
...
- A public-release API version (x.y.z with x>0) is a major/minor/patch stable version of an API published as part of a meta-release.
- A public-release API version provides the relevant public items of the release checklist.
- A next public-release API version is introduced if there are updates to the API definition (major/minor/patch).
- The update of a public-release API version needs to be carefully announced and discussed with API consumers.
- A public-release API version is part of a CAMARA meta-release
release
An API release is either a pre-release or a public-release version of an API.
pre-release
development API version
A developmenet A pre-release version of an API is any of the following API versions
- an initial API version apiname-0.y.z
- a alpha API version ( apiname-x.y.z-alpha.m)
pre-release
A pre-release refers to a release-candidate API version
...
apiname-x.y.z-rc.m
...
.
NOTE: the term A pre-release here is defined to includes more API versions than just the API versions that have a has an associated GitHub release package with a "pre-release" tag on it, which only concerns release-candidate API versions.
public-release
A public-release API version of an API is an API version published externally to CAMARA as meeting all checklist requirements such that it can be published as part of a meta-release.
NOTE: all CAMARA development and pre-release API versions are also publicly available and can be used, but changes may happen to such pre-release API versions without notice.
release
An API release can refer to either a release-candidate or a public-release version of an API.
meta-release
A meta-release is a set of public-release API versions made publicly available at a given point in time (September and March).
...
API state | API version | API version extension | API version in URL | GitHub branch name | GitHub branch tag | GitHub release package | GitHub release package tag |
---|---|---|---|---|---|---|---|
initial (0.y.z) | 0.y.z | v0.y | apiname-0.y.z | apiname-v0.y.z | [ apiname-0.y.z ] | [ pre-release ] | |
alpha | x.y.z | -alpha.m | vxalpham | apiname-x.y.z-alpha.m | apiname-vx.y.z-alpha.m | [apiname-x.y.z-alpha.m ] | [ pre-release ] |
release-candidate | x.y.z | -rc.n | vxrcn | apiname-x.y.z-rc.n | apiname-vx.y.z-rc.n | apiname-x.y.z-rc.n | pre-release |
public-release | x.y.z | vx | apiname-x.y.z | apiname-vx.y.z | apiname-x.y.z | latest |
...