github jdx/mise v2026.2.23
v2026.2.23: Stricter lockfile enforcement and vfox backend options

4 hours ago

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.toml tool entries are now passed through to vfox backend plugins in both BackendInstall and BackendExecEnv contexts, accessible in Lua via ctx.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

  • --locked mode now strictly enforces the lockfile -- Previously, mise lock could still run while --locked was active, mise use tool@latest could bypass the lockfile, and tools missing from the lockfile would silently fall through to remote resolution. Now mise lock refuses to run in locked mode with a clear error and hint, mise use tool@latest respects 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 concurrent mise hook-env call during installation. The in-memory and on-disk bin_paths caches are now cleared after an aqua tool install completes so paths are recomputed from the freshly installed files. Fixes an issue where upgrading tools like uv caused 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-panicking writeln! 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

Full Changelog: v2026.2.22...v2026.2.23

Don't miss a new mise release

NewReleases is sending notifications on new releases.