-
Notifications
You must be signed in to change notification settings - Fork 714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
branch for 3.0.0 #113
Comments
As discussed offline with @isaacs I believe that we should look to the following format for v3 There should be 4 documents:
|
A version range specification should cover, at minimum, the specific meaning of the following types of ranges, all of which are observable in the wild today in npm and other package systems:
I still maintain that precedence should be defined by the semver.org spec, but that semver range expression is complicated enough to merit its own specification entirely. |
I don't think we need to create a new branch for 3.0.0. We shipped 2.0.0 today! 👍 I'd like to target the BNF for SemVer 2.1. It's a clarification of SemVer so we probably don't need to bump the major release number just yet. We can decide on the final version later. But feel free to issue PRs against master. :) |
Speaking of the SemVer Expressions, here is the BNF grammar I've come up with. It might not be complete but it worked for me pretty well. Besides normal comparison operators, it also allows wildcards, ranges, tilde operator, negation operator, boolean operators and parenthesis. |
Why not copy the range expressions used by node-semver? Then you'd be compatible with the npm registry as well, for free :) |
Actually, I did have a look at the range expressions of node-semver and a few others as well, and came up with a combination of them. I also added some new features that were not found in those I saw, such as negation operator, boolean operators and parenthesized expressions. Moreover, I tried to be close to the commonly used notations, for example I used |
I just wonder that expression like '1 - 2', should be translated into '>= 1.0.0 <=2.0.0' or '>= 1.0.0-0 <=2.0.0'. I prefer the first one. But '1 - 2' make me think it should include all the versions that start with "1", just like "1" |
@villadora, do you suggest that the range operator might be confusing? Well, maybe not if it's specified somewhere. |
@zafarkhaja I just find that you had written java libs for semver, I was inventing the wheel for past days to meet my needs. Current syntax is widely used, but as there is no specification, many things are confusing. Excluding them from next spec may be impossible, but I think the interval notations is a good description for canonical form. And I find that in java maven already use it: http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html |
@isaacs Does this look like a reasonable breakdown of your outlined range rules? https://gist.github.com/pvande/72fc515c16584855475d |
@petermichaux, can we please close this old issue? Somebody needs to create a 3.0.0 branch or decide not to (@haacked's comment). Either way, this ancient issue should be closed. |
Imo the discussion about Version selection is still valid to this day, although the issue title is kind of misleading about the content. |
I don't really remember this issue. Close if you like. :-) |
I believe @haacked answered @petermichaux 's question. It seems the matter was decided, but I can only recommend closure at this point in time. |
@petermichaux, please close this issue at your earliest possible convenience. Thank you. |
@petermichaux, can you please close this thread? I don't have the special sauce, but you can close your own issue. Thank you. |
Fixed typo: вресий -> версий
Several larger spec changes are being proposed, for example, #110. If they are too late for version 2 then can a version 3 branch be created where larger changes could be merged?
The text was updated successfully, but these errors were encountered: