A moderate release with a handful of bug fixes and a new feature for the prepare system.
Highlights
-
Prepare: auto-touch stale outputs — When tools like
uv syncskip work because dependencies are already satisfied, output files don't get updated, causing mise to consider them stale on the next run. Prepare providers now automatically touch output files after a successful command, keeping staleness checks accurate. This is controlled by a newtouch_outputsconfig option (defaults to true). #8243 by @halms -
Settings reorganization:
task_*→task.*— Nine flattask_*settings have been consolidated into a nestedtask.*namespace (e.g.,task_output→task.output). The old names still work with no breaking changes — deprecation warnings won't appear until2026.8.0. #8239
Bug Fixes
-
Postinstall hooks now use correct bin paths — Per-tool postinstall hooks were hardcoding
$install_path/binonPATH, which broke backends like aqua where binaries live in non-standard subdirectories. Hooks now use each backend's actual binary paths. #8234 -
mise usewrites to the correct config file — When bothconfig.tomlandconfig.local.tomlexist,mise usewas incorrectly writing toconfig.local.toml. It now properly targetsconfig.toml. #8240 -
Legacy
.mise.backendinstalls no longer block auto-migration — Legacy backend files were defaulting toexplicit_backend = true, which prevented auto-migration to updated registry backends. They now default to non-explicit, allowing tools likeglabto resolve correctly through the current registry. #8245 by @jean-humann