An elegant library for representing and comparing SemVer versions and constraints