Files
renovate/lib/modules/versioning/composer
renovate[bot] 498f8f30d1 build(deps): update dependency semver to v7.7.3 (main) (#38624)
* build(deps): update dependency semver to v7.7.3

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | semver  | 7.7.2 | 7.7.3 |

* fix(versioning/composer): strip unsupported `+` prefix (#41082)

strip unsupported + prefix

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
2026-02-11 09:44:28 +00:00
..

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.