- Edited
GreXXL I am looking at the code, but it actually does require a valid constraint, this code has been in Extiverse for the past five years:
try {
$lower = $this->versionParser->normalize($lower);
} catch (UnexpectedValueException $e) {
// This happens when a dev sets flarum/core:* for instance. Let's not allow that.
$version->compatibilities()->sync([]);
return $version;
}
DaleZ That is because @yannis cheated the system , version
1.0.1
of his extension has compatibility with ^1.0
. Extiverse thinks that version is compatible, regardless of his newer 2.x
versions, which are not.
What I can do for the future is mark wildcards compatible with the major version it was written for. So checking the time of the release of that version and identifying the major version of that period...
Another solution that will probably be added somewhere in the future is the ability to report abandoned/broken extension versions. This will then add a warning, or remove the extension from the list entirely until a new version is tagged.
But setting a stricter constraint, in all regards, is the wiser solution. At some point your extension will break, not giving off the impression it still is compatible will reduce the chances of people bricking their community.