Skip to content

Cargo Versioning

Identifier

cargo

References

Ranges/Constraints

✅ Ranges are supported.

Valid rangeStrategy values are: bump, pin, replace

Description

Cargo versioning uses Semantic Versioning 2.0.

Cargo supports ranges in a similar manner to npm, but not identical. The important differences are:

Use of commas

Multiple version requirements can also be separated with a comma, e.g. >= 1.2, < 1.5. We interpret this to mean AND.

No exact versions unless using equals =

In Cargo, 1.2.3 doesn't mean "exactly 1.2.3", it actually means >=1.2.3 <2.0.0. So this is like the equivalent of ^1.2.3 in npm.


Open items

The below list of bugs were current when this page was generated on November 21, 2024.

Bug reports

  • Invalid version constraints for Cargo when using rangeStrategy: widen #20342
  • cargo replace rangeStrategy leads to in-range updates when "x.y" specified in Cargo.toml #19809