github jdx/mise v2026.2.21
v2026.2.21: Bug fix roundup for monorepo tasks, conda noarch, and exec PATH handling

18 hours ago

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 x respects 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.venv and similar configs where a virtualenv binary should take precedence over the mise-managed install. The pre-resolution is removed; shim stripping in exec_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 compute site-packages paths. The solver's resolved Python version is now extracted and passed through to link_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's setpgid) 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 like mise run //infra/stacks/gcp:greet failed to pick up [vars] defined in subdirectory .mise.toml files, causing template rendering errors. Variables are now resolved from the task's full config hierarchy (including mise.<env>.toml overlays) 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

Don't miss a new mise release

NewReleases is sending notifications on new releases.