an composer.json example to nail it would be good, if you claim not everybody knows semver i bet not everybody knows what an unbound version looks like, it could be "*", or ">=3", or "~2.3" ? Do you mean an upper bound constraint more accurately? So examples are helpful.