Openzeppelin-contracts: How does the versioning work?

Created on 21 Feb 2018  路  5Comments  路  Source: OpenZeppelin/openzeppelin-contracts

Do you follow the MAJOR.MINOR.PATCH semantic? Because if yes, then 1.7.0 breaks backwards compatibility.

Most helpful comment

What is the reason for _not_ following Semver?

All 5 comments

https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/README.md#getting-started

Note that OpenZeppelin does not currently follow semantic versioning. You may encounter breaking changes upon a minor version bump.

What is the reason for _not_ following Semver?

Can someone please expand on this issue?

Not following Semantic Versioning goes against a (near) industry-wide standard and therefore the principle of least surprise. Most automatic tooling will treat OpenZeppelin's versions improperly, resulting in software that breaks, or worse, malformed smart contracts that get deployed.

Dear maintainers of OpenZeppelin; we are still waiting for an answer. Please respond at your earliest convenience.

the reasoning is basically: we want to feel free to make breaking changes often. We should be in 0.x.y but it's too late for that.

we updated the installation instructions to save the exact version instead of the semver expression, so it shouldn't cause unintended upgrades

moving to semver is planned in the future, but I'm not sure what that timeline is

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Flash-Git picture Flash-Git  路  3Comments

golivax picture golivax  路  4Comments

mswezey23 picture mswezey23  路  4Comments

rstormsf picture rstormsf  路  4Comments

spalladino picture spalladino  路  4Comments