v2026.5.2
jdx/misev2026.5.2May 7, 2026by mise-en-dev
AI Summary
Introduces stable monorepo task roots, fail-fast behavior for parallel tasks, and enhancements to the Aqua registry including support for libc variants and symlink aliases.
Key Highlights
- Added `MISE_MONOREPO_ROOT` environment variable for stable monorepo task roots.
- Parallel `mise run --jobs N` tasks now terminate promptly when one fails.
- Aqua registry now supports cross-platform lock targets like `linux-x64-musl` and honors `files[].link`/`hard` entries.
New Features
- Stable monorepo task roots
- Fail-fast parallel tasks
- Aqua registry libc variant support
Full Release Notes
## Added - **(aqua)** Support registry libc variants (`gnu` vs `musl`) when resolving package overrides on Linux, including cross-platform lock targets like `linux-x64-musl` ([#9652](https://github.com/jdx/mise/pull/9652)) by @jdx. - **(aqua)** Honor aqua registry `files[].link` and `files[].hard` entries, creating relative symlink (or hard link) aliases next to extracted binaries so tools that inspect `$0`/`argv[0]` (e.g. `granted`/`assumego`, newer `pnpm`) launch correctly ([#9610](https://github.com/jdx/mise/pull/9610)) by @risu729. - **(bin-paths)** New `mise bin-paths --bin-names` flag prints executable names from active bin directories, and `--json` now emits structured entries with `name`, `path`, and `symlink` ([#9617](https://github.com/jdx/mise/pull/9617)) by @risu729. - **(task)** Added `MISE_MONOREPO_ROOT` env var pointing at the directory of the config with `experimental_monorepo_root = true` ([#9657](https://github.com/jdx/mise/pull/9657)) by @jdx. - **(registry)** Added `code-review-graph` via `pipx:code-review-graph` ([#9673](https://github.com/jdx/mise/pull/9673)) by @chautruonglong. ## Fixed - **(task)** Parallel `mise run --jobs N` siblings now terminate promptly when one task fails, via per-task process groups and `killpg`, with a 10s pipe-drain timeout ([#9655](https://github.com/jdx/mise/pull/9655)) by @jdx. - **(task)** `MISE_PROJECT_ROOT` for monorepo subproject tasks is now stable regardless of invocation cwd ([#9657](https://github.com/jdx/mise/pull/9657)) by @jdx. - **(install)** Don't force a remote-versions cache refresh in `prefer_offline` mode; fixes a v2026.5.0 regression with shim auto-install of `prefix:` requests ([#9627](https://github.com/jdx/mise/pull/9627)) by @jdx. - **(lockfile)** Auto-lock during `mise install` now respects user-curated lockfiles — removed platforms stay removed ([#9621](https://github.com/jdx/mise/pull/9621)) by @jdx. - **(lock)** `mise lock` from a nested project scopes targets to the active project root and stops churning parent lockfiles; `--global` is now exclusive ([#9319](https://github.com/jdx/mise/pull/9319)) by @risu729. - **(deps)** Fall through to source-hash freshness when a provider returns no outputs, so `bundle install`, `pip install`, `go mod download`, `poetry install`, and `uv sync` stop rerunning on every invocation ([#9622](https://github.com/jdx/mise/pull/9622)) by @jdx. - **(backend)** Inline tool option overrides (e.g. `tool[asset_pattern=...]`) are now applied consistently across all backends, with backend alias `[...]` options as a distinct overlay layer ([#9306](https://github.com/jdx/mise/pull/9306)) by @risu729. - **(backend)** Skip the `mise-versions` host when locally overridden tool options affect remote version listing ([#9568](https://github.com/jdx/mise/pull/9568)) by @risu729. - **(backend)** Reject bare package-backend names like `cargo` and `gem` as implicit `cargo:cargo`/`gem:gem` tools ([#9608](https://github.com/jdx/mise/pull/9608)) by @risu729. - **(aqua)** Preserve configured file extensions (e.g. `.bat` scripts) on Windows; avoid doubling `version_prefix` ([#9611](https://github.com/jdx/mise/pull/9611)) by @risu729. - **(github)** Chmod only the explicitly configured `bin` target instead of every archive file ([#9609](https://github.com/jdx/mise/pull/9609)) by @risu729. - **(pipx)** Filter yanked PyPI releases from fuzzy/`latest` resolution while keeping exact pinned installs available ([#9607](https://github.com/jdx/mise/pull/9607)) by @risu729. - **(pipx)** Declare `python` as a backend dependency so `pipx.pyz` resolves to mise-managed Python ([#9678](https://github.com/jdx/mise/pull/9678)) by @jdx. - **(trust)** Run `enter` hooks after `mise trust` newly trusts a config for the current directory ([#9634](https://github.com/jdx/mise/pull/9634)) by @risu729. - **(ui)** Stop clearing the screen for confirmation prompts like `mise prune` ([#9619](https://github.com/jdx/mise/pull/9619)) by @jdx. - Use `/bin/cp` on macOS for `mise sync` so it doesn't break when GNU `cp` from Homebrew shadows it on `PATH` ([#9656](https://github.com/jdx/mise/pull/9656)) by @pdehlke. - **(schema)** Update refs to `$defs` in `mise-registry-tool.json` ([#9671](https://github.com/jdx/mise/pull/9671)) by @risu729. ## Changed - **(registry)** Removed registry-level `depends` from generated registry tools and added `test.tools` for tools whose dependencies are only needed by `mise test-tool` ([#9571](https://github.com/jdx/mise/pull/9571)) by @risu729. - **(config)** Registry backend options now accept full TOML values (booleans, integers, arrays, tables) instead of strings only ([#9584](https://github.com/jdx/mise/pull/9584)) by @risu729. ## Documentation - **(node)** Added tips for enabling node idiomatic version files ([#9675](https://github.com/jdx/mise/pull/9675)) by @fu050409. ## New Contributors - @chautruonglong made their first contribution in [#9673](https://github.com/jdx/mise/pull/9673) - @pdehlke made their first contribution in [#9656](https://github.com/jdx/mise/pull/9656) ## 💚 Sponsor mise mise is built by [@jdx](https://github.com/jdx) under [**en.dev**](https://en.dev) — an independent studio making developer tooling (mise, [aube](https://aube.en.dev/), and more). Development is funded by sponsors. If mise saves you or your team time, please consider sponsoring at [en.dev](https://en.dev). Individual and company sponsorships keep mise fast, free, and independent.