Skip to content

Workaround Presets

workarounds:all

Apply crowd-sourced workarounds for known problems with packages.

{
  "extends": [
    "workarounds:mavenCommonsAncientVersion",
    "workarounds:ignoreSpringCloudNumeric",
    "workarounds:ignoreWeb3jCoreWithOldReleaseTimestamp",
    "workarounds:ignoreHttp4sDigestMilestones",
    "workarounds:typesNodeVersioning",
    "workarounds:nodeDockerVersioning",
    "workarounds:reduceRepologyServerLoad",
    "workarounds:doNotUpgradeFromAlpineStableToEdge",
    "workarounds:supportRedHatImageVersion",
    "workarounds:javaLTSVersions",
    "workarounds:disableEclipseLifecycleMapping",
    "workarounds:disableMavenParentRoot",
    "workarounds:containerbase"
  ],
  "ignoreDeps": []
}

workarounds:containerbase

Add some containerbase overrides.

{
  "packageRules": [
    {
      "description": "Use node versioning for `(containerbase|renovate)/node` images",
      "matchDatasources": [
        "docker"
      ],
      "matchPackagePatterns": [
        "^(?:(?:docker|ghcr)\\.io/)?(?:containerbase|renovate)/node$"
      ],
      "versioning": "node"
    }
  ]
}

workarounds:disableEclipseLifecycleMapping

Disable Eclipse m2e lifecycle-mapping placeholder package.

{
  "packageRules": [
    {
      "enabled": false,
      "matchDatasources": [
        "maven"
      ],
      "matchPackageNames": [
        "org.eclipse.m2e:lifecycle-mapping"
      ]
    }
  ]
}

workarounds:disableMavenParentRoot

Avoid version fetching for Maven packages detected as project root.

{
  "packageRules": [
    {
      "enabled": false,
      "matchDepTypes": [
        "parent-root"
      ],
      "matchManagers": [
        "maven"
      ]
    }
  ]
}

workarounds:doNotUpgradeFromAlpineStableToEdge

Do not upgrade from Alpine stable to edge.

{
  "packageRules": [
    {
      "allowedVersions": "<20000000",
      "matchCurrentVersion": "!/^\\d{8}$/",
      "matchDatasources": [
        "docker"
      ],
      "matchDepNames": [
        "alpine"
      ]
    },
    {
      "allowedVersions": "<20000000",
      "matchCurrentVersion": "!/^\\d{8}$/",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "alpine"
      ]
    }
  ]
}

workarounds:ignoreHttp4sDigestMilestones

Ignore http4s digest-based 1.x milestones.

{
  "packageRules": [
    {
      "allowedVersions": "!/^1\\.0-\\d+-[a-fA-F0-9]{7}$/",
      "matchManagers": [
        "sbt"
      ],
      "matchPackagePrefixes": [
        "org.http4s:"
      ]
    }
  ]
}

workarounds:ignoreSpringCloudNumeric

Ignore spring cloud 1.x releases.

{
  "packageRules": [
    {
      "allowedVersions": "/^[A-Z]/",
      "matchDatasources": [
        "maven"
      ],
      "matchPackageNames": [
        "org.springframework.cloud:spring-cloud-starter-parent"
      ]
    }
  ]
}

workarounds:ignoreWeb3jCoreWithOldReleaseTimestamp

Ignore web3j 5.0.0 release.

{
  "packageRules": [
    {
      "allowedVersions": "!/^5\\.0\\.0/",
      "matchDatasources": [
        "maven"
      ],
      "matchPackageNames": [
        "org.web3j:core"
      ]
    }
  ]
}

workarounds:javaLTSVersions

Limit Java runtime versions to LTS releases.

{
  "packageRules": [
    {
      "allowedVersions": "/^(?:8|11|17|21)(?:\\.|-|$)/",
      "description": "Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.",
      "matchDatasources": [
        "docker",
        "java-version"
      ],
      "matchPackageNames": [
        "eclipse-temurin",
        "amazoncorretto",
        "adoptopenjdk",
        "openjdk",
        "java",
        "java-jre",
        "sapmachine"
      ],
      "matchPackagePatterns": [
        "^azul/zulu-openjdk",
        "^bellsoft/liberica-openj(dk|re)-",
        "^cimg/openjdk"
      ],
      "versioning": "regex:^(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$"
    },
    {
      "allowedVersions": "/^(?:8|11|17|21)(?:\\.|-|$)/",
      "description": "Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.",
      "matchDatasources": [
        "docker",
        "java-version"
      ],
      "matchDepNames": [
        "eclipse-temurin",
        "amazoncorretto",
        "adoptopenjdk",
        "openjdk",
        "java",
        "java-jre",
        "sapmachine"
      ],
      "versioning": "regex:^(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$"
    }
  ]
}

workarounds:mavenCommonsAncientVersion

Fix some problems with very old Maven commons versions.

{
  "packageRules": [
    {
      "allowedVersions": "!/^200\\d{5}(\\.\\d+)?/",
      "matchDatasources": [
        "maven",
        "sbt-package"
      ],
      "matchPackagePrefixes": [
        "commons-"
      ]
    }
  ]
}

workarounds:nodeDockerVersioning

Use node versioning for node docker images.

{
  "packageRules": [
    {
      "matchDatasources": [
        "docker"
      ],
      "matchDepNames": [
        "node"
      ],
      "versionCompatibility": "^(?<version>[^-]+)(?<compatibility>-.*)?$",
      "versioning": "node"
    }
  ]
}

workarounds:reduceRepologyServerLoad

Limit requests to reduce load on Repology servers until we can fix this properly, see issue #10133.

{
  "hostRules": [
    {
      "concurrentRequestLimit": 1,
      "matchHost": "repology.org",
      "maxRequestsPerSecond": 0.5
    }
  ]
}

workarounds:supportRedHatImageVersion

Use specific versioning for Red Hat-maintained container images.

{
  "packageRules": [
    {
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "registry.access.redhat.com/rhel",
        "registry.access.redhat.com/rhel-atomic",
        "registry.access.redhat.com/rhel-init",
        "registry.access.redhat.com/rhel-minimal"
      ],
      "matchPackagePrefixes": [
        "registry.access.redhat.com/rhceph/",
        "registry.access.redhat.com/rhgs3/",
        "registry.access.redhat.com/rhel7",
        "registry.access.redhat.com/rhel8/",
        "registry.access.redhat.com/rhel9/",
        "registry.access.redhat.com/rhscl/",
        "registry.access.redhat.com/ubi7",
        "registry.access.redhat.com/ubi8",
        "registry.access.redhat.com/ubi9",
        "redhat/"
      ],
      "versioning": "redhat"
    }
  ]
}

workarounds:typesNodeVersioning

Use node versioning for @types/node.

{
  "packageRules": [
    {
      "matchManagers": [
        "npm"
      ],
      "matchPackageNames": [
        "@types/node"
      ],
      "versioning": "node"
    }
  ]
}