# mise v2026.8.6 — v2026.8.6: Resumable downloads, richer Homebrew casks, and monorepo task fixes - Product: mise (https://whatsnew.fyi/product/mise) - Vendor: mise - Date: 2026-08-14 - Version: v2026.8.6 - Original notes: https://github.com/jdx/mise/releases/tag/v2026.8.6 - Permalink: https://whatsnew.fyi/product/mise/releases/v2026.8.6 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Interrupted HTTP downloads now resume via HTTP Range requests when a strong ETag or Last-Modified validator is available, with abandoned partials expiring after 30 days - **added** — Homebrew cask backend now supports structured symlink steps, generic cask artifacts, and copy/installer flight steps with transactional rollback - **added** — mise run --all opens the interactive task picker with tasks from the entire monorepo - **added** — Add task.cache.audit_report to write the complete cache-audit report to a JSON Lines file - **added** — Whole-file dotfiles entries can now declare their body inline with content = "..." instead of requiring a separate source file - **added** — Deps provider config fields now render Tera templates using the defining config file's context with shell-style environment expansion - **added** — Add a config-root-scoped [tool_config] locked = true policy that requires tools declared by configs sharing that root to resolve and install from their lockfiles - **fixed** — In monorepo mode, running a task by its bare or :-prefixed name now works from any directory below a config root - **fixed** — Retry HTTP/2 REFUSED_STREAM failures which CDNs emit as backpressure - **fixed** — Honor system install destinations for downloads - **fixed** — When a downloaded checksum file lists per-file hashes but none match the target filename, mise now errors instead of silently returning a wrong checksum - **fixed** — Discover wheel-only package versions from PEP 503 Simple API indexes so packages published only as wheels now appear in mise ls-remote - **fixed** — The rolling nightly Rust channel now resolves to a concrete nightly-YYYY-MM-DD toolchain via the official channel manifest for reproducible lock and offline reuse - **fixed** — Support ruby-build CLI options - **fixed** — Preserve cross-platform lock data in conda - **fixed** — Render npm lifecycle logs through the progress display This release adds resumable HTTP downloads, expands Homebrew cask support, and lands a large batch of fixes across tasks, config, install, and platform-specific behavior — with a particular focus on monorepos and Windows. ##### Highlights - Interrupted artifact downloads now resume instead of restarting from zero, and more transient network failures (including HTTP/2 `REFUSED_STREAM`) are retried automatically. - The Homebrew cask backend gained structured symlinks, generic artifacts, and copy/installer flight steps, closing several gaps in cask installation. - A wide round of monorepo task, config precedence, and Windows path handling fixes. ##### Added - **http:** interrupted downloads now resume via HTTP Range requests when a strong ETag or Last-Modified validator is available, keeping validated partial files across retries and mise invocations instead of re-downloading from byte zero. mise falls back to a clean restart when validators do not match, and abandoned partials expire after 30 days. ([#11866](https://github.com/jdx/mise/pull/11866) by @Marukome0743) - **brew:** the Homebrew cask backend now supports structured `symlink` steps (with path bases, templates, guards, source globs, and sudo control), generic cask artifacts, and `copy`/installer flight steps, with transactional rollback if an install fails. ([#11962](https://github.com/jdx/mise/pull/11962), [#11963](https://github.com/jdx/mise/pull/11963), [#11964](https://github.com/jdx/mise/pull/11964) by @jdx) - **task:** `mise run --all` opens the interactive task picker with tasks from the entire monorepo, matching the load path already used by `mise tasks ls --all`. The default picker stays scoped to the current directory hierarchy. ([#11920](https://github.com/jdx/mise/pull/11920) by @jdx) ```console mise run --all ``` - **task:** add `task.cache.audit_report` (`MISE_TASK_CACHE_AUDIT_REPORT`) to write the complete cache-audit report to a JSON Lines file. The console still caps at 20 paths per task, but the file now captures every undeclared read and write so large audits (e.g. Jest over `node_modules`) are actually usable. ([#11997](https://github.com/jdx/mise/pull/11997) by @stevenpollack) ```console MISE_TASK_CACHE_AUDIT_REPORT=audit.jsonl mise run --force build ``` - **dotfiles:** whole-file `[dotfiles]` entries can now declare their body inline with `content = "..."` instead of requiring a separate source file, useful for small configs and user-writable paths outside `$HOME`. `content` cannot be combined with `source`, `mode`, or `exclude`. ([#11983](https://github.com/jdx/mise/pull/11983) by @jdx) - **deps:** deps provider config fields (paths, commands, `env`, descriptions, timeouts) now render Tera templates using the defining config file's context, with shell-style environment expansion and rendered env values folded into freshness identity. Template errors surface as clear configuration errors before commands run. ([#11886](https://github.com/jdx/mise/pull/11886) by @Marukome0743) - **config:** add a config-root-scoped `[tool_config] locked = true` policy that requires tools declared by configs sharing that root to resolve and install from their lockfiles, without forcing global or parent-root tools into strict mode. `[settings] locked`, `--locked`, and `MISE_LOCKED` remain invocation-wide. ([#11940](https://github.com/jdx/mise/pull/11940) by @jdx) ##### Fixed - **task:** in monorepo mode, running a task by its bare or `:`-prefixed name now works from any directory below a config root, resolving to the nearest enclosing project instead of failing. ([#11941](https://github.com/jdx/mise/pull/11941) by @pikeas) - **task:** normalize task cwd for source freshness ([#11987](https://github.com/jdx/mise/pull/11987) by @jdx), bound buffered command output ([#11922](https://github.com/jdx/mise/pull/11922)), avoid zsh process-substitution hangs ([#11904](https://github.com/jdx/mise/pull/11904)), and normalize variadic usage env values ([#11881](ht _[Truncated at 4000 characters — full notes: https://github.com/jdx/mise/releases/tag/v2026.8.6]_