Help Center
Versioning
Oasis Core
Oasis Core (as a whole) uses a CalVer (calendar versioning) scheme with the following format:
YY.MINOR[.MICRO][-MODIFIER]where:
- YYrepresents short year (e.g.- 19,- 20,- 21, …),
- MINORrepresents the minor version starting with zero (e.g.- 0,- 1,- 2,- 3, …),
- MICROrepresents (optional) final number in the version (sometimes referred to as the “patch” segment) (e.g.- 0,- 1,- 2,- 3, …).If the- MICROversion is- 0, it will be omitted.
- MODIFIERrepresents (optional) build metadata, e.g.- git8c01382.
The YY version must be bumped after each new calendar year.
When a regularly scheduled release is made, the MINOR version should be bumped.
If there is a major fix that we want to back-port from an upcoming next release and release it, then the MICRO version should be bumped.
The MODIFIER should be used to denote a build from an untagged (and potentially unclean) git source. It should be of the form:
gitCOMMIT_SHA[+dirty]where:
- COMMIT_SHArepresents the current commit’s abbreviated SHA.
The +dirty part is optional and is only present if there are uncommitted changes in the working directory.
Protocols (Consensus, Runtime Host, Runtime Committee)
Oasis Core’s protocol versions use SemVer (semantic versioning) 2.0.0 with the following format:
MAJOR.MINOR.PATCHwhere:
- MAJORrepresents the major version,
- MINORrepresents the minor version,
- PATCHrepresents the patch version.
Whenever a backward-incompatible change is made to a protocol, the MAJOR version must be bumped.
If a new release adds a protocol functionality in a backwards compatible manner, the MINOR version must be bumped.
When only backwards compatible bug fixes are made to a protocol, the PATCH version should be bumped.
Version 1.0.0
With the release of Oasis Core 20.10, we bumped the protocol versions to version 1.0.0 which signified that they are ready for production use.
