mise-en-place

notes:
Release list
2026.3.10: Security fix for .tool-s templates, Python checksum verification, and 15+ bug fixes
TODAY
2026.3.9: Shared install directories, secret redaction, and better Ctrl-C handling
2026.3.8: Wrapper recursion fix and lockfile provenance correction
2026.3.7: Cleaner conda PATH handling
2026.3.6: Per-environment lockfiles, Windows fixes, and fork bomb prevention
2026.3.5: Provenance tracking in lockfiles and task deduplication fix
2026.3.4: Runtime musl detection, interactive tasks, and platform install fixes
2026.3.3: Standalone installer zstd fix
2026.3.2: Local-scoped upgrades, config-based quiet/silent, and redaction fixes
2026.3.1: Bug fixes for tasks, Swift, Julia, and installer
2026.3.0: Smarter prepare, task-backed hooks, and per-task vars
2026.2.24: Hooks get Tera templates, aqua cache cleanup, and better error messages
2026.2.23: Stricter lockfile enforcement and vfox backend options
2026.2.22: Outdated plugins, rename_exe fixes, and smoother installs
2026.2.21: Bug fix roundup for monorepo tasks, conda noarch, and exec PATH handling
2026.2.20: Conda rewrite, .NET SDK core plugin, and per-task timeouts
2026.2.19: # v2026.2.19: Fixes for interactive tasks and failed install cleanup
2026.2.19: Fixes for interactive tasks and failed install cleanup
2026.2.18: Task Reliability & Developer Experience
2026.2.18
Release notes:

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

  • @wolfv made their first contribution in #8349

Full Changelog: https://github.com/jdx/mise/compare/v2026.2.20...v2026.2.21

Copyright © 2023 - All right reserved by Yadoc SAS