You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not asking you to reverse the decision in #15 not to follow the actual semantic versioning specification. I'm asking you to please make it clear in the package description and documentation that this package implements a version_compare()-compatible versioning system rather than following semver.org's rules.
For example,
// This outputs "true". Per semver.org, these are not equal.
var_dump( \Composer\Semver\Comparator::equalTo( "1.2.3-alpha", "1.2.3-a" ) );
// This outputs "true". Per semver.org, prerelease string "c" > "a".
var_dump( \Composer\Semver\Comparator::lessThan( "1.2.3-c", "1.2.3-a" ) );
// This outputs "true". Per semver.org, 1.2.3-prerelease is less than 1.2.3, not greater than.
// (version_compare considers "p" as meaning "patchlevel", along the lines of what might otherwise be "1.2.3.1").
var_dump( \Composer\Semver\Comparator::greaterThan( "1.2.3-prelease", "1.2.3" ) );
Again, I'm not asking you to change any of those results. But please make it clear in the documentation that if someone is looking for a package to follow semver.org rather than version_compare(), they should keep looking.
I suggest the following changes:
Change the description to call it a "Version comparison library" rather than a "Semver library".
Semver (Semantic Versioning) library that offers utilities, version constraint parsing and validation.
In the Version Comparison section, add a paragraph something like "This package compares versions in the same way PHP's version_compare() does. It does not follow the specification at semver.org." before the existing paragraph linking to the details.
Yeah, we do follow the key parts of the semver spec, but cannot reasonably follow these minor details due to language support. So I disagree we should drop semver entirely because for most intents and purposes, this is quite semver compatible. But I agree that a warning in the readme at least is in order :)
I'm not asking you to reverse the decision in #15 not to follow the actual semantic versioning specification. I'm asking you to please make it clear in the package description and documentation that this package implements a
version_compare()
-compatible versioning system rather than following semver.org's rules.For example,
Again, I'm not asking you to change any of those results. But please make it clear in the documentation that if someone is looking for a package to follow semver.org rather than
version_compare()
, they should keep looking.I suggest the following changes:
semver/composer.json
Line 3 in a40ea7e
semver/README.md
Line 4 in a40ea7e
version_compare()
does. It does not follow the specification at semver.org." before the existing paragraph linking to the details.semver/README.md
Lines 29 to 33 in a40ea7e
semver/composer.json
Lines 6 to 11 in a40ea7e
(I'm not going to suggest renaming the package, namespaces, or classes. That would break too much stuff to be worth me advocating for.)
Thanks!
The text was updated successfully, but these errors were encountered: