mise v2026.8.14

v2026.8.14

v2026.8.14: npm/aube install fixes and cleaner temp/prune handling

Fixed 4
  • Aube-backed npm installs no longer drop a synthetic `.npmrc` into the per-tool install directory, with install-scoped settings now stored as typed TOML in `.config/aube/config.toml`
  • mise now intercepts the private `__node-gyp-bootstrap` trampoline to prevent failures in `allow_builds` installs whose lifecycle scripts call `node-gyp`
  • Failed extraction in HTTP cache operations now cleans up temporary directories instead of leaving permanent hash-named directories behind
  • `mise prune --configs` on Windows now correctly removes trusted config links whose target no longer exists

From mise

This is a small release focused on bug fixes for npm (aube-backed) installs, HTTP cache cleanup, and Windows config pruning.

Fixed
  • npm: Aube-backed npm installs no longer drop a synthetic .npmrc into the per-tool install directory. Install-scoped settings such as minimumReleaseAge, trustPolicyExclude, allowedUnpopularPackages, and (for CLI installs) globalDir/globalBinDir now go into .config/aube/config.toml as typed TOML, while allowBuilds stays in package.json. Inline-table trust_policy_excludes / allow_low_downloads in mise.toml still round-trip correctly. (#12425 by @jdx)
  • npm: mise now intercepts the private __node-gyp-bootstrap trampoline that embedded aube's lazy node-gyp shim re-execs. Previously naked-run rewriting turned it into mise run __node-gyp-bootstrap … and failed with "no tasks defined", breaking allow_builds installs whose lifecycle scripts call node-gyp (for example gemini-cli via node-pty). (#12429 by @jdx)
  • http: A failed extraction (truncated download, unreadable archive, full disk, or Ctrl-C mid-extraction) no longer leaves a permanent hash-named temp directory behind in http-tarballs. All failure paths now clean up the temp directory. (#12420 by @Marukome0743)
  • prune: mise prune --configs on Windows now removes trusted config links whose target no longer exists. Because Windows stores these links as plain files holding the target path, the previous existence check never fired; the link's target is now resolved before deciding whether to prune. (#12418 by @JamBalaya56562)

Full Changelog: https://github.com/jdx/mise/compare/v2026.8.13...v2026.8.14

💚 Sponsor mise

mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.

If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.

View original

Upgraded? How did it go?

Discussion