This release adds Tera template support to .miserc.toml files for dynamic early-stage configuration, fixes a race condition during shim creation that affected multi-backend setups, and improves SPM backend compatibility with self-hosted GitHub Enterprise and GitLab instances. Several other bug fixes improve environment variable handling across tasks, redaction, and the vfox backend.
Highlights
- Tera templates in
.miserc.toml-- Use environment variables, XDG directories, and OS-level functions likearch()andos()directly in your.miserc.tomlconfiguration, enabling dynamic early-stage settings such as platform-specific ceiling paths. - Shim race condition fixed -- Multi-backend setups where different plugins provide overlapping shims no longer intermittently fail during
mise reshimormise install. - SPM self-hosted instance support -- The SPM backend now automatically derives the correct API URL for self-hosted GitHub Enterprise and GitLab instances from the tool URL.
Added
-
Tera template support in
.miserc.toml--.miserc.tomlfiles now support Tera templates with a limited context available during early initialization: OS environment variables,config_root,cwd, XDG directories, and built-in functions/filters. Templates that fail to render gracefully fall back to raw content. #8867 by @richardthe3rd# .miserc.toml ceiling_paths = ["{{ env.HOME }}"] ignored_config_paths = ["{{ xdg_config_home }}/mise/shared.toml"]
-
sing-boxadded to the built-in registry -- Install the sing-box universal proxy platform viamise use sing-box. #8944 by @tony-sol
Fixed
-
Shim race condition with overlapping backends -- When multiple plugins provide the same shim (e.g.,
nodejsvia the default registry andasdf:nodejs), concurrentmake_shimcalls could race on file removal, producing intermittent "No such file or directory" errors. The file removal now tolerates already-deleted files. #8947 by @brander-john -
mise env --redactedmissing tools-only redactions -- Env vars declared with bothtools = trueandredact = truewere not included in the redaction filter formise env --redacted. Both the standard and tools-only redaction sets are now checked. #8956 by @jakedgy -
SPM backend API URL for self-hosted instances -- When using the SPM backend with a full URL pointing to a self-hosted GitHub Enterprise or GitLab instance, mise now derives the correct API URL from the host instead of always falling back to
api.github.com. Explicitapi_urloptions still take precedence. #8955 by @ThomasDutartre -
vfox backend missing dependency env -- When a vfox backend plugin declared
dependson another tool, the dependency's binaries were not available on PATH during plugin Lua hooks (BackendListVersions,BackendInstall,BackendExecEnv). Dependency environment is now properly propagated, matching the behavior of other backends. #8952 by @cprecioso -
Task usage Tera templates failing with flags -- Task
usagefield defaults using{{ env.VAR }}Tera templates would fail with "Variable not found in context" whenever any flags were passed. The task argument parser now uses the full computed environment instead of an empty map. #8957 by @jdx -
Clarified attestation settings placement -- The help messages for Python and Ruby attestation settings now specify that they must be placed under
[settings]inmise.toml, not under[python]or[ruby]where they are silently ignored. #8939 by @fru1tworld
New Contributors
- @ThomasDutartre made their first contribution in #8955
- @jakedgy made their first contribution in #8956
- @brander-john made their first contribution in #8947
- @fru1tworld made their first contribution in #8939
Full Changelog: v2026.4.5...v2026.4.6