vierbergenlars/php-semver — pull request #23 by vierbergenlars (2012-11-15 20:34:00+00:00)
Title: When a version has a tag and the other doesn't, no comparison is made.

In the code, you have:

if (isset($t[$v1->getTag()]) && !isset($t[$v2->getTag()]))
return true; //v1 has no tag, v2 has tag
if (!isset($t[$v1->getTag()]) && isset($t[$v2->getTag()]))
return false; //v1 has tag, v2 has no tag

Which causes the following to return false:

version::lt('3.0.0', '4.0.0-beta.1');

Which is obviously not true. Removing this code in my copy fixed the problem, but I don't know if there are any unintended side-effects that come from doing so. I mean, I assume the code was there for a reason.