Added
- env: enable shell expansion by default; opt out with
env_shell_expand = false(#10702 by @jdx). - monorepo:
mise install --monorepoandmise ls --monorepoinstall/list the union of tools across[monorepo].config_roots; new tri-state[monorepo].lockfilefor unified root lockfiles (#10707 by @jdx). - task: root-level
#USAGE mount ...in file tasks (including shorthandmount "cmd") hoists mounted usage specs onto the generated task command (#10704 by @jdx). - github: per-tool
github_attestationsoption to disable GitHub Artifact Attestation verification for a single tool (#10694 by @jdx). - upgrade:
minimum_release_agewarnings now include the release date, when the version becomes eligible, and the effective cutoff value (#10705 by @jdx). - bootstrap: brew formulae prune is now prefix-inventory based and can remove any linked formula outside the resolved
[bootstrap.packages]closure (#10618 by @jdx). - brew: support cask
fontartifacts and additional non-install artifact types (completions/manpages) (#10671 by @roele). - platform: Android asset detection for tools like Termux packages (#10653 by @bltavares).
Fixed
- install: respect the lockfile-recorded backend during
--lockedinstalls (#10599 by @risu729). - install: installer prints a clearer message and suggests
cargo install --locked miseon unsupported architectures (#10627 by @risu729). - install-into: refuse to overwrite a non-empty target directory without
--yes(#10630 by @JamBalaya56562). - aqua: resolve bin paths with
v-prefixed version overrides (e.g.sharkdp/fd@10.3.0) (#10696 by @jdx). - aqua: download private GitHub release assets via the API asset endpoint when the browser URL 404s (#10622 by @yacchi).
- brew-cask: handle raw executable binaries, resolve
$APPDIRpaths, and usedittofor app bundle copying to avoid macOS "damaged app" errors (#10626 by @arthurh4). - config: preserve set values in
mise config setfor comma-separated set-typed settings (#10647 by @KrishRVH). - config: render
task_config.includestemplates with resolvedvars(#10700 by @jdx). - config: support
requiredvalidation andredact = trueon[vars]; render tool option templates recursively (#10697 by @jdx). - dotnet: validate SDK installs with
dotnet --list-sdkssoglobal.jsonroll-forward no longer causes false failures (#10691 by @jdx). - generate:
mise generate tool-stub --lockrespects configuredlockfile_platforms(#10709 by @JamBalaya56562). - github: handle missing/empty
url_apiin older lockfile entries, falling back to the cached browser URL (#10703 by @jdx). - hooks: set
MISE_INSTALLED_TOOLS=[]on no-op installs sopostinstallalways receives a valid JSON array (#10615 by @JamBalaya56562). - http: don't let netrc credentials clobber explicit forge tokens on un-redirected URLs, fixing private GitHub release asset downloads (#10713 by @yacchi).
- lockfile: merge platform data when a tool's options newly diverge from an empty on-disk entry (e.g. java
shorthand_vendor), preventing checksum/URL loss (#10710 by @JamBalaya56562). - npm: map
allow_buildsto npm 11.16+--allow-scripts/--dangerously-allow-all-scriptsinstead of forcing--ignore-scripts(#10690 by @jdx). - oci: canonicalize install paths when rebasing
PATH, fixingmise ocion systems with symlinked/home(Bluefin/Silverblue) (#10624 by @salim-b). - oci: account for darwin mode stripping in layer test expectations (#10681 by @laozc).
- ruby: stop forcing
no-yjitRuby builds on older glibc (#10620 by @jdx). - sigstore: retry GitHub attestation verification with the TUF trust root after embedded-root failures; workflow mismatches remain non-retryable (#10695 by @jdx).
- task: render monorepo subproject task templates with the subproject's own
[env]; broken subprojects no longer fail discovery repo-wide (#10706 by @jdx). - task: correct env used for the
task.show_full_cmdsetting (#10714 by @muzimuzhi). - vfox: Lua
os.getenvnow reads from mise's env table likecmd.exec/os.execute(#10719 by @jdx). - watch: forward
--ignore,--ignore-file, and--print-eventsto watchexec (#10629 by @JamBalaya56562). - windows: allow GHCUp to be installed on Windows via aqua (#10670 by @cprecioso).
- copr: drop retired Fedora 42 chroots from the default build list (#10698 by @jdx).
Security
- Ignore transitive
quick-xmladvisories RUSTSEC-2026-0194/-0195 pending upstream fixes (#10717 by @jdx).
💚 Sponsor mise
mise is built by @jdx under en.dev — an independent studio making developer tooling (mise, aube, and more). Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at en.dev. Individual and company sponsorships keep mise fast, free, and independent.