$expr = new expression(">1.2.3-beta");
$vers = new version("3.2.5-beta");
$expr->satisfiedBy($vers)
This returns true, but it shouldn't. When a beta flag is given, the user says it is willing to take the risk off instability of this library, but this only counts for this specific version. This means that version("3.2.5") for example should match, but no assumption can be made that the user is willing to take the risk of using the betarelease for this version.