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:doNotUpgradeFromAlpineStableToEdge",
    "workarounds:supportRedHatImageVersion",
    "workarounds:javaLTSVersions",
    "workarounds:disableEclipseLifecycleMapping",
    "workarounds:disableMavenParentRoot",
    "workarounds:containerbase",
    "workarounds:bitnamiDockerImageVersioning",
    "workarounds:k3sKubernetesVersioning",
    "workarounds:rke2KubernetesVersioning",
    "workarounds:libericaJdkDockerVersioning"
  ],
  "ignoreDeps": []
}

workarounds:bitnamiDockerImageVersioning

Use custom regex versioning for bitnami images

{
  "packageRules": [
    {
      "matchCurrentValue": "/^(?<major>\\d+)(?:\\.(?<minor>\\d+)(?:\\.(?<patch>\\d+))?)?-(?<compatibility>.+)-(?<build>\\d+)(?:-r(?<revision>\\d+))?$/",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "bitnami/**",
        "docker.io/bitnami/**",
        "gcr.io/bitnami-containers/**"
      ],
      "versioning": "regex:^(?<major>\\d+)(?:\\.(?<minor>\\d+)(?:\\.(?<patch>\\d+))?)?(:?-(?<compatibility>.+)-(?<build>\\d+)(?:-r(?<revision>\\d+))?)?$"
    }
  ]
}

workarounds:containerbase

Add some containerbase overrides.

{
  "packageRules": [
    {
      "description": "Use node versioning for `(containerbase|renovate)/node` images",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "/^(?:(?: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"
      ],
      "matchPackageNames": [
        "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",
        "/^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>.*))?$"
    },
    {
      "allowedVersions": "/^(?:jdk|jdk-all|jre)-(?: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"
      ],
      "matchPackageNames": [
        "bellsoft/liberica-runtime-container"
      ]
    }
  ]
}

workarounds:k3sKubernetesVersioning

Use custom regex versioning for k3s-io/k3s

{
  "packageRules": [
    {
      "matchDatasources": [
        "github-releases"
      ],
      "matchPackageNames": [
        "k3s-io/k3s"
      ],
      "versioning": "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?:-(?<prerelease>[a-z]+\\d+))?(?<compatibility>\\+k3s)(?<build>\\d+)$"
    }
  ]
}

workarounds:libericaJdkDockerVersioning

Use custom regex versioning for bellsoft/liberica-runtime-container

{
  "packageRules": [
    {
      "description": "Liberica JDK Lite version optimized for the Cloud",
      "matchCurrentValue": "/^jdk-[^a][^l]{2}/",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "bellsoft/liberica-runtime-container"
      ],
      "versioning": "regex:^jdk-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$"
    },
    {
      "description": "Liberica JDK that can be used to create a custom runtime with a help of jlink tool",
      "matchCurrentValue": "/^jdk-all/",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "bellsoft/liberica-runtime-container"
      ],
      "versioning": "regex:^jdk-all-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$"
    },
    {
      "description": "Liberica JRE (only the runtime without the rest of JDK tools) for running Java applications",
      "matchCurrentValue": "/^jre-/",
      "matchDatasources": [
        "docker"
      ],
      "matchPackageNames": [
        "bellsoft/liberica-runtime-container"
      ],
      "versioning": "regex:^jre-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$"
    }
  ]
}

workarounds:mavenCommonsAncientVersion

Fix some problems with very old Maven commons versions.

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

workarounds:nodeDockerVersioning

Use node versioning for node docker images.

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

workarounds:rke2KubernetesVersioning

Use custom regex versioning for rancher/rke2

{
  "packageRules": [
    {
      "matchDatasources": [
        "github-releases"
      ],
      "matchPackageNames": [
        "rancher/rke2"
      ],
      "versioning": "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?:-(?<prerelease>[a-z]+\\d+))?(?<compatibility>\\+rke2r)(?<build>\\d+)$"
    }
  ]
}

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",
        "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/ubi*{,/}**",
        "redhat/**"
      ],
      "versioning": "redhat"
    }
  ]
}

workarounds:typesNodeVersioning

Use node versioning for @types/node.

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