4 ms·
I do not know what GP is short for, apologies if I'm missing your point in my reply. One, if not the most important part of semver is communicating the nature
by okamiueru 5y ago
I do not know what GP is short for, apologies if I'm missing your point in my reply.
One, if not the most important part of semver is communicating the nature of the changes, and in particular, how that change affects the use.
I once used a library/tool that would detect vulnerabilities. The maintainers thought it would be a good idea to turn it in to a paid service, and a minor version upgrade caused it to fail silently due to lack of a token. When I noticed it by coincidence, I raised the issue of it not being communicated properly, and they said they had made every effort at raising awareness about the change through blog posts, twitter, etc. However, few people really subscribe or follow this kind of feeds. The change that came as an increment in minor version had IMO broken semantic versioning. If it instead had been followed, it would have communicated exactly that some care when upgrading was necessary, and allowed the API consumers to upgrade at their own leisure.
- account42 5y ago> One, if not the most important part of semver is communicating the nature of the changes, and in particular, how that change affects the use. Yes, SemVer communicates breaking changes, but only after they have happened. The point is that you should have a migration path ready long before the old API is no longer available.
- okamiueru 5y agoWhat do you mean by "after they have happened"? The changes to an updated library don't affect you until you have upgraded to that version. The whole point of semantic versioning is to allow you or package managers you use to limit which libraries to update. So, semver is to let you know of braking changes exactly before they would happen, because until you actually upgrade the library, the change hasn't happened. Surely this makes sense? Maybe we are talking past each other.