-
Notifications
You must be signed in to change notification settings - Fork 153
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
semver v3 regex is more inclusive than the official semver.org regex #211
Comments
In my opinion, no, it should not be the same. As stated in the README, there is a StrictNewVersion and the more permissive NewVersion, which also allows things like v1 or v1.2 which are not strictly SemVer, but still ocurr often "in the wild". In fact, I am very glad this library supports the more permissive one, as that's pretty much exactly what I need for a project. Now I only need to go from interval notations to this librarys format for comparing/validating versions and the more permissive NewVersion can handle the parsing and comparing :) |
Tks for your answer @d0x7 . Indeed
For more details: Simple tests |
|
Note, the regex here picks up partials so it's not intended to be exactly the same. For example, when it sees But, things like |
The NewVersion function, which uses the loose parser, had the regex for detection updated based on the official one. A change was made to allow for versions like 1.2 and other "loose" ones (to use the node semver term). StrictNewVersion had some internal validation updated to catch issues. For NewVersion, the benchmarking is now faster than the previous regex. Ref Masterminds#211 Signed-off-by: Matt Farina <matt.farina@suse.com>
New tests were added to detect more. No existing tests were changed or removed. |
The official Semantic Versioning website has a suggested regex.
Which is different from the one used in semver v3
https://github.com/Masterminds/semver/blob/master/version.go#L42
The results of applying them is different:
This is the official one: https://regex101.com/r/Ly7O1x/3/
This is the one from semver v3 applied to the same examples: https://regex101.com/r/LxcCgR/1
Shouldn't they be the same?
The text was updated successfully, but these errors were encountered: