github jdx/mise v2026.5.16
v2026.5.16: versions-host metadata, fork-bomb fixes, and friendlier upgrades

one day ago

Added

  • (github) Use the shared mise-versions host for release metadata and artifact attestations before falling back to api.github.com, dramatically cutting anonymous GitHub API usage in CI/Docker (#10127 by @jdx).
  • (node) New node.npm_shim setting (MISE_NODE_NPM_SHIM) to opt out of the bundled npm wrapper, letting corepack manage bin/npm cleanly (#10082 by @jjb).
  • (npm) New allow_builds tool option for npm-backend installs that expands to --allow-build=<pkg> for aube and pnpm, accepting a string, array, or true for all builds (#10116 by @jdx).

Fixed

  • (backend) Strip the system shims dir from dependency_env PATH to prevent npm/go shim re-entry fork-bombs in devcontainer/Docker setups using mise install --system (#10019 by @andrewjamesbrown).
  • (backend) Improve libc detection on musl distros so installing gcompat on Alpine no longer flips mise to glibc binaries (#10020 by @thespags).
  • (aqua) Skip in-place link creation when src and dst alias the same inode (fixes godot install on macOS/APFS) (#10012 by @tvararu).
  • (aqua) Lock github_content packages using raw GitHub content URLs instead of archive URLs (#10102 by @risu729).
  • (toolset) hook-env and other prefer-offline flows no longer fetch remote versions to resolve concrete/latest/prefix:* specs, speeding up shells with many fuzzy tools (#10098 by @jdx).
  • (upgrade) Preserve installed versions still pinned by other tracked project lockfiles during upgrade cleanup (#10114 by @jdx).
  • (upgrade) Improve current version detection so prefix requests like go = "1.25" show the best matching installed version in summaries (#9973 by @jdx).
  • (lock) Allow mise lock and mise upgrade to refresh mise.lock even when locked = true is set (#10111 by @jdx).
  • (install) Reject install requests whose resolved backend is in disable_backends, including explicit syntax like ubi:owner/repo (#9905 by @risu729).
  • (use) Reject tool version strings that start with - (e.g. mise use dummy@--version) (#10113 by @jdx).
  • (en) Preserve MISE_ENV / -E profile when an activated subshell sources mise activate (#10124 by @jdx).
  • (unset) Respect MISE_GLOBAL_CONFIG_FILE when running mise unset from $HOME, matching mise set/use (#10105 by @jdx).
  • (task) Set config_root on tasks loaded from global config so {{config_root}} renders correctly (#10106 by @jdx).
  • (task) Render templates and expand ~/ in sandbox allow_read / allow_write paths (#10112 by @jdx).
  • (shim) Skip dot-prefixed (hidden) executables when generating shims (#10123 by @jdx).
  • (pipx) Combine --pip-args=VALUE into a single argv element so pipx's argparse accepts values starting with -- (#10120 by @iloveitaly).
  • (security) Apply url_replacements to the GitHub attestations API base URL (#9971 by @SlaterByte).
  • Show the mise version in friendly error output (#10109 by @jdx).
  • (copr) Increase build timeout (#10071 by @jdx).

Performance

  • Cache repeated successful path canonicalization across hot PATH/shim/activation lookups (#10068 by @jdx).

Changed

Documentation

💚 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.