# mise v2026.8.13 — v2026.8.13: Task exclusions, visible conf.d fragments, and a broad round of fixes - Product: mise (https://whatsnew.fyi/product/mise) - Vendor: mise - Date: 2026-08-25 - Version: v2026.8.13 - Original notes: https://github.com/jdx/mise/releases/tag/v2026.8.13 - Permalink: https://whatsnew.fyi/product/mise/releases/v2026.8.13 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** — New `task_config.excludes` lets file-task discovery skip config-root-relative paths, directories, and glob patterns - **added** — Project configuration can now be split into visible `mise/conf.d/*.toml` fragments - **added** — Added `--skip-dirty` to `mise bootstrap`, `mise bootstrap repos apply`, and `mise bootstrap repos update` to warn and skip repos with local changes - **fixed** — Restored dynamic shell completions that broke after the switch to usage-rs for task names, task-specific flags, task value choices, and `run=` completers - **fixed** — Command-prefix and runtime environment overrides are no longer wiped when reconstructing the pre-mise environment in an activated shell - **fixed** — A leading UTF-8 byte-order mark in an env file is now stripped before parsing - **fixed** — Fixed a regression where an offline `latest` request failed for a tool installed only with `mise install --system` - **fixed** — When a lockfile records a checksum but no provenance, mise no longer probes the GitHub releases API at install time - **fixed** — Cask installs now recursively extract single nested archives and bare cask `.pkg` downloads are staged correctly - **fixed** — Non-GitHub Git `latest` requests now resolve to the remote default branch HEAD and are treated as a rolling channel - **fixed** — Each new version is now attributed to its own request source in lockfiles for monorepo or parent/child layouts - **fixed** — Keep-order buffers are flushed instead of discarded and injected tasks are anchored at their parent's keep-order slot - **fixed** — Clearer parse errors reported once with filenames named through the logger - **fixed** — Generated files are now each named in output, and a task stub is named after the task rather than its file - **fixed** — A path that does not exist is now refused rather than trusting its parent This release adds a few configuration and task features and delivers a large batch of fixes across completions, tools, lockfiles, tasks, config parsing, and shell integration. It also restores dynamic shell completions that regressed after the recent CLI parser change. ##### Added - **task:** New `task_config.excludes` lets file-task discovery skip config-root-relative paths, directories, and glob patterns, so accidental TOML files (like a `pyproject.toml` inside a task directory) or entire subtrees are no longer treated as tasks. The closest config that sets `excludes` replaces inherited values, and an empty list clears the cascade. Relative `task.disable_paths` now resolve from the declaring config file. ([#12366](https://github.com/jdx/mise/pull/12366) by @jdx) ```toml [task_config] excludes = ["scripts/vendor", "**/*.generated.toml"] ``` - **config:** Project configuration can now be split into visible `mise/conf.d/*.toml` fragments, mirroring the existing `.mise/conf.d` and `.config/mise/conf.d` support but without a hidden dot-directory. Fragments merge alphabetically, `mise/config.toml` still wins over fragments, and environment-specific and `.local` variants (for example `mise/conf.d/tools.development.toml`) follow the usual env config rules. ([#12395](https://github.com/jdx/mise/pull/12395) by @jdx) - **bootstrap:** Added `--skip-dirty` to `mise bootstrap`, `mise bootstrap repos apply`, and `mise bootstrap repos update` to warn and skip repos with local changes so the remaining repos still update. Origin mismatches and non-git targets still fail closed as before. ([#12364](https://github.com/jdx/mise/pull/12364) by @jdx) ##### Fixed - **completion:** Restored dynamic shell completions that broke after the switch to usage-rs. Task names, task-specific flags, task value choices, and `run=` completers work again in fish and zsh, while native file/path completion still falls back correctly. ([#12376](https://github.com/jdx/mise/pull/12376), [#12379](https://github.com/jdx/mise/pull/12379) by @jdx) - **env:** Command-prefix and runtime environment overrides (for example `VAR=override mise run ...`) are no longer wiped when reconstructing the pre-mise environment in an activated shell; mise-managed values are only rolled back when the live value still matches what mise recorded. ([#12390](https://github.com/jdx/mise/pull/12390) by @jdx) - **env:** A leading UTF-8 byte-order mark in an env file is now stripped before parsing. ([#12320](https://github.com/jdx/mise/pull/12320) by @JamBalaya56562) - **backend:** Fixed a regression where an offline `latest` request failed for a tool installed only with `mise install --system`; the effective install directory is now recovered so system/shared-only installs satisfy `latest`. ([#12406](https://github.com/jdx/mise/pull/12406) by @jdx) - **github:** When a lockfile records a checksum but no provenance, mise no longer probes the GitHub releases API at install time. This avoids hard install failures under rate limiting in high-concurrency CI, since the lockfile checksum already guarantees artifact integrity. The lockfile checksum now also takes priority over release-metadata digests. ([#12377](https://github.com/jdx/mise/pull/12377) by @effati) - **brew:** Cask installs now recursively extract single nested archives (matching Homebrew's `extract_nestedly`, for example a zip containing only a DMG), and bare cask `.pkg` downloads are staged correctly. ([#12373](https://github.com/jdx/mise/pull/12373), [#12371](https://github.com/jdx/mise/pull/12371) by @jdx) - **pipx:** Non-GitHub Git `latest` requests now resolve to the remote default branch HEAD and are treated as a rolling channel, so `outdated` and `upgrade` detect branch movement. An unavailable configured executable is now rejected instead of failing later. ([#12407](https://github.com/jdx/mise/pull/12407), [#12416](https://github.com/jdx/mise/pull/12416) by @jdx) - **lockfile:** Each new version is now attributed to its _[Truncated at 4000 characters — full notes: https://github.com/jdx/mise/releases/tag/v2026.8.13]_