Skip to content

Automated Dependency Updates for mise-en-place

Categories: no-category

Renovate supports updating mise-en-place dependencies.

File Matching

By default, Renovate will check any files matching any of the following regular expressions:

/(^|/)\.?mise\.toml$/
/(^|/)\.?mise/config\.toml$/

For details on how to extend a manager's managerFilePatterns value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: crate, dart-version, docker, dotnet-version, flutter-version, git-refs, git-tags, github-releases, github-tags, go, hexpm-bob, java-version, node-version, npm, nuget, pypi, ruby-version, rubygems.

Default config

{
  "managerFilePatterns": [
    "/(^|/)\\.?mise\\.toml$/",
    "/(^|/)\\.?mise/config\\.toml$/"
  ]
}

Additional Information

Renovate can update the mise mise.toml file.

Renovate only updates primary versions

Renovate's mise manager is designed to automatically update the first (primary) version listed for each tool in the mise.toml file.

Secondary or fallback versions require manual updates.

Example

Given a mise.toml entry like:

[tools]
erlang = ["23.3", "22.0"]

Renovate will update "23.3" (the primary version) but will not touch "22.0" (the fallback version).

Why can Renovate only update primary versions?

To maintain consistency and reliability, Renovate opts to only manage the first listed version.

  • Fallback versions can often be older versions of a tool that are known to work and are there as a backup.

This follows the same workflow that Renovate's asdf manager uses.

Short names support

Renovate uses mise registry to understand tools short names.

Support for new tool short names needs to be manually added to Renovate's logic.

Adding new tool support

There are 2 ways to integrate versioning for a new tool:

  • Renovate's mise manager: ensure upstream mise supports the tool, then add support to the mise manager in Renovate
  • Renovate's asdf manager: improve the asdf manager in Renovate, which automatically extends support to mise

If mise adds support for more tools via its own core tools, you can create a PR to extend Renovate's mise manager to add support for the new core tools.

If you want to add support for other tools' short names to mise, you can create a PR to extend Renovate's asdf manager, which indirectly helps Renovate's mise manager as well. Even if the tool does not use the asdf backend in the registry, the short names added to the asdf manager will still be used in the mise manager.

Backends support

Renovate's mise manager supports the following backends:

Limitations

Renovate's mise manager does not support the following tool syntax:

  • asdf and vfox plugins e.g. asdf:mise-plugins/asdf-yarn or vfox:version-fox/vfox-elixir Short names with backends like asdf:yarn or vfox:elixir are supported if the short names (yarn, elixir) are supported.

  • aqua packages with http package type. However if the short name using aqua backend is supported by Renovate, it will be updated. e.g. aqua:helm/helm is not supported, but helm or aqua:helm is supported.

  • aqua packages with version_filter. We don't read the aqua registry itself, so we can't support this feature. If some packages using version_filter like aqua:biomejs/biome are not updated or updated incorrectly, set extractVersion in the Renovate config manually like below.

{
  "packageRules": [
    {
      "depNames": ["aqua:biomejs/biome"],
      "extractVersion": "cli/(?<version>.+)"
    }
  ]
}
  • Some of ubi backend tools with tag_regex option. The tag_regex option is used as extractVersion, but the regex engines are not the same between mise and Renovate. If the version is not updated or updated incorrectly, override extractVersion manually in the Renovate config.

Supported default registry tool short names

Renovate's mise manager can only version these tool short names: