This release focuses on hooks—fixing 12 community-reported issues that were making them unreliable. There are also some nice quality-of-life improvements for Node.js and Ruby users.
Highlights
Hooks overhaul — A comprehensive fix for the hooks system addressing a dozen issues reported by the community. Global hooks now actually work, hook execution order is corrected (leave fires before enter), infinite loops in fish shell are fixed, and postinstall hooks can now find all installed tools. #8058
Node version detection from package.json — mise now reads tool versions directly from package.json using the devEngines and packageManager fields. This means your Node, Bun, pnpm, yarn, and npm versions can be auto-detected without a separate .tool-versions or mise.toml file. Semver ranges are simplified automatically (>=18.0.0 → 18). #8059
Precompiled Ruby goes stable — You can now use precompiled Ruby binaries by setting ruby.compile=false without needing experimental=true. This will become the default in 2026.8.0. If you haven't tried it, precompiled Ruby installs in seconds instead of minutes. #8052
New Features
--dry-run-codeflag — Added toinstall,upgrade,prune,uninstall, andusecommands. Behaves like--dry-runbut exits with code 1 when there's work to do, enabling patterns likeif ! mise install --dry-run-code -q; then mise install; fi#8063
Bug Fixes
- MISE_ARCH override — The bun and erlang plugins now respect
MISE_ARCHat runtime, which is useful for Windows ARM64 users running x64 binaries under emulation #8062 - key=value format —
mise settings set,mise settings add,mise config set, andmise shell-alias setnow acceptkey=valueas a single argument #8053
Registry
Dependencies
- Upgraded to TOML 1.1 support via toml 0.9 and toml_edit 0.24 #8057