v2026.7.1

jdx/misev2026.7.1Jul 7, 2026by mise-en-dev

AI Summary

This release upgrades to Tera v2 templates and adds a native binary fast path for cargo installs.

Key Highlights

  • Upgraded to Tera v2 template engine with v1 compatibility escape hatch.
  • Experimental `cargo.binstall_native` fast path for native binaries.
  • Calendar-based schedules for macOS launchd agents.

New Features

  • Tera v2 upgrade with delayed v1 warnings
  • Native binary installation fallback when cargo-binstall is unavailable
  • Launchd calendar interval support
  • npm trust policy excludes for aube installs

Full Release Notes

## Added
- **config:** temporary `tera_v1` / `MISE_TERA_V1` escape hatch to keep rendering templates with the old Tera v1 engine after the upgrade to Tera v2 (scheduled for removal in 2027.4.0) [#10817](https://github.com/jdx/mise/pull/10817)
- **cargo:** experimental `cargo.binstall_native` fast path that installs prebuilt native binaries from crate `package.metadata.binstall` when `cargo-binstall` is unavailable, falling back to `cargo install` on misses [#10789](https://github.com/jdx/mise/pull/10789)
- **bootstrap:** `start_calendar_interval` support for macOS launchd agents, allowing calendar-based schedules (hour/minute/day/weekday/month) in addition to `start_interval` [#10797](https://github.com/jdx/mise/pull/10797)
- **npm:** `trust_policy_excludes` install option for aube installs to exempt reviewed packages from trust-policy downgrade checks without disabling the policy globally [#10783](https://github.com/jdx/mise/pull/10783)

## Fixed
- **config:** upgraded to the Tera v2 template engine, with v1 compatibility filters restored, delayed v1 compat warnings, and the `tera_v1` escape hatch for templates that still need the old behavior [#10756](https://github.com/jdx/mise/pull/10756) [#10814](https://github.com/jdx/mise/pull/10814) [#10815](https://github.com/jdx/mise/pull/10815) [#10817](https://github.com/jdx/mise/pull/10817)
- **env:** redaction wildcards are now matched as globs, fixing over-redaction where patterns like `*_KEY` scrubbed unrelated values from task output [#10729](https://github.com/jdx/mise/pull/10729)
- **env:** resolve sops keys from the ordered env [#10786](https://github.com/jdx/mise/pull/10786)
- **env:** resolve `sub-*:latest` requests offline during shell activation so already-installed versions are no longer reported as missing [#10802](https://github.com/jdx/mise/pull/10802)
- **prune:** don't delete tool versions referenced by executed tool stubs; stubs are now tracked so `mise prune` and `mise upgrade` retain the versions they need [#10790](https://github.com/jdx/mise/pull/10790)
- **cli:** `--run-windows` is now honored by `task add` and emitted as `run_windows` in the generated TOML [#10769](https://github.com/jdx/mise/pull/10769)
- **search:** `mise search` now falls back to the built-in aqua registry when the mise registry has no match (e.g. `mise search 7zip` surfaces `aqua:ip7z/7zip`) [#10801](https://github.com/jdx/mise/pull/10801)
- **cargo:** accept array syntax for `features` and warn on invalid feature array entries [#10810](https://github.com/jdx/mise/pull/10810) [#10813](https://github.com/jdx/mise/pull/10813)
- **backend:** accept native option shapes and arrays for list options [#10811](https://github.com/jdx/mise/pull/10811) [#10812](https://github.com/jdx/mise/pull/10812)
- **install:** normalize standalone binary ownership and avoid preserving archive owner on extraction [#10808](https://github.com/jdx/mise/pull/10808) [#10819](https://github.com/jdx/mise/pull/10819)
- **system:** extract suffixless brew cask zip archives [#10800](https://github.com/jdx/mise/pull/10800)
- **brew-cask:** expand font target paths to handle `$HOME` and return relative paths [#10788](https://github.com/jdx/mise/pull/10788)
- **github:** handle raw exe rename [#10798](https://github.com/jdx/mise/pull/10798)
- **git:** sanitize repository env vars [#10776](https://github.com/jdx/mise/pull/10776)
- **lockfile:** preserve header url while restoring asset host, and avoid provenance guesses for opaque tags [#10728](https://github.com/jdx/mise/pull/10728) [#10722](https://github.com/jdx/mise/pull/10722)
- **oci:** normalize apt/dpkg transient state for reproducible package layers [#10731](https://github.com/jdx/mise/pull/10731)
- **core:** don't panic when stderr is unwritable [#10773](https://github.com/jdx/mise/pull/10773)
- **core:** improve precompiled setting errors and clarify python precompiled triple errors [#10791](https://github.com/jdx/mise/pull/10791) [#10793](https://github.com/jdx/mise/pull/10793)
- **logger:** fix race between log redaction and config reset [#10785](https://github.com/jdx/mise/pull/10785)
- **nushell:** resolve `str upcase` deprecation warning [#10778](https://github.com/jdx/mise/pull/10778)
- **task:** show usage subcommand help [#10799](https://github.com/jdx/mise/pull/10799)
- **schema:** support vars directives and allow tool alias versions [#10774](https://github.com/jdx/mise/pull/10774) [#10712](https://github.com/jdx/mise/pull/10712)
- **vfox/http:** create parent directories in download helpers [#10767](https://github.com/jdx/mise/pull/10767)
- restore `$LASTEXITCODE` after `_mise_hook` [#10718](https://github.com/jdx/mise/pull/10718)

## Documentation
- clarify `env_shell_expand` setting [#10787](https://github.com/jdx/mise/pull/10787)
- clarify Go backend version pinning [#10749](https://github.com/jdx/mise/pull/10749)
- fix config precedence visual [#10779](https://github.com/jdx/mise/pull/10779)
- update Tera documentation links [#10751](https://github.com/jdx/mise/pull/10751)

## Registry
- prefer aqua for `pi` [#10727](https://github.com/jdx/mise/pull/10727)
- add `twg` [#10780](https://github.com/jdx/mise/pull/10780), `apm` [#10766](https://github.com/jdx/mise/pull/10766), `nono` [#10675](https://github.com/jdx/mise/pull/10675), `miniserve` [#10760](https://github.com/jdx/mise/pull/10760)

## 💚 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.