v2026.7.18
takahirom/arbigentv2026.7.18Jul 30, 2026by mise-en-dev
AI Summary
Refines the monorepo task workflow with compact dependency views and relative paths, alongside a broad set of fixes for Cargo installs, plugins, PATH handling, and Windows program resolution.
Key Highlights
- `mise tasks deps` gains a `--compact` flag to manage recursive blow-up.
- Monorepo task dependencies now support `./`-prefixed relative paths.
- Improved Cargo installs record effective options and reinstall on changes.
New Features
- Compact dependency tree view for monorepo tasks.
- Relative dependency paths for workspace tasks.
- Local filesystem paths for plugin configuration.
- Batch plugin install/update behavior that finishes all plugins.
- Improved PATH handling to prevent runaway accumulation.
- Windows program resolution for `.cmd` shims and `.ps1` files.
Full Release Notes
This release refines mise's experimental monorepo task workflow with relative dependency paths and a compact dependency tree view, and lands a wide batch of fixes across Cargo installs, plugins, PATH handling, Windows program resolution, Aqua locks, GitLab pagination, and more.
## Added
- **task:** `mise tasks deps` gains a `--compact` flag that expands each shared dependency subtree only once and marks later references as `(already shown)`, keeping every incoming edge visible while avoiding the recursive blow-up that wildcard-heavy monorepo graphs produced. Default output is unchanged unless you pass the flag. ([#11502](https://github.com/jdx/mise/pull/11502) by @jdx)
```bash
mise tasks deps --compact
```
- **task:** monorepo task dependencies now support `./`-prefixed relative paths, resolved from the declaring task's own monorepo location, so one aggregate declaration works unchanged at the root, in nested apps, and in leaves without hard-coded absolute paths. Trailing `...` patterns now include the base project itself in addition to its descendants. ([#11503](https://github.com/jdx/mise/pull/11503) by @jdx)
```toml
[tasks.test]
depends = [{ task = "./...:groups:tests:*", optional = true }]
```
## Fixed
- **cargo:** installs now record the effective install options (`features`, `default-features`, `bin`, `crate`, `locked`) and reinstall automatically when any of them change, so changing feature flags or the selected binary no longer silently reuses the wrong artifact. Incompatible shared/system installs are shadowed in your primary install directory instead of being modified. ([#11480](https://github.com/jdx/mise/pull/11480) by @Marukome0743)
- **plugins:** `[plugins]` entries can now point at local filesystem paths (absolute, `~/`, or explicit `./`/`../` relative to the config root). Local asdf, vfox, vfox-backend, and package plugins are installed as symlinks so source edits take effect immediately, while Git URLs, refs, archives, and `file://` sources keep their existing behavior. ([#11487](https://github.com/jdx/mise/pull/11487) by @Marukome0743)
- **plugins:** batch `plugins install`, `plugins install --all`, and `plugins update` now finish every plugin even when one fails, preserving successful changes and reporting all failures together (in deterministic order) with a failing exit status. ([#11490](https://github.com/jdx/mise/pull/11490) by @Marukome0743)
- **env:** computed environments (`mise env`, `mise x` child PATHs, `mise doctor`) now collapse exact duplicate PATH entries first-wins, fixing the runaway `_.path` accumulation that appeared in nested shells and IDE terminals that inherit an activated PATH without mise's state vars. The live shell PATH is intentionally left untouched. ([#11491](https://github.com/jdx/mise/pull/11491) by @JamBalaya56562)
- **install:** installing a tool no longer touches your loaded config files, so editors stop reporting spurious "file changed on disk" warnings. hook-env still detects installs and PATH changes via the mise data directory. ([#11495](https://github.com/jdx/mise/pull/11495) by @Marukome0743)
- **prune:** `mise prune --tools` no longer discards references from untrusted idiomatic version files and plain `.tool-versions`, preventing removal of versions still in use by other projects. ([#11501](https://github.com/jdx/mise/pull/11501) by @jdx)
- **monorepo:** `idiomatic_version_file_enable_tools` set in a config root's own `[settings]` is now honored by monorepo-wide commands like `mise ls --monorepo` and `mise install --monorepo`, instead of only being applied when mise runs from inside that root. ([#11463](https://github.com/jdx/mise/pull/11463) by @kaii-zen)
- **asdf:** `bin/list-all` and `bin/latest-stable` scripts now receive your resolved mise `[env]` values, removals, and `_.path` additions, so plugins that need a credential or helper on PATH can list versions. Caches are partitioned per environment so results are never reused across differing configs. ([#11492](https://github.com/jdx/mise/pull/11492) by @Marukome0743)
- **aqua:** locked HTTP installs (such as Cabal artifacts on `downloads.haskell.org`) again retain prefix-scoped format and file metadata, so archives are extracted correctly rather than copied as the executable. ([#11499](https://github.com/jdx/mise/pull/11499) by @jdx)
- **gitlab:** authentication headers are now sent on every page of paginated release/tag requests, fixing anonymous page-2 requests on private or rate-limited GitLab projects when `MISE_LIST_ALL_VERSIONS` is set. ([#11507](https://github.com/jdx/mise/pull/11507) by @JamBalaya56562)
- **backend (Windows):** mise now resolves a genuinely spawnable program instead of a bare name, fixing `program not found` errors when a tool is present only as a `.cmd` shim (for example a scoop- or pip-installed `pipx.cmd`). Interpreter-only files such as `.ps1` and `.vbs` are recognized correctly, with `.vbs` file tasks routed through `cscript`. ([#11486](https://github.com/jdx/mise/pull/11486), [#11489](https://github.com/jdx/mise/pull/11489) by @JamBalaya56562)
- **watch:** `mise watch --wrap-process group` is now honored on macOS instead of being silently dropped for watchexec's platform default of `session`. The `--help` text also documents the platform-dependent defaults. ([#11512](https://github.com/jdx/mise/pull/11512) by @JamBalaya56562)
- **lockfile:** monorepo legacy path discovery is now cached, avoiding redundant work during lockfile operations. ([#11500](https://github.com/jdx/mise/pull/11500) by @jdx)
## Registry
- Added `witr`. ([#11505](https://github.com/jdx/mise/pull/11505) by @Jelenkee)
## New Contributors
- @Jelenkee made their first contribution in [#11505](https://github.com/jdx/mise/pull/11505)
- @kaii-zen made their first contribution in [#11463](https://github.com/jdx/mise/pull/11463)
**Full Changelog**: https://github.com/jdx/mise/compare/v2026.7.17...v2026.7.18
## 💚 Sponsor mise
mise is maintained by [@jdx](https://github.com/jdx), an open source developer for [**entire.io**](https://entire.io), the title sponsor of the [jdx.dev](https://jdx.dev) open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at [jdx.dev](https://jdx.dev/sponsors.html). Individual and company sponsorships keep mise fast, free, and independent.