Composer Versioning¶
Identifier¶
composer
References¶
- https://getcomposer.org/doc/articles/versions.md
- https://packagist.org/packages/composer/semver
- https://madewithlove.be/tilde-and-caret-constraints/
- https://semver.mwl.be
Ranges/Constraints¶
✅ Ranges are supported.
Valid rangeStrategy
values are: bump
, widen
, pin
, replace
, update-lockfile
Description¶
Composer uses Semver-like versioning, but some package authors may use versions that are not completely valid, e.g. 1.2
instead of 1.2.0
.
Composer supports ranges in a similar manner to npm, but not identical. The main difference is with tilde ranges.
Tilde ranges with "short" versions are different to npm. e.g.
~4
is equivalent to ^4
in npm
~4.1
is equivalent to ^4.1
in npm
~0.4
is equivalent to >=0.4 <1
in npm
Composer supports patches in the version numbers, which are considered stable. E.g., 1.2.3-p1
is recognized by npm as unstable, Renovate
implements additional logic to support correct sorting and stability checks on composer patch versions syntax.