mirror of
https://github.com/semver/semver.git
synced 2026-07-11 04:52:47 -05:00
[GH-ISSUE #252] Do I version on every pull request/commit or per Release #5293
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 @PatrickWalker on GitHub (May 7, 2015).
Original GitHub issue: https://github.com/semver/semver/issues/252
As a package maintainer I may be in a position where a number of pull requests come in close together.
My current version of the project is 2.5.0 so now I have 3 new backwardly compatible features available before I'm scheduled to release (let's say I have a cadence)
Do I go
2.5.0 -> 2.6.0 -> 2.7.0 -> 2.8.0
and in essence rev the version every-time I merge in a pull request? That way each time new functionality has been added the version has shown that or do I allow myself to plan a release of an aggregate of functionality and rev to 2.6.0 using RC build numbers that increment per pull request I merge in?
Basically do I version everytime a commit makes a change to the API or do I allow myself to batch a number of equal or less affecting changes into 1 release (ie my 2.6.0 could contain 2 bug fixes and 4 new backwardly compatible fixes over 2.5.0)
@dwijnand commented on GitHub (May 7, 2015):
You batch.
SemVer is about defining semantics of the release version, allowing clients
to infer information from the new version. So a 2.6 release means 1-n
backwards-compatible features and/or bugfixes, and 0 incompatible changes.
You can obviously choose to release pre-release versions on every
pull-request. More traditionally nightly builds are done, but I kind of
like your idea more.
On Thu, 7 May 2015 13:04 Patrick Walker notifications@github.com wrote:
@jwdonahue commented on GitHub (Dec 8, 2017):
@PatrickWalker, the SemVer spec allows you to do it either way. Your own internal workflows should determine which behavior best suits your needs. Do you want to test each change separately or throw them all together first? Will there be A/B flight testing between the different feature sets? It's not up to SemVer to define your internal processes.
Unless you have further questions, please close this issue at your earliest possible convenience.