3 ms·
The biggest problem I have with semver is that we don't have good enough tooling to reject minor or patch version bumps when major version bumps are actually wa
by humanrebar 5y ago
The biggest problem I have with semver is that we don't have good enough tooling to reject minor or patch version bumps when major version bumps are actually warranted. I'm not sure it's possible to have that thorough of analysis in general.
Semver is handy for understanding what the maintainer meant to do. I guess in a lot of circumstances that's not nothing.
- account42 5y ago> The biggest problem I have with semver is that we don't have good enough tooling to reject minor or patch version bumps when major version bumps are actually warranted. I'm not sure it's possible to have that thorough of analysis in general. The biggest problem with automated tooling is that there is a nontrivial subjective component to this. If you look at things strictly, any bug fix that changes externally observable behavior can be a breaking change - but bumping the major version for every release defeats the purpose of SemVer.
- okamiueru 5y agoIf the change actually breaks existing use, then bumping the major version of every such release is *exactly* the purpose of SemVer. One important note that is often overlooked, as it isn't part of the short SemVer summary, is that major version 0 is special. The rules for minor and patch versions do not apply, and anything can change at any time. In other words, a project and library can explore its API freely and make as many wild changes as it pleases. Once it matures, it can be made 1.0.0, and the whole point of doing so is to communicate that the rules of major, minor and patch version bumps can be expected to be followed.