You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9.5 KiB
9.5 KiB
Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
3.4.0 2023-08-31
- Support larger major version numbers (#149)
3.3.2 2022-04-01
- Fixed handling of non-string values (#134)
3.3.1 2022-03-16
- Fixed possible cache key clash in the CompilingMatcher memoization (#132)
3.3.0 2022-03-15
- Improved performance of CompilingMatcher by memoizing more (#131)
- Added CompilingMatcher::clear to clear all memoization caches
3.2.9 2022-02-04
- Revert #129 (Fixed MultiConstraint with MatchAllConstraint) which caused regressions
3.2.8 2022-02-04
- Updates to latest phpstan / CI by @Seldaek in https://github.com/composer/semver/pull/130
- Fixed MultiConstraint with MatchAllConstraint by @Toflar in https://github.com/composer/semver/pull/129
3.2.7 2022-01-04
- Fixed: typo in type definition of Intervals class causing issues with Psalm scanning vendors
3.2.6 2021-10-25
- Fixed: type improvements to parseStability
3.2.5 2021-05-24
- Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127)
- Fixed: added complete type information using phpstan annotations
3.2.4 2020-11-13
- Fixed: code clean-up
3.2.3 2020-11-12
- Fixed: constraints in the form of
X || Y, >=Y.1
and other such complex constructs were in some cases being optimized into a more restrictive constraint
3.2.2 2020-10-14
- Fixed: internal code cleanups
3.2.1 2020-09-27
- Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
- Fixed: normalization of beta0 and such which was dropping the 0
3.2.0 2020-09-09
- Added: support for
x || @dev
, not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0 - Added: support for
foobar-dev
being equal todev-foobar
, dev-foobar is the official way to write it but we need to support the other for BC and convenience
3.1.0 2020-09-08
- Added: support for constraints like
^2.x-dev
and~2.x-dev
, not very useful but seen in the wild and failed to validate with 3.0.1 - Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
3.0.1 2020-09-08
- Fixed: handling of some invalid -dev versions which were seen as valid
3.0.0 2020-05-26
- Break: Renamed
EmptyConstraint
, replace it withMatchAllConstraint
- Break: Unlikely to affect anyone but strictly speaking a breaking change,
*.*
and such variants will not match alldev-*
versions anymore, only*
does - Break: ConstraintInterface is now considered internal/private and not meant to be implemented by third parties anymore
- Added
Intervals
class to check if a constraint is a subsets of another one, and allow compacting complex MultiConstraints into simpler ones - Added
CompilingMatcher
class to speed up constraint matching against simple Constraint instances - Added
MatchAllConstraint
andMatchNoneConstraint
which match everything and nothing - Added more advanced optimization of contiguous constraints inside MultiConstraint
- Added tentative support for PHP 8
- Fixed ConstraintInterface::matches to be commutative in all cases
2.0.0 2020-04-21
- Break:
dev-master
,dev-trunk
anddev-default
now normalize todev-master
,dev-trunk
anddev-default
instead of9999999-dev
in 1.x - Break: Removed the deprecated
AbstractConstraint
- Added
getUpperBound
andgetLowerBound
to ConstraintInterface. They returnComposer\Semver\Constraint\Bound
instances - Added
MultiConstraint::create
to create the most-optimal form of ConstraintInterface from an array of constraint strings
1.7.2 2020-12-03
- Fixed: Allow installing on php 8
1.7.1 2020-09-27
- Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
- Fixed: normalization of beta0 and such which was dropping the 0
1.7.0 2020-09-09
- Added: support for
x || @dev
, not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0 - Added: support for
foobar-dev
being equal todev-foobar
, dev-foobar is the official way to write it but we need to support the other for BC and convenience
1.6.0 2020-09-08
- Added: support for constraints like
^2.x-dev
and~2.x-dev
, not very useful but seen in the wild and failed to validate with 1.5.2 - Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
1.5.2 2020-09-08
- Fixed: handling of some invalid -dev versions which were seen as valid
- Fixed: some doctypes
1.5.1 2020-01-13
- Fixed: Parsing of aliased version was not validating the alias to be a valid version
1.5.0 2019-03-19
- Added: some support for date versions (e.g. 201903) in
~
operator - Fixed: support for stabilities in
~
operator was inconsistent
1.4.2 2016-08-30
- Fixed: collapsing of complex constraints lead to buggy constraints
1.4.1 2016-06-02
- Changed: branch-like requirements no longer strip build metadata - composer/semver#38.
1.4.0 2016-03-30
- Added: getters on MultiConstraint - composer/semver#35.
1.3.0 2016-02-25
- Fixed: stability parsing - composer/composer#1234.
- Changed: collapse contiguous constraints when possible.
1.2.0 2015-11-10
- Changed: allow multiple numerical identifiers in 'pre-release' version part.
- Changed: add more 'v' prefix support.
1.1.0 2015-11-03
- Changed: dropped redundant
test
namespace. - Changed: minor adjustment in datetime parsing normalization.
- Changed:
ConstraintInterface
relaxed, setPrettyString is not required anymore. - Changed:
AbstractConstraint
marked deprecated, will be removed in 2.0. - Changed:
Constraint
is now extensible.
1.0.0 2015-09-21
- Break:
VersionConstraint
renamed toConstraint
. - Break:
SpecificConstraint
renamed toAbstractConstraint
. - Break:
LinkConstraintInterface
renamed toConstraintInterface
. - Break:
VersionParser::parseNameVersionPairs
was removed. - Changed:
VersionParser::parseConstraints
allows (but ignores) build metadata now. - Changed:
VersionParser::parseConstraints
allows (but ignores) prefixing numeric versions with a 'v' now. - Changed: Fixed namespace(s) of test files.
- Changed:
Comparator::compare
no longer throwsInvalidArgumentException
. - Changed:
Constraint
now throwsInvalidArgumentException
.
0.1.0 2015-07-23
- Added:
Composer\Semver\Comparator
, various methods to compare versions. - Added: various documents such as README.md, LICENSE, etc.
- Added: configuration files for Git, Travis, php-cs-fixer, phpunit.
- Break: the following namespaces were renamed:
- Namespace:
Composer\Package\Version
->Composer\Semver
- Namespace:
Composer\Package\LinkConstraint
->Composer\Semver\Constraint
- Namespace:
Composer\Test\Package\Version
->Composer\Test\Semver
- Namespace:
Composer\Test\Package\LinkConstraint
->Composer\Test\Semver\Constraint
- Namespace:
- Changed: code style using php-cs-fixer.