github jdx/mise v2026.5.12
v2026.5.12: minimum-release-age, global edit, and install_env fixes

4 hours ago

A focused release that renames the release-age cutoff flag to something more discoverable, deprecates the legacy default_packages_file mechanism, and fixes several install_env propagation gaps across backends.

Added

  • (cli) mise edit --global / -g opens the global config file (~/.config/mise/config.toml, or $MISE_GLOBAL_CONFIG_FILE if set), bringing mise edit in line with mise use --global, mise settings set --global, and other commands. A positional path still wins over the flag (#9953 by @fru1tworld).

  • (cli) The release-age cutoff flag on mise install, use, upgrade, and latest has been renamed from --before to --minimum-release-age, matching the per-tool option and global setting of the same name. The old --before spelling is kept as a hidden alias so existing scripts keep working (#9768 by @risu729):

    mise latest node --minimum-release-age 2024-01-01
    mise install --minimum-release-age 90d

Fixed

  • (aqua) Verify cosign bundles that ship a long-lived public key via cosign.opts --key locally, instead of routing them through sigstore-verify's unsupported public-key bundle path. This fixes installs like aqua:stackrox/kube-linter@0.8.3, which previously failed with public key verification not yet supported (#9972 by @jdx).
  • (backend) Per-tool install_env is now passed into tool-level postinstall hook commands (#9930 by @risu729) and applied to command-backed install paths across package-manager backends, vfox cmd.exec hooks, SPM build/probe commands, and core language install-time commands (#9929 by @risu729).
  • (cargo) Fall back to cargo install (instead of cargo-binstall) when tool options require source-build feature selection. cargo-binstall is still used for compatible options such as bin, crate, and locked (#9928 by @risu729).
  • (config) Restore the env_file setting and the MISE_ENV_FILE env var, which had been incorrectly marked deprecated. env._.file in mise.toml is the right replacement for legacy top-level env_file entries, but it's not behaviorally equivalent to MISE_ENV_FILE=.env, which uses FindUp from the current directory (#9903 by @risu729).

Changed

  • (core) Default package files are now on a deprecation timeline (#9970 by @jdx). The settings go.default_packages_file, node.default_packages_file, python.default_packages_file, and ruby.default_packages_file (i.e. ~/.default-go-packages, ~/.default-npm-packages, ~/.default-python-packages, ~/.default-gems) will start emitting a warning in 2026.11.0 and be removed in 2027.11.0. The recommended replacements are package-manager backends for CLIs:

    [tools]
    "npm:typescript" = "latest"
    "pipx:black"     = "latest"
    "gem:rubocop"    = "latest"
    "go:github.com/jesseduffield/lazygit" = "latest"

    or a tool-level postinstall hook for packages that really should be installed into every runtime version:

    [tools]
    node = { version = "22", postinstall = "npm install -g typescript" }
  • (cli) User-facing help, docs, and the man page now use tool/backend wording instead of plugin/runtime where tools are not necessarily plugins, including renaming MISE_${PLUGIN}_VERSION references to MISE_${TOOL}_VERSION. mise tool-alias now prefers --tool as the primary long flag, with --plugin retained as an alias (#9906 by @risu729).

  • (registry) The qsv shorthand now resolves to aqua:dathere/qsv first, falling back to the existing github:dathere/qsv and asdf:vjda/asdf-qsv entries (#9910 by @risu729).

  • (snap) The snap package is now built and published for arm64 in addition to amd64, so snap install mise works on arm64 desktops (#9948 by @jnsgruk).

New Contributors

Full Changelog: v2026.5.11...v2026.5.12

💚 Sponsor mise

mise is built by @jdx under en.dev — an independent studio making developer tooling (mise, aube, and more). Development is funded by sponsors.

If mise saves you or your team time, please consider sponsoring at en.dev. Individual and company sponsorships keep mise fast, free, and independent.

Don't miss a new mise release

NewReleases is sending notifications on new releases.