This release introduces experimental shared install directories for multi-user environments, improves secret redaction in mise set and task output, and fixes several issues with Ctrl-C handling, tool auto-installation before prepare steps, and aqua symlink_bins behavior.
Highlights
- Shared and system install directories -- Pre-install tools to
/usr/local/share/mise/installs(or a custom path) so all users on a machine or in a container can share them without re-downloading. Ideal for Docker images, devcontainers, and bastion hosts. - Secret redaction in
mise set-- Environment variables markedredact = trueor matchingredactionspatterns are now hidden inmise setoutput by default, with--no-redactto override. - Faster latest-version resolution for GitHub tools -- The GitHub backend now hits the
releases/latestAPI endpoint directly instead of paginating through all releases, which is significantly faster for repositories with many pre-releases.
Added
-
[experimental] Shared and system install directories --
mise install --systeminstalls tools to/usr/local/share/mise/installs(orMISE_SYSTEM_DATA_DIR/installs), where every user's mise instance will find them automatically.mise install --shared <path>installs to a custom shared directory. Additional read-only lookup directories can be configured via theshared_install_dirssetting orMISE_SHARED_INSTALL_DIRS(colon-separated). Shared versions appear inmise lswith(system)or(shared)labels. See the updated Docker cookbook for usage examples. #8581 by @jdx -
GitHub backend uses
releases/latestendpoint -- Resolving the latest stable version for GitHub-hosted tools now calls the dedicatedreleases/latestAPI endpoint instead of paginating through all releases. This is especially helpful for repositories with many pre-releases (e.g.unikraft/kraftkit) where the old approach required fetching multiple pages. Falls back to the previous behavior if the endpoint fails or the result doesn't match a configuredversion_prefix. #8516 by @roele -
vfox tool plugins record provenance in lockfiles --
mise lockandmise installnow record and enforce supply-chain provenance (GitHub Attestations, SLSA, Cosign) for vfox tool plugins, bringing them to parity with aqua and github backends for downgrade-attack detection. #8544 by @malept
Fixed
-
mise setnow redacts secrets by default -- Values withredact = trueor matchingredactionsglob patterns are shown as[redacted]inmise setoutput. Age-encrypted values default to redacted unless explicitlyredact = false. Use--no-redactto reveal raw values. Task-specific env vars fromenv._.fileor task-levelredact = trueare also now properly redacted inmise runoutput. #8583 by @jdx -
Aqua
symlink_binsnow works for packages without afilesfield -- When an aqua registry entry has nofilesfield,symlink_bins = truepreviously left.mise-binsempty, making the tool invisible on PATH. Now the inferred main binary is included in the symlink directory, matching the existing install-time fallback logic. #8550 by @AlexanderTheGrey -
Ctrl-C reliably interrupts tool downloads during
mise run-- Previously,mise rundisabled Ctrl-C exit handling before tool installation began, so pressing Ctrl-C during a download was silently ignored. Now Ctrl-C exits immediately during downloads, and during task execution the first Ctrl-C kills child processes while a second Ctrl-C force-exits mise. #8571 by @jdx -
File task headers now allow spaces around
=-- Task header lines like#MISE env._.file = "env.yaml"(with spaces around=) are now parsed correctly. Previously only#MISE env._.file="env.yaml"(no spaces) was recognized. #8574 by @roele -
mise prepareinstalls config tools before running prepare steps -- On clean machines, prepare steps that depend on tools declared in[tools](e.g.uv) would fail because the tools hadn't been installed yet. Now bothmise prepareandmise runinstall all configured tools before executing prepare commands. #8582 by @jdx
Changed
MISE_SYSTEM_DIRhas been renamed toMISE_SYSTEM_CONFIG_DIRfor clarity alongside the newMISE_SYSTEM_DATA_DIR. The old name is still supported as a legacy alias. #8581
New Contributors
- @AlexanderTheGrey made their first contribution in #8550
Full Changelog: v2026.3.8...v2026.3.9