diff --git a/0ver.png b/0ver.png new file mode 100644 index 0000000000..35f7a1fe6e Binary files /dev/null and b/0ver.png differ diff --git a/RELEASES.md b/RELEASES.md new file mode 100644 index 0000000000..0fd3410b7c --- /dev/null +++ b/RELEASES.md @@ -0,0 +1,19 @@ +# Releases + +The Cosmos-SDK follows both [0ver](https://0ver.org/) and [Semver](https://semver.org/). While this is confusing lets break it down: 0ver is used for the main Cosmos-SDK dependency (`github.com/cosmos/cosmos-sdk`) and Semver is used for all other dependencies. + +## Semver Dependencies + +Although we adhere to semantic versioning (semver), we have introduced a few modifications to accommodate the unique characteristics of blockchains. One significant divergence is that the major version (Y.x.x) is incremented solely when a consensus-breaking change occurs. On the other hand, the minor version (x.Y.x) is increased when there is a non-consensus-breaking alteration that also results in an incompatible API change. Patch versions will be bumped for all other changes that dont break the API nor Consensus. + +

+ Releases Semver decision tree +

+ +## 0ver Dependencies + +In terms of the Cosmos-SDK dependency, we adhere to a simpler versioning approach known as 0ver. This flow differs from the previous Semver flow. Under this system, when a consensus-breaking change or an API-breaking change occurs, the Cosmos-SDK team increments the minor version (x.Y.x). Conversely, when a non-consensus-breaking change and a non-API-breaking change take place, the team bumps the patch version (x.x.Y). + +

+ Releases 0ver decision tree +

diff --git a/semver.png b/semver.png new file mode 100644 index 0000000000..49be36b926 Binary files /dev/null and b/semver.png differ