# mise v2026.8.5 — v2026.8.5: PyPy on the precompiled path, Node source patches, and a broad batch of fixes - Product: mise (https://whatsnew.fyi/product/mise) - Vendor: mise - Date: 2026-08-12 - Version: v2026.8.5 - Original notes: https://github.com/jdx/mise/releases/tag/v2026.8.5 - Permalink: https://whatsnew.fyi/product/mise/releases/v2026.8.5 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** — PyPy can now be installed on the precompiled path when python.compile=false and unconditionally on Windows - **added** — Add node.apply_patches setting to apply local or remote patches to the Node source build before ./configure runs - **fixed** — Global config precedence inside ~/.config/mise now matches documentation with config.local.toml overriding config.toml overriding conf.d/*.toml - **fixed** — mise use now updates a single tool version in place within a standard [tools.] table, preserving comments, key ordering, whitespace, and nested option tables - **fixed** — Inline preinstall and postinstall hooks now run from the owning project root so relative paths resolve consistently - **fixed** — mise use --pin now prefers an exact available release when pinning instead of reusing a more-specific installed fuzzy match - **fixed** — Editing a root [task_templates.*] definition or monorepo task default now correctly invalidates affected tasks - **fixed** — Rust backend now reuses a complete external rustup installation when default Rust homes are not initialized - **fixed** — Conda package commands now run through prefix-aware launchers that activate each command's own conda prefix - **fixed** — disable_tools setting now also suppresses the _.python.venv directive - **fixed** — vfox configured tool options are now exposed to plugin hooks through MISE_TOOL_OPTS__* environment variables - **fixed** — Explicit github_release package-type overrides are now applied in aqua backend - **changed** — Remote build-cache prefetch now downloads output blobs concurrently up to 48 in parallel This release lets mise install PyPy on the precompiled path (including on Windows), adds Node source-build patching, and lands a wide set of fixes across config precedence, install hooks, version pinning, and the Rust, conda, and vfox backends. ##### Added - **python:** PyPy can now be installed on the precompiled path — when `python.compile=false`, and unconditionally on Windows, where PyPy versions previously never appeared in `mise ls-remote python` and could not be installed at all. mise reads the upstream `downloads.python.org/pypy` index, downloads and extracts the correct archive, runs `ensurepip`, and records a blake3 checksum in the lockfile on first install (PyPy publishes no machine-readable checksums). ([#11846](https://github.com/jdx/mise/pull/11846) by @JamBalaya56562) ```console mise install python@pypy3.10-7.3.17 ``` - **node:** add `node.apply_patches` (`MISE_NODE_APPLY_PATCHES`) to apply local or remote patches to the Node source build before `./configure` runs, mirroring `ruby.apply_patches`. It accepts a newline-separated list of patch files or URLs. Strip level is auto-detected from git- or diff-style markers, and patches are recorded in the lockfile since they change the built artifact. If patches are set but a precompiled Node was installed, mise now warns instead of silently dropping them. ([#11850](https://github.com/jdx/mise/pull/11850) by @JamBalaya56562) ```toml [settings.node] compile = true apply_patches = "./patches/local.patch" ``` ##### Fixed - **config:** global config precedence inside `~/.config/mise` now matches the documentation — `config.local.toml` overrides `config.toml`, which overrides `conf.d/*.toml`. Previously the order was reversed for `[settings]`, `[tools]`, and `[env]` when `~/.config/mise` was outside the cwd walk. ([#11906](https://github.com/jdx/mise/pull/11906) by @halms) - **config:** `mise use` now updates a single tool version in place within a standard `[tools.]` table, preserving comments, key ordering, whitespace, and nested option tables instead of collapsing the table to inline form. ([#11848](https://github.com/jdx/mise/pull/11848) by @Marukome0743) - **install:** inline `preinstall` and `postinstall` hooks now run from the owning project root, so relative paths resolve consistently even when `mise install` is started from a subdirectory. The invocation directory remains available through `MISE_ORIGINAL_CWD`. ([#11857](https://github.com/jdx/mise/pull/11857) by @jdx) - **use:** `mise use --pin` now prefers an exact available release when pinning, instead of reusing a more-specific installed fuzzy match. For example `mise use --pin erlang@27.3` will pin `27.3` if that exact release exists remotely, rather than depending on which versions happen to be installed. ([#11838](https://github.com/jdx/mise/pull/11838) by @Marukome0743) - **task:** editing a root `[task_templates.*]` definition or a monorepo task default now correctly invalidates affected tasks, so stale outputs are no longer marked up to date after a template change. ([#11858](https://github.com/jdx/mise/pull/11858) by @jdx) - **rust:** mise now reuses a complete external rustup installation (for example one installed by Homebrew) when the default Rust homes are not initialized, instead of downloading and initializing its own. Explicitly configured Cargo/Rustup homes continue using the mise-managed path. ([#11840](https://github.com/jdx/mise/pull/11840) by @Marukome0743) - **conda:** conda package commands now run through prefix-aware launchers that activate each command's own conda prefix, fixing tools like `jdtls` that expand `${CONDA_PREFIX}` and rely on activation scripts. Dependency executables stay isolated from the user's shell `PATH`. ([#11855](https://github.com/jdx/mise/pull/11855) by @Marukome0743) - **python:** `disable_tools = ["python"]` (and allowlist forms like `enable_tools = ["node"]`) now also suppress the `_.python.venv` directive, so a disabled Python no longer _[Truncated at 4000 characters — full notes: https://github.com/jdx/mise/releases/tag/v2026.8.5]_