Closed adizere closed 1 week ago
In what ways do we deviate from the semantic versioning spec?
Given a version number MAJOR.MINOR.PATCH, increment the: 1) MAJOR version when you make incompatible API changes 2) MINOR version when you add functionality in a backward compatible manner 3) PATCH version when you make backward compatible bug fixes
From what I understand based on how we've done releases in the past, it seems we increment PATCH versions when we make compatible bug fixes as well as add backward compatible functionality, i.e. we combine 2) and 3). The MINOR version is incremented when we make incompatible / breaking API changes. Thus far we haven't incremented the MAJOR version, but I suppose that's reserved for state-machine / consensus-breaking changes.
Reaching the v1 milestone typically communicates to users that we don't intend to rock the boat as far as API stability is concerned, but in our case, the MINOR version is what communicates whether API changes were made as part of a release, so is communicating a stable API not part of the v1 milestone?
Contrast with https://github.com/cosmos/ibc-go/blob/main/RELEASES.md