versioning

Versioning

Once Managers have extracted dependencies, and Datasources have located available versions, then Renovate makes use of "Versioning" schemes to perform sorting and filtering of results. This is necessary because different managers use different types of numbering/versioning, e.g. 1.0.0-beta.1 in npm and 1.0.0b1 in Python.

Configuring Versioning

There are times when you may need to manually configure/override the versioning value for a particular dependency. You generally won't have a need for this in ecosystems with strict versioning enforcement like npm, but you might often need it for ecosystems like Docker where versioning is barely a "convention". e.g.

{
  "packageRules": [
    {
      "datasources": ["docker"],
      "packageNames": ["python"],
      "versioning": "pep440"
    }
  ]
}

The above will override Renovate's default of docker versioning for the python Docker image and instead use pep440 versioning to evaluate versions.

Supported Versioning

Supported values for versioning are: cargo, composer, docker, git, gradle, hashicorp, hex, ivy, loose, maven, node, npm, nuget, pep440, poetry, regex, ruby, semver, swift.

Cargo Versioning

Identifier: cargo

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Composer Versioning

Identifier: composer

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Docker Versioning

Identifier: docker

References:

Ranges/Constraints:

❌ No range support.


git Versioning

Identifier: git

References:

Ranges/Constraints:

❌ No range support.


Gradle Versioning

Identifier: gradle

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: pin


Hashicorp Versioning

Identifier: hashicorp

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Hex Versioning

Identifier: hex

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Ivy Versioning

Identifier: ivy

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Loose Versioning

Identifier: loose

Ranges/Constraints:

❌ No range support.


Maven Versioning

Identifier: maven

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Node.js Versioning

Identifier: node

Ranges/Constraints:

❌ No range support.


npm Versioning

Identifier: npm

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


NuGet Versioning

Identifier: nuget

References:

Ranges/Constraints:

❌ No range support.


PEP440 Versioning

Identifier: pep440

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Poetry Versioning

Identifier: poetry

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Regular Expression Versioning

Identifier: regex

Ranges/Constraints:

❌ No range support.


Ruby Versioning

Identifier: ruby

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace


Semantic Versioning

Identifier: semver

References:

Ranges/Constraints:

❌ No range support.


Swift Versioning

Identifier: swift

References:

Ranges/Constraints:

✅ Ranges are supported.

Valid rangeStrategy values are: bump, extend, pin, replace