mirror of
https://github.com/semver/semver.git
synced 2026-07-11 04:52:47 -05:00
[GH-ISSUE #664] [Question] Not prescriptive on releases that add new platform binaries without code change #4699
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ahmetb on GitHub (Feb 17, 2021).
Original GitHub issue: https://github.com/semver/semver/issues/664
Some discussion on: https://twitter.com/ahmetb/status/1362114431514071044
What if I'm tagging a new release for a software, but all I changed was my build script (which the users don’t use) to build the binary for additional OS/CPU platforms?
This doesn't seem to be fitting the bill for either:
or
because this is neither a bugfix nor a new functionality (since no code change, or a new feature for existing users).
@ljharb commented on GitHub (Feb 17, 2021):
"for existing users" is not a constraint; "allows new users" is a new feature.
@klehelley commented on GitHub (Feb 18, 2021):
To me it feels like something that should be presented to your users as a new feature.
From my point of view your question is too different to something like "I have added a new feature to the API (say the new
fugglerize()function), that most of my existing users will not be using. What should I increment?" In the case I present I think you will agree that MINOR should be incremented.From existing users' standpoint, here is how I expect them to react to a new release depending on what is being incremented:
In most cases users, when taken individually, are not using the full feature set provide by the public API that is being versioned. As such sometimes upgrades to any number of the version string is a painless dependency upgrade (even for MAJOR). The impact is not the same for everyone.
Also of note in your case is that maybe some of your existing users would make use of the new platform builds, even replacing their use of the existing ones if it fits their needs better.
Of course just a change in version number is not precise enough as far as providing information to the users go, which is why in my list above I always expect the users to check the release notes, whatever the change in version number may be.