Semantic versioning utilities with the addition of version constraints parsing and checking.
Latest commit 69407bb Dec 19, 2016 @alcohol alcohol committed on GitHub Merge pull request #50 from Ramoonus/patch-1
test with php 7.1


Semver library that offers utilities, version constraint parsing and validation.

Originally written as part of composer/composer, now extracted and made available as a stand-alone library.

Build Status


Install the latest version with:

$ composer require composer/semver


  • PHP 5.3.2 is required but using the latest version of PHP is highly recommended.

Version Comparison

For details on how versions are compared, refer to the Versions article in the documentation section of the website.

Basic usage


The Composer\Semver\Comparator class provides the following methods for comparing versions:

  • greaterThan($v1, $v2)
  • greaterThanOrEqualTo($v1, $v2)
  • lessThan($v1, $v2)
  • lessThanOrEqualTo($v1, $v2)
  • equalTo($v1, $v2)
  • notEqualTo($v1, $v2)

Each function takes two version strings as arguments. For example:

use Composer\Semver\Comparator;

Comparator::greaterThan('1.25.0', '1.24.0'); // 1.25.0 > 1.24.0


The Composer\Semver\Semver class provides the following methods:

  • satisfies($version, $constraints)
  • satisfiedBy(array $versions, $constraint)
  • sort($versions)
  • rsort($versions)


composer/semver is licensed under the MIT License, see the LICENSE file for details.