This release tightens lockfile behavior in --locked mode, fixes a stale PATH cache issue with aqua-based tools, resolves intermittent panics with remote git tasks, and adds the ability to pass custom options to vfox backend plugins.
Added
-
Custom options for vfox backend plugins -- Options defined in
mise.tomltool entries are now passed through to vfox backend plugins in bothBackendInstallandBackendExecEnvcontexts, accessible in Lua viactx.options. This enables custom plugin use cases like controlling build parameters. #8369 by @Attempt3035[tools] "llvm:clang" = { version = "latest", build_cores = "22" }
function PLUGIN:BackendInstall(ctx) local cores = ctx.options.build_cores -- use cores in your build logic end
-
Registry: porter -- Added Porter, a CNAB bundle authoring and management tool (
github:getporter/porter). #8380 by @lbergnehr -
Registry: entire -- Added entire CLI (
aqua:entireio/cli). #8378 by @TyceHerrman -
Registry: topgrade -- Added topgrade (
aqua:topgrade-rs/topgrade), an all-in-one system upgrade tool. #8377 by @TyceHerrman
Fixed
-
--lockedmode now strictly enforces the lockfile -- Previously,mise lockcould still run while--lockedwas active,mise use tool@latestcould bypass the lockfile, and tools missing from the lockfile would silently fall through to remote resolution. Nowmise lockrefuses to run in locked mode with a clear error and hint,mise use tool@latestrespects the lockfile when locked, and missing tools fail fast with an actionable message instead of resolving remotely. #8362 by @jdx -
Aqua tool PATH entries no longer go missing after install -- The
list_bin_paths()cache could be populated with stale (empty) data before extraction finished, or by a concurrentmise hook-envcall during installation. The in-memory and on-diskbin_pathscaches are now cleared after an aqua tool install completes so paths are recomputed from the freshly installed files. Fixes an issue where upgrading tools likeuvcaused their PATH entry to vanish. #8374 by @jdx -
Remote git task cache no longer panics or corrupts on concurrent access -- Replaced
println!/eprintln!with non-panickingwriteln!to handle EPIPE gracefully, and added file locking with clone-to-temp-then-rename to prevent concurrent cache corruption when multiple mise processes fetch the same remote git task simultaneously. #8375 by @vmaleze
New Contributors
- @Attempt3035 made their first contribution in #8369
- @lbergnehr made their first contribution in #8380
Full Changelog: v2026.2.22...v2026.2.23