A bug-fix release addressing several regressions and long-standing issues: monorepo task variables and glob dependencies now resolve correctly, the conda backend can install Python noarch packages, mise x respects virtualenv PATH ordering again, and nested task execution no longer hangs.
Fixed
-
mise xrespects virtualenv PATH order again -- A pre-resolution step added in v2026.2.17 (#8276) resolved bare command names directly to mise-managed tool paths, bypassing PATH entirely. This broke_.python.venvand similar configs where a virtualenv binary should take precedence over the mise-managed install. The pre-resolution is removed; shim stripping inexec_program(also from #8276) is sufficient to prevent recursion. #8342 by @jdx -
Conda noarch Python packages install correctly -- Installing noarch Python packages via the conda backend (e.g.
mise use conda:ruff) failed because the linker didn't know the Python version needed to computesite-packagespaths. The solver's resolved Python version is now extracted and passed through tolink_package, fixing the error. #8349 by @wolfv -
Nested mise tasks no longer hang -- The process group isolation (
setpgid/killpg) introduced in v2026.2.18 and refined in v2026.2.19 has been fully reverted. When tools like Playwright use process-group-based kills (kill(-pid, SIGKILL)) to tear down a server subprocess tree, grandchild processes in a separate group (created by mise'ssetpgid) survived and held pipes open, causing indefinite hangs. mise now sends signals directly to child PIDs instead. #8347 by @jdx -
Monorepo tasks resolve
[vars]from subdirectory configs -- Running a monorepo task likemise run //infra/stacks/gcp:greetfailed to pick up[vars]defined in subdirectory.mise.tomlfiles, causing template rendering errors. Variables are now resolved from the task's full config hierarchy (includingmise.<env>.tomloverlays) and threaded through script rendering. #8343 by @jdx -
Monorepo glob dependencies trigger subdirectory prepare steps -- When a root task depended on a monorepo glob pattern like
//...:check, the prepare phase only collected configs from top-level tasks, missing subdirectory tasks entirely. Dependencies are now resolved before prepare runs, so transitive subdirectory tasks and their prepare providers are properly discovered. #8353 by @jdx
New Contributors
Full Changelog: v2026.2.20...v2026.2.21