mirror of
https://github.com/semver/semver.git
synced 2026-07-11 04:52:47 -05:00
[GH-ISSUE #231] What the difference between semver 1 and 2 ? #4401
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 @ghost on GitHub (Nov 8, 2014).
Original GitHub issue: https://github.com/semver/semver/issues/231
What the difference between semver 1 and 2 ?
Where is semver 1 scheme like https://github.com/mojombo/semver/blob/master/semver.md and https://github.com/mojombo/semver/blob/master/semver.svg for semver 2?
@dvorapa commented on GitHub (Nov 8, 2014):
P.S.: The difference between v2.0.0 and current draft (master) is here: https://github.com/mojombo/semver/compare/v2.0.0...master and the difference between v1.0.0 and current draft (master) here: https://github.com/mojombo/semver/compare/v1.0.0...master
@ghost commented on GitHub (Nov 8, 2014):
@dvorapa commented on GitHub (Nov 8, 2014):
Could I ask why do you want to use v1.0.0 instead of v2.0.0? Because I think, that making backus–naur form for obsolete version is pointless and time-consuming. Therefore I think there aren't any plans for doing it, but you could try to create backus-naur form and svg scheme on your own, fork v1.0.0, add it there and make a pull request if you have a time to spare.
@ghost commented on GitHub (Nov 9, 2014):
i want understand difference between 1 and 2
@ghost commented on GitHub (Nov 9, 2014):
ah....
Is added notations is correct?
How i can pull it to repoif i do not know it?
@anarcat commented on GitHub (May 22, 2015):
it's kind of hilarious that semver.org doesn't document those changes while the document itself is pretty strict about documenting those changes itself... :p
to answer the actual question here, it seems most of the changes are:
Summarysection on top+something) has been addedI suggest something like that be added to the FAQ.
@EddieGarmon commented on GitHub (May 22, 2015):
SemVer is about documenting the API, not the deltas between the releases.
@jeremyfrench commented on GitHub (Feb 9, 2017):
Perhaps being pedantic here, but is semVer 2.0.0 breaking backwards compatibility? Why is it 2.0.0 not 1.1.0 ?
@FichteFoll commented on GitHub (Feb 9, 2017):
It is, specifically because of
@jwdonahue commented on GitHub (Dec 8, 2017):
The addition of build metadata is also a breaking change from SemVer 1.0.0 because there were/are no specified means to extend the string without updating the standard itself. In other words, SemVer is not extensible. Also, build metadata added the plus symbol to the spec, which is known to break some implementations that implement SemVer. Essentially, any string which has embedded in it, what would otherwise be a legal SemVer string if standing alone, is not a SemVer compliant string.
@jwdonahue commented on GitHub (Dec 8, 2017):
@ggrnd0, unless you have any further questions, please close this issue at your earliest possible convenience.
@FichteFoll commented on GitHub (Dec 9, 2017):
What you are talking about is forwards compatibility. The addition of the metadata section adds a new feature but it is backwards compatible because any 1.0.0 version without a metadata section (and without violating any of the breaking changes I quoted) is still valid in 2.0.0.
If just the metadata section was added, this could have been released as 1.1.0.
@anarcat commented on GitHub (Dec 10, 2017):
Would the authors here welcome pull requests that would integrate the above documentation (https://github.com/semver/semver/issues/231#issuecomment-104478395) in the source somehow? shouldn't there be a CHANGELOG that would summarize major changes in the releases?
or could the release tags include those detailed changes?
thanks!
@jwdonahue commented on GitHub (Dec 12, 2017):
@FichteFoll, a non-breaking change to the spec would not break existing parsers. When metadata was added, it broke existing parsers. That change alone was sufficient to bump from 1.0.0 to 2.0.0.
@ggrnd0, you are always welcome to submit PR's. How welcome that might be will be depend on the details. Are proposing adding a change log with retro-active entries? You could always add a page to the wiki that documents the aspects you can identify that are different. Then others can come along and refine it as needed.
@jwdonahue commented on GitHub (Dec 12, 2017):
@ggrnd0, in any case, this issue should either be closed or pending a PR. The wiki page won't require the PR process. We can refine it and maybe eventually add a log file to the site? It's up to you. I don't have the bandwidth to complete that task and you seem to be the only person with the motivation at this point.
@WalkerCodeRanger commented on GitHub (Jan 8, 2020):
It should be noted that this is not just in major, minor, and patch. It also applies to the pre-release version number. In the v1 spec, "denoted by appending an arbitrary string immediately following the patch version and a dash. The string MUST be comprised of only alphanumerics plus dash [0-9A-Za-z-]." In the v2 spec, "denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes."
The way I read that, it also means that previously "1.2.3-" was a valid version number with an empty pre-release version, but is no longer valid.
@alexandrtovmach commented on GitHub (Jun 10, 2020):
Closed as resolved, thanks everyone for contribution 👍
@ggrnd0 If you still have any questions, feel free to re-open