Oasis Core (as a whole) uses a CalVer (calendar versioning) scheme with the following format:
YY represents short year (e.g.
MINOR represents the minor version starting with zero (e.g.
MICRO represents (optional) final number in the version (sometimes referred to as the "patch" segment) (e.g.
MICRO version is
0, it will be omitted.
MODIFIER represents (optional) build metadata, e.g.
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.
MODIFIER should be used to denote a build from an untagged (and potentially unclean) git source. It should be of the form:
COMMIT_SHA represents the current commit’s abbreviated SHA.
+dirty part is optional and is only present if there are uncommitted changes in the working directory.
Oasis Core’s protocol versions use SemVer (semantic versioning) 2.0.0 with the following format:
MAJOR represents the major version,
MINOR represents the minor version,
PATCH represents 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.