A feature-packed release that renames mise prepare to mise deps with new package management subcommands, adds aube as an npm backend package manager, enables vfox plugins to declare their own dependencies, and ships several important fixes for version resolution, lockfile concurrency, and GitHub Enterprise attestation verification.
Highlights
mise preparerenamed tomise depswith add/remove subcommands -- The experimental dependency management command is nowmise deps, with newmise deps add npm:reactandmise deps remove npm:lodashsubcommands for managing individual packages. All config keys, settings, state files, and CLI flags have been updated accordingly ([prepare]to[deps],--no-prepareto--no-deps).- Aube package manager support for npm backend --
npm.package_managernow defaults to"auto", which prefers theaubepackage manager when available and falls back tonpm. Explicitnpm.package_manager = "aube"is also supported. - vfox plugins can declare dependencies -- Plugin authors can now specify
PLUGIN.depends = {"node", "python"}inmetadata.lua, so mise resolves installation order automatically without users needingdepends = [...]in their config. - Stale versions host cache bypassed for package-registry backends -- npm, pipx, cargo, gem, go, and http/s3 backends with
version_list_urlnow query their upstream sources directly, fixing the issue where tools like Flutter showed outdated versions.
Added
-
mise depscommand with add/remove subcommands -- The experimentalmise preparecommand has been renamed tomise deps. Newmise deps addandmise deps removesubcommands let you manage individual packages usingecosystem:packagesyntax. Currently supports npm, yarn, pnpm, and bun ecosystems. Baremise depsdefaults tomise deps install(the previousmise preparebehavior). #9056 by @jdxmise deps add npm:react # add a dependency mise deps add -D npm:vitest # add as dev dependency mise deps remove npm:lodash # remove a dependency mise deps # install all project dependencies
# Configuration uses [deps] instead of [prepare] [deps.npm] auto = true
-
--beforeflag formise latest-- One-off latest-version lookups can now be constrained by release date. Supports absolute dates (2024-06-01) and relative durations (90d,1y). Overrides per-toolinstall_beforeoptions and the globalinstall_beforesetting. #9168 by @risu729mise latest node --before 2024-01-01 mise latest node --before 90d
-
Aube package manager support for npm backend -- The npm backend now supports
aubeas an alternative package manager. The new defaultnpm.package_manager = "auto"prefersaubewhen it is available in the active toolset and falls back tonpmotherwise. #9256 by @jdx -
filter_binsoption for SPM backend -- Restrict which executable products are built and linked from a Swift package. Filtering happens beforeswift build, so unwanted products are never compiled. #9253 by @jdx[tools] "spm:swiftlang/swiftly" = { version = "latest", filter_bins = ["swiftly"] }
-
vfox plugin-declared dependencies via
metadata.lua-- Plugin authors can now declare tool dependencies directly in their plugin'smetadata.lua. User-specifieddependsinmise.tomlremains additive. #9051 by @ahemon-- metadata.lua PLUGIN = {} PLUGIN.name = "my-tool" PLUGIN.version = "1.0.0" PLUGIN.depends = {"node", "python"}
-
Registry: bitwarden-secrets-manager -- Now available via the aqua backend (
aqua:bitwarden/sdk-sm), replacing the legacy asdf plugin for better checksum/SLSA verification. #9255 by @msuzoagu
Fixed
-
Stale version listings for package-registry backends -- Backends with canonical upstream sources (npm, pipx, cargo, gem, go, and http/s3 with
version_list_url) now skip themise-versions.jdx.devcache and query upstream directly. This fixes the issue where tools like Flutter showed outdated versions until users setMISE_USE_VERSIONS_HOST=0. #9245 by @jdx -
Concurrent lockfile save race condition -- Fixed
ENOENTerrors when multiple mise processes updated the same lockfile simultaneously (commonly seen with parallel tool installs in CI viahk). Each save now uses a uniquely named temp file instead of a fixedmise.lock.tmppath. #9250 by @jdx -
GitHub Enterprise attestation verification -- Artifact attestation verification now routes to the configured
api_urlinstead of always hittingapi.github.com, fixing401 Unauthorizederrors for GHES users. #9254 by @jdx -
Noisy third-party debug/trace logs suppressed -- Debug and trace logs from dependency crates (h2, hyper, reqwest, rustls, etc.) are now filtered out of
-v/-vvoutput. SetMISE_LOG_VERBOSE_DEPS=1to restore them. #9248 by @jdx -
Animated progress UI disabled in CI -- CI environments no longer show animated progress frames even when stderr is allocated as a TTY, preventing thousands of duplicate log lines. #9249 by @jdx
-
mise userespects--quietand--silent-- The "tools:", "removed:", and "would update" messages are now suppressed when--quietor--silentis passed. #9251 by @jdx -
--lockedworks for vfox backend plugins -- Custom Lua backend plugins that cannot provide download URLs no longer fail with "No lockfile URL found" when usingmise install --locked. #9252 by @jdx
New Contributors
Full Changelog: v2026.4.17...v2026.4.18