Skip to content

Commit 00abbf4

Browse files
deps: update dependency jdx/mise to v2026.4.7 (#1363)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Update | Change | |---|---|---| | [jdx/mise](https://redirect.github.com/jdx/mise) | minor | `2026.3.8` → `2026.4.7` | --- ### Release Notes <details> <summary>jdx/mise (jdx/mise)</summary> ### [`v2026.4.7`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.7): : Native ARM64 Python on Windows [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.4.6...v2026.4.7) This patch release fixes precompiled Python installation on Windows ARM64 machines. Previously, mise always downloaded the x86\_64 Python build on Windows regardless of architecture, which caused failures when loading native ARM64 libraries. mise now correctly downloads the aarch64 build on Windows ARM64 systems. ##### Fixed - **Precompiled Python on Windows ARM64** -- On Windows ARM64, mise unconditionally selected the x86\_64 precompiled Python build, ignoring the host architecture. This caused runtime errors such as `[WinError 193] %1 is not a valid Win32 application` when loading native ARM64 DLLs. mise now downloads the native `aarch64-pc-windows-msvc` build on ARM64 Windows while continuing to use x86\_64 on x64 Windows. [#&#8203;8961](https://redirect.github.com/jdx/mise/pull/8961) by [@&#8203;JohanLorenzo](https://redirect.github.com/JohanLorenzo) ##### New Contributors - [@&#8203;JohanLorenzo](https://redirect.github.com/JohanLorenzo) made their first contribution in [#&#8203;8961](https://redirect.github.com/jdx/mise/pull/8961) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.6...v2026.4.7> ### [`v2026.4.6`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.6): : Tera templates in miserc.toml, shim race condition fix, and SPM self-hosted support [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.4.5...v2026.4.6) 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 like `arch()` and `os()` directly in your `.miserc.toml` configuration, 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 reshim` or `mise 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.toml` files 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. [#&#8203;8867](https://redirect.github.com/jdx/mise/pull/8867) by [@&#8203;richardthe3rd](https://redirect.github.com/richardthe3rd) ```toml # .miserc.toml ceiling_paths = ["{{ env.HOME }}"] ignored_config_paths = ["{{ xdg_config_home }}/mise/shared.toml"] ``` - **`sing-box` added to the built-in registry** -- Install the sing-box universal proxy platform via `mise use sing-box`. [#&#8203;8944](https://redirect.github.com/jdx/mise/pull/8944) by [@&#8203;tony-sol](https://redirect.github.com/tony-sol) ##### Fixed - **Shim race condition with overlapping backends** -- When multiple plugins provide the same shim (e.g., `nodejs` via the default registry and `asdf:nodejs`), concurrent `make_shim` calls could race on file removal, producing intermittent "No such file or directory" errors. The file removal now tolerates already-deleted files. [#&#8203;8947](https://redirect.github.com/jdx/mise/pull/8947) by [@&#8203;brander-john](https://redirect.github.com/brander-john) - **`mise env --redacted` missing tools-only redactions** -- Env vars declared with both `tools = true` and `redact = true` were not included in the redaction filter for `mise env --redacted`. Both the standard and tools-only redaction sets are now checked. [#&#8203;8956](https://redirect.github.com/jdx/mise/pull/8956) by [@&#8203;jakedgy](https://redirect.github.com/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`. Explicit `api_url` options still take precedence. [#&#8203;8955](https://redirect.github.com/jdx/mise/pull/8955) by [@&#8203;ThomasDutartre](https://redirect.github.com/ThomasDutartre) - **vfox backend missing dependency env** -- When a vfox backend plugin declared `depends` on 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. [#&#8203;8952](https://redirect.github.com/jdx/mise/pull/8952) by [@&#8203;cprecioso](https://redirect.github.com/cprecioso) - **Task usage Tera templates failing with flags** -- Task `usage` field 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. [#&#8203;8957](https://redirect.github.com/jdx/mise/pull/8957) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Clarified attestation settings placement** -- The help messages for Python and Ruby attestation settings now specify that they must be placed under `[settings]` in `mise.toml`, not under `[python]` or `[ruby]` where they are silently ignored. [#&#8203;8939](https://redirect.github.com/jdx/mise/pull/8939) by [@&#8203;fru1tworld](https://redirect.github.com/fru1tworld) ##### New Contributors - [@&#8203;ThomasDutartre](https://redirect.github.com/ThomasDutartre) made their first contribution in [#&#8203;8955](https://redirect.github.com/jdx/mise/pull/8955) - [@&#8203;jakedgy](https://redirect.github.com/jakedgy) made their first contribution in [#&#8203;8956](https://redirect.github.com/jdx/mise/pull/8956) - [@&#8203;brander-john](https://redirect.github.com/brander-john) made their first contribution in [#&#8203;8947](https://redirect.github.com/jdx/mise/pull/8947) - [@&#8203;fru1tworld](https://redirect.github.com/fru1tworld) made their first contribution in [#&#8203;8939](https://redirect.github.com/jdx/mise/pull/8939) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.5...v2026.4.6> ### [`v2026.4.5`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.5): : GitLab and Forgejo token support, env file diagnostics, and shell fixes [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.4.4...v2026.4.5) This release extends mise's authentication support to GitLab and Forgejo backends, surfaces env files in diagnostic commands, and fixes several bugs in bash shell hooks, Windows tool installation, and PATH handling. ##### Highlights - **GitLab and Forgejo token support** -- mise now resolves authentication tokens for GitLab and Forgejo backends using the same rich priority chain already available for GitHub: env vars, token files, CLI tool configs (glab/fj), credential commands, and git credential helpers. - **Env files in diagnostics** -- `mise config ls` and `mise doctor` now show env files loaded via `MISE_ENV_FILE` or `_.file` directives, making it easier to trace where environment variables come from. - **Bash duplicate trust warning fixed** -- Entering an untrusted project directory in bash no longer prints the trust warning twice per `cd`. ##### Added - **GitLab and Forgejo token resolution** -- The GitLab and Forgejo backends now support the same multi-source token resolution as GitHub: environment variables (`MISE_GITLAB_TOKEN`, `MISE_FORGEJO_TOKEN`, etc.), per-host token files (`gitlab_tokens.toml`, `forgejo_tokens.toml`), CLI tool integration (glab, fj), `credential_command`, and `git credential fill`. A new `mise token` command replaces the old `mise github token` and adds `mise token gitlab` and `mise token forgejo` subcommands for debugging token resolution. [#&#8203;8868](https://redirect.github.com/jdx/mise/pull/8868) by [@&#8203;roele](https://redirect.github.com/roele) ```sh mise token github mise token gitlab --unmask mise token forgejo forgejo.mycompany.com ``` - **Env files in `config ls` and `doctor`** -- Env files loaded via the `MISE_ENV_FILE` setting or `_.file` config directives now appear in `mise config ls` output (with env var keys shown in verbose mode) and in `mise doctor` output (both text and JSON). [#&#8203;8853](https://redirect.github.com/jdx/mise/pull/8853) by [@&#8203;SamSoldatenko](https://redirect.github.com/SamSoldatenko) ##### Fixed - **Double `.exe` extension on Windows (aqua backend)** -- When a package's Windows override URL already includes `.exe`, mise no longer appends a second `.exe` suffix. This affected 37 aqua registry packages including `cli/cli`, `kubernetes/kubectl`, `gruntwork-io/terragrunt`, and `rust-lang/rustup`. [#&#8203;8863](https://redirect.github.com/jdx/mise/pull/8863) by [@&#8203;yusei-wy](https://redirect.github.com/yusei-wy) - **Duplicate trust warning in bash** -- Entering an untrusted project directory in bash triggered the trust warning from both the `chpwd` hook and `PROMPT_COMMAND`, producing a duplicate message. The bash activation script now coordinates between the two hooks so the warning appears exactly once. [#&#8203;8920](https://redirect.github.com/jdx/mise/pull/8920) by [@&#8203;timothysparg](https://redirect.github.com/timothysparg) - **Config root injected into PATH via `_.source`** -- When a sourced script prepended to `PATH` (e.g., `export PATH="/custom:$PATH"`), an empty path component could resolve to the config root directory and get injected into `PATH`. Empty path segments are now filtered out. [#&#8203;8936](https://redirect.github.com/jdx/mise/pull/8936) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Spurious dependency warnings during install** -- When `mise.toml` configured both a language runtime and a package from that ecosystem (e.g., `node` + `npm:prettier`), mise would warn that npm was missing during version resolution even though node was configured and would be installed first. The warning is now suppressed when the providing tool is present in the toolset. [#&#8203;8923](https://redirect.github.com/jdx/mise/pull/8923) by [@&#8203;jdx](https://redirect.github.com/jdx) ##### Changed - **`mise github token` renamed to `mise token github`** -- The old `mise github token` command still works but is hidden from help output. The new `mise token` command group adds `github`, `gitlab`, and `forgejo` subcommands. [#&#8203;8868](https://redirect.github.com/jdx/mise/pull/8868) by [@&#8203;roele](https://redirect.github.com/roele) ##### New Contributors - [@&#8203;SamSoldatenko](https://redirect.github.com/SamSoldatenko) made their first contribution in [#&#8203;8853](https://redirect.github.com/jdx/mise/pull/8853) - [@&#8203;yusei-wy](https://redirect.github.com/yusei-wy) made their first contribution in [#&#8203;8863](https://redirect.github.com/jdx/mise/pull/8863) - [@&#8203;timothysparg](https://redirect.github.com/timothysparg) made their first contribution in [#&#8203;8920](https://redirect.github.com/jdx/mise/pull/8920) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.4...v2026.4.5> ### [`v2026.4.4`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.4): : Tool Dependencies, .NET Runtimes, and Task Argument Forwarding [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.4.3...v2026.4.4) A feature-packed release that adds user-defined tool dependencies, .NET runtime-only installs, argument forwarding to task dependencies, and stronger supply-chain security for lockfiles -- along with a large batch of bug fixes across multiple backends and shells. ##### Highlights - **Declare tool dependencies in `mise.toml`** -- A new `depends` field lets you ensure one tool is fully installed before another starts, useful for tools with runtime dependencies on each other. - **Pass arguments through task dependency chains** -- Task dependencies can now reference the parent task's arguments using `{{usage.*}}` templates, enabling parameterized build/deploy pipelines. - **.NET runtime-only installs** -- Install just the .NET runtime (or ASP.NET Core runtime) without the full SDK using the new `runtime` tool option. - **Stronger lockfile provenance verification** -- `mise lock` now cryptographically verifies provenance for the current platform at lock time, and a new `locked_verify_provenance` setting enables re-verification at install time. ##### Added - **User-specified tool dependencies** -- Declare explicit installation dependencies between tools in `mise.toml` with a new `depends` field, ensuring one tool is fully installed before another starts. [#&#8203;8776](https://redirect.github.com/jdx/mise/pull/8776) by [@&#8203;cprecioso](https://redirect.github.com/cprecioso) ```toml [tools] erlang = "27" elixir = { version = "1.18", depends = ["erlang"] } ``` - **.NET runtime-only installs** -- Install .NET runtimes alongside or instead of SDKs using the `runtime` tool option. Valid values: `dotnet`, `aspnetcore`, `windowsdesktop`. [#&#8203;8524](https://redirect.github.com/jdx/mise/pull/8524) by [@&#8203;fragon10](https://redirect.github.com/fragon10) ```toml [tools] dotnet = ["9", { version = "8.0.14", runtime = "dotnet" }] ``` - **Task dependency argument forwarding** -- Task dependencies can reference parent task arguments using `{{usage.*}}` templates in `depends`, `depends_post`, and `wait_for`. Arguments flow through entire dependency chains. [#&#8203;8893](https://redirect.github.com/jdx/mise/pull/8893) by [@&#8203;jdx](https://redirect.github.com/jdx) ```toml [tasks.build] usage = 'arg "<app>"' run = 'echo "building {{usage.app}}"' [tasks.deploy] usage = 'arg "<app>"' depends = [{ task = "build", args = ["{{usage.app}}"] }] run = 'echo "deploying {{usage.app}}"' ``` - **`install_before` enforced on transitive npm dependencies** -- The `install_before` supply-chain cutoff is now forwarded to transitive dependency resolution using each package manager's native mechanism (`npm --before`, `bun --minimum-release-age`, `pnpm --config.minimumReleaseAge`). [#&#8203;8851](https://redirect.github.com/jdx/mise/pull/8851) by [@&#8203;risu729](https://redirect.github.com/risu729) - **`locked_verify_provenance` setting** -- New setting (also auto-enabled by `MISE_PARANOID`) that forces cryptographic provenance re-verification at install time even when the lockfile already has checksum and provenance data. `mise lock` now also performs full verification for the current platform at lock time. [#&#8203;8901](https://redirect.github.com/jdx/mise/pull/8901) by [@&#8203;jdx](https://redirect.github.com/jdx) - **`turso` added to the built-in registry** -- Install the Turso CLI via `mise use turso`. [#&#8203;8884](https://redirect.github.com/jdx/mise/pull/8884) by [@&#8203;kenn](https://redirect.github.com/kenn) ##### Fixed - **`--env=VALUE` and `-E=VALUE` flag parsing** -- The equals-sign form of the environment flag (e.g., `mise --env=production`) was silently ignored, causing fallback to the default environment. Both `--env=VALUE` and `--env VALUE` forms now work correctly. [#&#8203;8889](https://redirect.github.com/jdx/mise/pull/8889) by [@&#8203;jdx](https://redirect.github.com/jdx) - **PEP 440 `.dev` versions filtered in fuzzy matching** -- Versions like `2026.3.3.162408.dev0` no longer incorrectly satisfy stable version requests. The version regex now matches `.dev` in addition to `-dev`. [#&#8203;8849](https://redirect.github.com/jdx/mise/pull/8849) by [@&#8203;richardthe3rd](https://redirect.github.com/richardthe3rd) - **Stale lockfile entries pruned during `mise lock <tool>`** -- Running `mise lock node` after a version change no longer leaves duplicate entries for the old and new versions. [#&#8203;8599](https://redirect.github.com/jdx/mise/pull/8599) by [@&#8203;altendky](https://redirect.github.com/altendky) - **Spurious direnv warning suppressed** -- The `failed to update DIRENV_DIFF` warning no longer appears when the direnv diff environment variable is empty. [#&#8203;8857](https://redirect.github.com/jdx/mise/pull/8857) by [@&#8203;yaleman](https://redirect.github.com/yaleman) - **Duplicate trust warning in zsh** -- Entering an untrusted project directory in zsh no longer shows the `mise trust` warning twice. [#&#8203;8898](https://redirect.github.com/jdx/mise/pull/8898) by [@&#8203;timothysparg](https://redirect.github.com/timothysparg) - **Plain `.tool-versions` no longer requires trust for task listing** -- Files without Tera template syntax (`{{`, `{%`, `{#`) are skipped during the trust check in `mise task ls`. [#&#8203;8876](https://redirect.github.com/jdx/mise/pull/8876) by [@&#8203;dportalesr](https://redirect.github.com/dportalesr) - **Tool options preserved with CLI version overrides** -- `filter_bins` and other tool options are no longer lost when specifying a version via CLI (e.g., `mise bin-paths tool@version`). [#&#8203;8888](https://redirect.github.com/jdx/mise/pull/8888) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Alias-specific options respected** -- Tools configured with `tool_alias` now correctly use the alias-specific `asset_pattern` and other options instead of inheriting from the original tool. [#&#8203;8892](https://redirect.github.com/jdx/mise/pull/8892) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Precompiled Python uses lockfile URL** -- Precompiled Python installs now honor the download URL recorded in `mise.lock` instead of always recomputing it, fixing reproducibility for locked installs. [#&#8203;8750](https://redirect.github.com/jdx/mise/pull/8750) by [@&#8203;hehaoqian](https://redirect.github.com/hehaoqian) - **Ruby build revisions in lockfiles** -- Precompiled Ruby binaries from `jdx/ruby` now support build revision tags (e.g., `3.3.11-1`), preventing lockfile breakage when binaries are rebuilt with different checksums. [#&#8203;8900](https://redirect.github.com/jdx/mise/pull/8900) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Swift installs on unsupported Ubuntu versions** -- Swift installs on Ubuntu versions newer than 24.04 now fall back to the 24.04 binary instead of 404ing. [#&#8203;8916](https://redirect.github.com/jdx/mise/pull/8916) by [@&#8203;jdx](https://redirect.github.com/jdx) ##### Changed - **Go settings renamed to `go.*` namespace** -- All `go_*` settings (e.g., `go_set_goroot`) have been renamed to the nested `go.*` format (e.g., `go.set_goroot`) for consistency with other language settings. The old names are preserved as deprecated aliases. [#&#8203;8598](https://redirect.github.com/jdx/mise/pull/8598) by [@&#8203;jdbruijn](https://redirect.github.com/jdbruijn) ##### Breaking Changes - **Deprecated settings removed** -- The following settings, deprecated for 18+ months, have been removed. If you are still using them, switch to their replacements: [#&#8203;8904](https://redirect.github.com/jdx/mise/pull/8904) by [@&#8203;jdx](https://redirect.github.com/jdx) - `asdf` -- use `disable_backends` instead - `vfox` -- use `disable_backends` instead - `cargo_binstall` -- use `cargo.binstall` instead - `disable_default_shorthands` -- use `disable_default_registry` instead - `pipx_uvx` -- use `pipx.uvx` instead - `python_compile` -- use `python.compile` instead - `python_default_packages_file` -- use `python.default_packages_file` instead - `python_patch_url` -- use `python.patch_url` instead - `python_patches_directory` -- use `python.patches_directory` instead - `python_precompiled_arch` -- use `python.precompiled_arch` instead - `python_precompiled_os` -- use `python.precompiled_os` instead - `python_pyenv_repo` -- use `python.pyenv_repo` instead - `python_venv_stdlib` -- use `python.venv_stdlib` instead ##### New Contributors - [@&#8203;cprecioso](https://redirect.github.com/cprecioso) made their first contribution in [#&#8203;8776](https://redirect.github.com/jdx/mise/pull/8776) - [@&#8203;fragon10](https://redirect.github.com/fragon10) made their first contribution in [#&#8203;8524](https://redirect.github.com/jdx/mise/pull/8524) - [@&#8203;dportalesr](https://redirect.github.com/dportalesr) made their first contribution in [#&#8203;8876](https://redirect.github.com/jdx/mise/pull/8876) - [@&#8203;timothysparg](https://redirect.github.com/timothysparg) made their first contribution in [#&#8203;8898](https://redirect.github.com/jdx/mise/pull/8898) - [@&#8203;hehaoqian](https://redirect.github.com/hehaoqian) made their first contribution in [#&#8203;8750](https://redirect.github.com/jdx/mise/pull/8750) - [@&#8203;jdbruijn](https://redirect.github.com/jdbruijn) made their first contribution in [#&#8203;8598](https://redirect.github.com/jdx/mise/pull/8598) - [@&#8203;yaleman](https://redirect.github.com/yaleman) made their first contribution in [#&#8203;8857](https://redirect.github.com/jdx/mise/pull/8857) - [@&#8203;kenn](https://redirect.github.com/kenn) made their first contribution in [#&#8203;8884](https://redirect.github.com/jdx/mise/pull/8884) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.3...v2026.4.4> ### [`v2026.4.3`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.3): : Fix seccomp build on armv7 [Compare Source](https://redirect.github.com/jdx/mise/compare/aqua-registry-v2026.4.2...v2026.4.3) A small patch release that fixes a compile error preventing mise from building on 32-bit ARM (armv7) targets. ##### Fixed - **seccomp network filter build on armv7** -- The seccomp sandbox code that restricts network access during `mise exec` failed to compile on armv7 targets. The `libc::SYS_socket` and `libc::SYS_socketpair` constants are `i32` on 32-bit platforms but the rule map expects `i64` keys, causing a type mismatch. An explicit `as i64` cast fixes the build while remaining a no-op on 64-bit platforms. [#&#8203;8869](https://redirect.github.com/jdx/mise/pull/8869) by [@&#8203;jdx](https://redirect.github.com/jdx) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.2...v2026.4.3> ### [`v2026.4.2`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.2): : Process sandboxing for exec and run [Compare Source](https://redirect.github.com/jdx/mise/compare/aqua-registry-v2026.4.1...aqua-registry-v2026.4.2) > **Note:** This release's build failed so no binary assets were published. Use v2026.4.3 instead, which includes all changes from this release plus a build fix. This release introduces experimental process sandboxing for `mise exec` and `mise run`, allowing you to restrict filesystem access, network access, and environment variables for executed processes. ##### Added - **Process sandboxing for `mise x` and `mise run`** *(experimental)* -- A new lightweight sandboxing layer lets you lock down what processes spawned by mise can access. On Linux it uses Landlock for filesystem restrictions and seccomp-bpf for network filtering; on macOS it uses `sandbox-exec` (Seatbelt) with generated profiles. Requires `experimental = true` in settings. [#&#8203;8845](https://redirect.github.com/jdx/mise/pull/8845) by [@&#8203;jdx](https://redirect.github.com/jdx) ```bash # Block all filesystem and network access mise x --deny-all -- node script.js # Block network only mise x --deny-net -- npm run build # Block writes except to ./dist mise x --allow-write=./dist -- npm run build ``` Task-level configuration is also supported: ```toml [tasks.build] run = "npm run build" deny_net = true allow_write = ["./dist"] ``` ##### Fixed - **Docs: correct `RUNTIME.osType` and `RUNTIME.archType` values** -- Fixed inconsistent documentation for runtime template variables and simplified examples. [#&#8203;8785](https://redirect.github.com/jdx/mise/pull/8785) by [@&#8203;esteve](https://redirect.github.com/esteve) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.1...v2026.4.2> ### [`v2026.4.1`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.1): : Per-tool install_before and musl detection fixes [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.4.0...aqua-registry-v2026.4.1) This release adds per-tool `install_before` overrides for more granular control over version freshness, fixes musl/glibc detection in minimal Docker containers, and ensures the `-q` flag works correctly with `mise prepare`. #### Added - **Per-tool `install_before` option** -- You can now set `install_before` on individual tools to override the global setting. This is useful when some tools need tighter freshness windows than others. Precedence is: `--before` CLI flag > per-tool `install_before` > global `install_before` setting. [#&#8203;8842](https://redirect.github.com/jdx/mise/pull/8842) by [@&#8203;sargunv-headway](https://redirect.github.com/sargunv-headway) ```toml [settings] install_before = "7d" # default for all tools [tools.trivy] version = "latest" install_before = "1d" # trivy updates are time-sensitive, use a shorter window ``` - **Registry: dbt-fusion** -- `dbt-fusion` is now available as a short name in the mise registry, backed by `aqua:getdbt.com/dbt-fusion`. [#&#8203;8837](https://redirect.github.com/jdx/mise/pull/8837) by [@&#8203;ryan-pip](https://redirect.github.com/ryan-pip) #### Fixed - **Musl detection in minimal Docker containers** -- A musl-compiled mise binary running in a minimal container (scratch, busybox, distroless) with no `/lib/ld-*` files would incorrectly identify the platform as glibc, causing it to select the wrong lockfile entries or tool variants. When no dynamic linker is found at runtime, mise now falls back to the binary's compile-time target. Additionally, a new `MISE_LIBC` environment variable (`musl` or `gnu`) allows explicitly overriding the detection. [#&#8203;8825](https://redirect.github.com/jdx/mise/pull/8825) by [@&#8203;davireis](https://redirect.github.com/davireis) ```dockerfile ENV MISE_LIBC=musl RUN mise install ``` - **`mise prepare -q` not suppressing output** -- The `-q` (quiet) flag was not suppressing status messages in `mise prepare` because they used `miseprintln!()` which bypasses the logging system. These messages now use standard logging macros that respect the quiet setting. [#&#8203;8792](https://redirect.github.com/jdx/mise/pull/8792) by [@&#8203;Marukome0743](https://redirect.github.com/Marukome0743) - **Wrong option in `mise prepare` docs example** -- The `ansible-galaxy` example in the prepare documentation used `-f` (force) instead of `-r` (requirements file). [#&#8203;8839](https://redirect.github.com/jdx/mise/pull/8839) by [@&#8203;rndmh3ro](https://redirect.github.com/rndmh3ro) #### New Contributors - [@&#8203;Marukome0743](https://redirect.github.com/Marukome0743) made their first contribution in [#&#8203;8792](https://redirect.github.com/jdx/mise/pull/8792) - [@&#8203;sargunv-headway](https://redirect.github.com/sargunv-headway) made their first contribution in [#&#8203;8842](https://redirect.github.com/jdx/mise/pull/8842) - [@&#8203;Rohan5commit](https://redirect.github.com/Rohan5commit) made their first contribution in [#&#8203;8844](https://redirect.github.com/jdx/mise/pull/8844) - [@&#8203;ryan-pip](https://redirect.github.com/ryan-pip) made their first contribution in [#&#8203;8837](https://redirect.github.com/jdx/mise/pull/8837) - [@&#8203;rndmh3ro](https://redirect.github.com/rndmh3ro) made their first contribution in [#&#8203;8839](https://redirect.github.com/jdx/mise/pull/8839) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.4.0...v2026.4.1> ### [`v2026.4.0`](https://redirect.github.com/jdx/mise/releases/tag/v2026.4.0): : Linked version fixes, monorepo task aliases, and Azure Developer CLI [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.18...v2026.4.0) This release fixes a panic when using `mise link` with aqua-backed tools, resolves bare task alias lookup in monorepo configurations, and handles a `rustup check` exit code that was incorrectly treated as an error. #### Added - **Registry: azd (Azure Developer CLI)** -- `azd` is now available as a short name in the mise registry, backed by `aqua:Azure/azure-dev`. Install with `mise use -g azd@latest`. [#&#8203;8828](https://redirect.github.com/jdx/mise/pull/8828) by [@&#8203;rajeshkamal5050](https://redirect.github.com/rajeshkamal5050) #### Fixed - **Panic with linked versions on aqua-backed tools** -- Running `mise doctor`, `mise reshim`, or any command that calls `list_bin_paths` on an aqua-backed tool with a linked version (created via `mise link`) would panic with a `StripPrefixError`. The root cause was that non-version link names like `"brew"` or `"mylink"` were passed to the aqua registry as version strings, where they unexpectedly matched semver constraints and produced absolute paths. Linked versions are now detected early and skip the aqua registry lookup entirely, returning `install_path/bin` directly. [#&#8203;8801](https://redirect.github.com/jdx/mise/pull/8801) by [@&#8203;nikobockerman](https://redirect.github.com/nikobockerman) - **`mise outdated` failing for Rust** -- `rustup check` returns exit code 100 when toolchain updates are available, which is normal behavior. Previously, mise treated this as a command failure, causing `mise outdated` to report an error for `core:rust`. The exit code is now handled correctly. [#&#8203;8832](https://redirect.github.com/jdx/mise/pull/8832) by [@&#8203;shalk](https://redirect.github.com/shalk) - **Bare task aliases not resolving in monorepo mode** -- In a monorepo with `config_roots` configured, running `mise run prl` (a bare alias) would fail with "no task //:prl found", even though `mise run //:prl` worked. The issue was that `expand_colon_task_syntax` expanded bare aliases to `//:prl`, but the task loader then skipped config root discovery entirely. Both bare and prefixed alias forms now resolve correctly, and tab completion also works for monorepo-prefixed aliases. [#&#8203;8819](https://redirect.github.com/jdx/mise/pull/8819) by [@&#8203;nkakouros](https://redirect.github.com/nkakouros) - **Task help not shown for metadata-only usage specs** -- When a task script defined `#USAGE long_about`, `before_help`, `after_help`, or `examples` without any `arg` or `flag` directives, `mise run task --help` would show the generic "This task does not accept any arguments" message instead of the usage-based help with the detailed description. [#&#8203;8824](https://redirect.github.com/jdx/mise/pull/8824) by [@&#8203;nkakouros](https://redirect.github.com/nkakouros) #### New Contributors - [@&#8203;shalk](https://redirect.github.com/shalk) made their first contribution in [#&#8203;8832](https://redirect.github.com/jdx/mise/pull/8832) - [@&#8203;jedymatt](https://redirect.github.com/jedymatt) made their first contribution in [#&#8203;8833](https://redirect.github.com/jdx/mise/pull/8833) - [@&#8203;nikobockerman](https://redirect.github.com/nikobockerman) made their first contribution in [#&#8203;8801](https://redirect.github.com/jdx/mise/pull/8801) - [@&#8203;rajeshkamal5050](https://redirect.github.com/rajeshkamal5050) made their first contribution in [#&#8203;8828](https://redirect.github.com/jdx/mise/pull/8828) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.18...v2026.4.0> ### [`v2026.3.18`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.18): : Python provenance verification, Go sub-module fixes, and shim recursion guards [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.17...v2026.3.18) This release adds supply-chain security improvements for Python, fixes several shim recursion issues that could cause system hangs, and improves Go backend version resolution for deeply nested sub-modules. #### Highlights - **Python provenance verification** -- Precompiled Python binaries from `astral-sh/python-build-standalone` can now be verified using GitHub Artifact Attestations, with downgrade protection in lockfiles. - **Shim recursion guards** -- Two separate infinite-recursion bugs involving mise shims have been fixed, preventing fork bombs in devcontainer environments and when using `exec()` templates with mise-managed tools. - **Go sub-module support** -- Deeply nested Go sub-modules that return no versions from `go list -versions` now correctly install with `@latest` instead of incorrectly resolving to a parent module's version. #### Added - **Python GitHub Artifact Attestations** -- Precompiled Python binaries are now verified against GitHub Artifact Attestations from `astral-sh/python-build-standalone`, following the same pattern already used for Ruby. A new `python.github_attestations` setting (env: `MISE_PYTHON_GITHUB_ATTESTATIONS`) overrides the global `github_attestations` setting for Python specifically. When enabled, `mise lock` records `provenance = "github-attestations"` in lockfile entries, and `mise install` verifies downloaded tarballs. If a lockfile records provenance but verification is disabled at install time, the install fails with a downgrade-attack error. [#&#8203;8820](https://redirect.github.com/jdx/mise/pull/8820) by [@&#8203;malept](https://redirect.github.com/malept) ```toml # settings.toml or mise.toml [settings] [python] github_attestations = true # defaults to the global github_attestations value ``` - **Registry: svgo** -- `svgo` (SVG Optimizer) is now available as `npm:svgo`. [#&#8203;8817](https://redirect.github.com/jdx/mise/pull/8817) by [@&#8203;3w36zj6](https://redirect.github.com/3w36zj6) #### Fixed - **Shim infinite recursion with system shims on PATH** -- When tools are installed via `mise install --system` (e.g. in Docker/devcontainer images), a second shims directory is created at `MISE_SYSTEM_DATA_DIR/shims`. If both the user and system shims directories were on PATH, invoking a shim for a tool not in any config file would hang indefinitely. The PATH fallback now skips both shims directories and rejects any binary that canonicalizes to the mise binary itself. [#&#8203;8816](https://redirect.github.com/jdx/mise/pull/8816) by [@&#8203;andrewthauer](https://redirect.github.com/andrewthauer) - **Fork bomb from `exec()` templates, credential commands, and git credentials** -- Three subprocess-spawning code paths inherited mise shims in PATH. When the subprocess invoked a mise-managed tool (e.g. `gh auth token` in an `exec()` template or `credential_command`), the shim re-entered mise, triggering the same subprocess again -- causing infinite recursion. Observed as load average >1800 on affected systems. A new shared `path_env_without_shims()` helper now strips the shims directory from PATH in all three call sites. [#&#8203;8802](https://redirect.github.com/jdx/mise/pull/8802) by [@&#8203;antonioacg](https://redirect.github.com/antonioacg) - **Go backend `--locked` mode** -- The Go backend was missing a `supports_lockfile_url() -> false` override, causing `mise install --locked` to fail for any go-backend tool since their lockfile entries never contain download URLs. [#&#8203;8790](https://redirect.github.com/jdx/mise/pull/8790) by [@&#8203;palootcenas-outreach](https://redirect.github.com/palootcenas-outreach) - **Go deeply nested sub-module version resolution** -- `mise ls-remote` for deeply nested Go sub-modules (e.g. `github.com/go-kratos/kratos/cmd/kratos/v2`) would incorrectly resolve to the root module's versions. The version fetching logic now tries the exact tool path first and treats an empty version list as authoritative, falling back to `@latest` for installation instead of using a parent module's version. Results are now cached per module path. [#&#8203;8823](https://redirect.github.com/jdx/mise/pull/8823) by [@&#8203;roele](https://redirect.github.com/roele) - **Flutter version sorting** -- Fixed version sorting in the Flutter registry entry by stripping the `-stable` suffix before sorting, and switched to per-platform URL templates. [#&#8203;8818](https://redirect.github.com/jdx/mise/pull/8818) by [@&#8203;roele](https://redirect.github.com/roele) #### New Contributors - [@&#8203;antonioacg](https://redirect.github.com/antonioacg) made their first contribution in [#&#8203;8802](https://redirect.github.com/jdx/mise/pull/8802) - [@&#8203;palootcenas-outreach](https://redirect.github.com/palootcenas-outreach) made their first contribution in [#&#8203;8790](https://redirect.github.com/jdx/mise/pull/8790) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.17...v2026.3.18> ### [`v2026.3.17`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.17): : Shims always at the front of PATH [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.16...v2026.3.17) A small patch release with a single bug fix for `mise activate --shims` PATH ordering. #### Fixed - **Shims always prepended in `--shims` mode** -- When using `mise activate --shims`, if the shims directory was already present in `PATH` (e.g. from a previous activation or a VS Code terminal re-sourcing the shell config), mise would skip the prepend and leave shims at their existing position. This meant system binaries earlier in `PATH` could silently shadow mise-managed tools. Shims are now always moved to the front. For fish, `MovePrependEnv` is used to reorder without duplicating; for all other shells, `PrependEnv` is emitted unconditionally, accepting a harmless duplicate entry in exchange for guaranteed ordering. [#&#8203;8757](https://redirect.github.com/jdx/mise/pull/8757) by [@&#8203;ctaintor](https://redirect.github.com/ctaintor) #### New Contributors - [@&#8203;ctaintor](https://redirect.github.com/ctaintor) made their first contribution in [#&#8203;8757](https://redirect.github.com/jdx/mise/pull/8757) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.16...v2026.3.17> ### [`v2026.3.16`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.16): : Fix unnecessary GitHub API calls during locked installs [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.15...v2026.3.16) A small patch release that fixes `mise install --locked` making unnecessary GitHub Releases API calls even when the lockfile already contains pre-resolved URLs and checksums. #### Fixed - **`mise install --locked` no longer makes unnecessary GitHub API calls** -- The aqua backend's cosign verification path was unconditionally downloading checksum files via the GitHub Releases API, even when cosign was disabled in settings or the package had no cosign configuration. This caused `mise install --locked` to fail in restricted network environments despite the lockfile having everything needed to install offline. The fix checks `settings.aqua.cosign` and whether the package actually has cosign configured before attempting any download. [#&#8203;8753](https://redirect.github.com/jdx/mise/pull/8753) by [@&#8203;jdx](https://redirect.github.com/jdx) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.15...v2026.3.16> ### [`v2026.3.15`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.15): : Custom credential command for GitHub tokens [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.14...v2026.3.15) This release adds a new `github.credential_command` setting that lets you plug any external secret manager into mise's GitHub token resolution, and adjusts its priority so it takes precedence over file-based token sources. #### Added - **`github.credential_command` setting for custom token retrieval** -- You can now configure a shell command that mise runs to obtain a GitHub token, enabling integration with secret managers like 1Password, HashiCorp Vault, or any custom script. The command is executed via `sh -c` and receives the hostname as `$1`, so it can return different tokens for github.com and GitHub Enterprise instances. Results are cached per host per session. [#&#8203;8746](https://redirect.github.com/jdx/mise/pull/8746) by [@&#8203;jdx](https://redirect.github.com/jdx) ```toml [settings.github] credential_command = "op read 'op://Private/GitHub Token/credential'" ``` This can also be set via the `MISE_GITHUB_CREDENTIAL_COMMAND` environment variable. #### Changed - **`credential_command` priority raised above file-based sources** -- Since `credential_command` is an explicit user configuration, it now takes priority over `github_tokens.toml` and the gh CLI's `hosts.yml`. Previously it sat at the bottom of the resolution order alongside `git credential fill`. The `git credential fill` fallback remains as the lowest-priority option and is no longer blocked when `credential_command` is set but returns no token. [#&#8203;8748](https://redirect.github.com/jdx/mise/pull/8748) by [@&#8203;jdx](https://redirect.github.com/jdx) Updated token priority for github.com: | # | Source | | - | ---------------------------------------- | | 1 | `MISE_GITHUB_TOKEN` env var | | 2 | `GITHUB_API_TOKEN` env var | | 3 | `GITHUB_TOKEN` env var | | 4 | `credential_command` (if set) -- **new** | | 5 | `github_tokens.toml` (per-host) | | 6 | gh CLI token (from `hosts.yml`) | | 7 | `git credential fill` (if enabled) | **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.14...v2026.3.15> ### [`v2026.3.14`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.14): : GitHub token management, macOS shim fix, and Python precompiled flavor fix [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.13...v2026.3.14) This release introduces a new `mise github token` command and expanded GitHub token resolution (including a config file and git credential helper support), fixes a shim detection regression that caused hangs on macOS, and corrects Python precompiled flavor handling for freethreaded builds. ##### Highlights - New `mise github token` command and `github_tokens.toml` config file for flexible, per-host GitHub token management - Reverted shim directory check that caused startup hangs on macOS - Python lockfile generation now respects `precompiled_flavor` when filtering out freethreaded builds ##### Added - **`mise github token` command and expanded token resolution** -- Adds `github_tokens.toml` (`~/.config/mise/github_tokens.toml`) for storing per-host GitHub tokens that don't interfere with the gh CLI's `hosts.yml`. Also adds opt-in `git credential fill` integration as a last-resort fallback for environments where tokens live in system keyrings (macOS Keychain, Windows Credential Manager, devcontainers). The new `mise github token [--unmask] [HOST]` command shows which token mise would use and where it came from, making it easy to debug authentication issues. Enable git credential support with `github.use_git_credentials = true` in settings. [#&#8203;8742](https://redirect.github.com/jdx/mise/pull/8742) by [@&#8203;jdx](https://redirect.github.com/jdx) Updated token priority: | # | Source | | - | ------------------------------------------------------------------ | | 1 | `MISE_GITHUB_ENTERPRISE_TOKEN` env var (non-github.com only) | | 2 | `MISE_GITHUB_TOKEN` / `GITHUB_API_TOKEN` / `GITHUB_TOKEN` env vars | | 3 | `github_tokens.toml` (per-host) -- **new** | | 4 | gh CLI token (from `hosts.yml`) | | 5 | `git credential fill` (opt-in) -- **new** | - **Registry: tart** -- Added [tart](https://redirect.github.com/cirruslabs/tart) to the registry. Tart provides macOS and Linux VMs on Apple Silicon using Apple's Virtualization.framework. Install with `mise install tart`. [#&#8203;8727](https://redirect.github.com/jdx/mise/pull/8727) by [@&#8203;mnm364](https://redirect.github.com/mnm364) ##### Fixed - **Shim detection reverted to fix macOS hangs** -- A recent change ([`cfcb555`](https://redirect.github.com/jdx/mise/commit/cfcb555)) switched shim detection from checking the binary name to checking if `argv[0]` exists in the shims directory. This caused mise to hang on startup for some users because the filesystem check could block on slow or network filesystems, and could also falsely detect mise itself as a shim. The simpler binary-name-based check has been restored. [e1b8ca4](https://redirect.github.com/jdx/mise/commit/e1b8ca4c1378e019a71778d57f2044b5b1073ed9) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Python precompiled flavor now correctly excludes freethreaded builds** -- When any `precompiled_flavor` was specified (e.g. `install_only_stripped`), the freethreaded build exclusion was bypassed, causing `mise lock` to sometimes pick the freethreaded build incorrectly. Freethreaded builds are now only included when the requested flavor specifically includes "freethreaded". [#&#8203;8745](https://redirect.github.com/jdx/mise/pull/8745) by [@&#8203;risu729](https://redirect.github.com/risu729) - **`cargo install mise` docs now use `--locked`** -- The Cargo install command in the documentation has been updated to `cargo install --locked mise`, preventing build failures from dependency version mismatches. [#&#8203;8731](https://redirect.github.com/jdx/mise/pull/8731) by [@&#8203;rtharston](https://redirect.github.com/rtharston) ##### New Contributors - [@&#8203;rtharston](https://redirect.github.com/rtharston) made their first contribution in [#&#8203;8731](https://redirect.github.com/jdx/mise/pull/8731) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.13...v2026.3.14> ### [`v2026.3.13`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.13): : Better hook-env stability, --silent fix, and system install symlinks [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.12...v2026.3.13) A focused bugfix release that significantly improves `hook-env` stability, fixes the `--silent` flag to actually suppress all mise output, and resolves broken symlinks when installing tools to system/shared directories. #### Fixed - **hook-env watch\_files tracking and early-exit stability** -- Environment plugins (`MiseEnv` modules) that return `watch_files` now properly trigger re-evaluation when those files change. Previously, modifying a watched file (e.g. a secrets config) wouldn't cause mise to pick up the new values until a config change or directory switch. This PR also fixes two related stability issues: projects without a `mise.lock` file could fail to stabilize because the nonexistent lockfile was unconditionally added to the watch set, and directory mtime changes could cause repeated slow-path fallbacks. [#&#8203;8716](https://redirect.github.com/jdx/mise/pull/8716) by [@&#8203;rpendleton](https://redirect.github.com/rpendleton) - **`--silent` flag now fully suppresses mise output** -- The global `--silent` flag was not being written to `Settings`, so `mise --silent run foo` would suppress task stdout/stderr but still show mise's own info/warn messages. Now `--silent` properly sets `quiet=true` in settings, making it a true superset of `--quiet`: it suppresses both mise messages and task output. [#&#8203;8720](https://redirect.github.com/jdx/mise/pull/8720) by [@&#8203;nkakouros](https://redirect.github.com/nkakouros) - **`mise install --system` now creates runtime symlinks correctly** -- When installing tools to system/shared directories with `--system`, the `latest` and partial-version symlinks (e.g. `18` -> `18.19.0`) were only being created in the user install directory, leaving the system directory without proper symlinks. Symlinks are now rebuilt per install directory based on the versions actually present there, with graceful handling of permission errors in shared/system locations. [#&#8203;8722](https://redirect.github.com/jdx/mise/pull/8722) by [@&#8203;jdx](https://redirect.github.com/jdx) #### Added - **Registry: acli (Atlassian CLI)** -- Added [acli](https://redirect.github.com/acli) to the registry for interacting with Atlassian Cloud services (Jira, Confluence, Bitbucket) from the terminal. Install with `mise install acli`. [#&#8203;8721](https://redirect.github.com/jdx/mise/pull/8721) by [@&#8203;ggoggam](https://redirect.github.com/ggoggam) #### New Contributors - [@&#8203;rpendleton](https://redirect.github.com/rpendleton) made their first contribution in [#&#8203;8716](https://redirect.github.com/jdx/mise/pull/8716) - [@&#8203;ggoggam](https://redirect.github.com/ggoggam) made their first contribution in [#&#8203;8721](https://redirect.github.com/jdx/mise/pull/8721) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.12...v2026.3.13> ### [`v2026.3.12`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.12): : Supply chain protection for lockfile upgrades [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.11...v2026.3.12) A small but important release that adds supply chain protection for lockfile upgrades and fixes zsh completions broken by the usage v3.1.0 update. This release also includes the binary assets that were missing from v2026.3.11 due to the completions issue. #### Security - **Block GitHub tool upgrades when provenance is lost** -- When upgrading a `github:` backend tool, mise now checks whether the prior locked version had provenance verification (e.g., GitHub Attestations). If the new version lacks provenance that the old version had, the upgrade is blocked with an error indicating a potential supply chain attack. The old provenance-verified lockfile entry is preserved, and the error includes both versions for easy investigation. This check applies to `mise lock`, `mise install`, and `mise use`. [#&#8203;8706](https://redirect.github.com/jdx/mise/pull/8706) by [@&#8203;jdx](https://redirect.github.com/jdx) Example error: ``` github:example/tool@2.0.0 has no provenance verification on linux-x64, but github:example/tool@1.5.0 had github-attestations. This could indicate a supply chain attack. Verify the release is authentic before proceeding. ``` #### Fixed - **Zsh completions updated for usage v3.1.0** -- The prerendered zsh completion script has been regenerated to match the new output format from usage v3.1.0, which switched from `_arguments` to `_describe` and changed quoting behavior. This also fixes the binary build failure that prevented v2026.3.11 from publishing release assets. [#&#8203;8715](https://redirect.github.com/jdx/mise/pull/8715) by [@&#8203;jdx](https://redirect.github.com/jdx) **Full Changelog**: <https://github.com/jdx/mise/compare/v2026.3.11...v2026.3.12> ### [`v2026.3.11`](https://redirect.github.com/jdx/mise/releases/tag/v2026.3.11) [Compare Source](https://redirect.github.com/jdx/mise/compare/v2026.3.10...v2026.3.11) > **Note:** This release has no binary assets due to a CI failure caused by a breaking change in [usage v3.1.0](https://redirect.github.com/jdx/usage/releases/tag/v3.1.0). The fix is in [#&#8203;8715](https://redirect.github.com/jdx/mise/pull/8715). All changes below are included in the next release. This release adds `--skip-tools` for faster task execution, GitHub token auto-detection from `gh` CLI, optional `args`/`env` fields in task `run` entries, and fixes across lockfiles, shims, tasks, and environment handling. #### Highlights - **`mise run --skip-tools`** -- Skip tool installation when running tasks, useful when you know tools are already installed and want faster execution. [#&#8203;8699](https://redirect.github.com/jdx/mise/pull/8699) by [@&#8203;jdx](https://redirect.github.com/jdx) - **GitHub token auto-detection from `gh` CLI** -- mise now reads GitHub tokens from `gh`'s `hosts.yml` config, so authenticated GitHub API requests work automatically if you're logged in with `gh auth login`. [#&#8203;8692](https://redirect.github.com/jdx/mise/pull/8692) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Optional `args` and `env` in task `run` entries** -- Task run entries now support optional `args` and `env` fields for more flexible task configuration. [#&#8203;8687](https://redirect.github.com/jdx/mise/pull/8687) by [@&#8203;jdx](https://redirect.github.com/jdx) #### Added - **`mise run --skip-tools`** -- Skip tool installation when running tasks. [#&#8203;8699](https://redirect.github.com/jdx/mise/pull/8699) by [@&#8203;jdx](https://redirect.github.com/jdx) - **GitHub token from `gh` CLI** -- Automatically read tokens from `gh` CLI's `hosts.yml` config. [#&#8203;8692](https://redirect.github.com/jdx/mise/pull/8692) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task `run` entries support `args` and `env`** -- Optional fields for more flexible task definitions. [#&#8203;8687](https://redirect.github.com/jdx/mise/pull/8687) by [@&#8203;jdx](https://redirect.github.com/jdx) - **vfox: `try_get`, `try_head`, `try_download_file`** -- Non-failing HTTP methods for Lua plugins. [#&#8203;8697](https://redirect.github.com/jdx/mise/pull/8697) by [@&#8203;jdx](https://redirect.github.com/jdx) - **New registry tools:** - [rtk](https://redirect.github.com/rtk-ai/rtk) -- [#&#8203;8683](https://redirect.github.com/jdx/mise/pull/8683) by [@&#8203;bricelalu](https://redirect.github.com/bricelalu) #### Fixed - **Node: expand tilde in `default_packages_file` path** -- `~/.default-node-packages` now resolves correctly. [#&#8203;8709](https://redirect.github.com/jdx/mise/pull/8709) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Lockfile: skip global config lockfile by default** -- Global config no longer generates a lockfile unless explicitly configured. [#&#8203;8707](https://redirect.github.com/jdx/mise/pull/8707) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Lockfile: respect existing platforms when running `mise lock`** -- Existing platform entries in lockfiles are preserved instead of being overwritten. [#&#8203;8708](https://redirect.github.com/jdx/mise/pull/8708) by [@&#8203;jdx](https://redirect.github.com/jdx) - **GitHub: rename correct binary when archive contains multiple executables** -- Archives with multiple binaries no longer rename the wrong one. [#&#8203;8700](https://redirect.github.com/jdx/mise/pull/8700) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task: include idiomatic version files in monorepo task toolset** -- `.node-version`, `.python-version`, etc. are now picked up in monorepo task directories. [#&#8203;8702](https://redirect.github.com/jdx/mise/pull/8702) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task: strip inline args when validating `run.tasks` references** -- Task references with inline args (e.g. `"build --release"`) no longer fail validation. [#&#8203;8701](https://redirect.github.com/jdx/mise/pull/8701) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task: inherit `task_config.dir` for included TOML and file tasks** -- Included tasks now correctly inherit the configured working directory. [#&#8203;8689](https://redirect.github.com/jdx/mise/pull/8689) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task: improve error message when task files are not executable** -- Clearer error when a file task lacks execute permission. [#&#8203;8705](https://redirect.github.com/jdx/mise/pull/8705) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Task: improve usage spec element support** -- Better handling of usage spec elements in task definitions. [#&#8203;8623](https://redirect.github.com/jdx/mise/pull/8623) by [@&#8203;nkakouros](https://redirect.github.com/nkakouros) - **Install: skip redundant provenance verification when lockfile has integrity data** -- Avoids duplicate verification work. [#&#8203;8688](https://redirect.github.com/jdx/mise/pull/8688) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Install: skip GitHub API calls for aqua tools in `--locked` mode** -- Locked installs no longer make unnecessary API calls. [#&#8203;8679](https://redirect.github.com/jdx/mise/pull/8679) by [@&#8203;jdx](https://redirect.github.com/jdx) - **Shim: detect shims by checking shims directory instead of binary name** -- Fixes edge cases where shim detection failed. [#&#8203;8694](https://redirect.github.com/jdx/mis </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/hetznercloud/cli). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuMTEwLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1 parent c4d60b3 commit 00abbf4

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Set up tools
1919
uses: jdx/mise-action@v4
2020
with:
21-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
21+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
2222

2323
- name: Run GoReleaser
2424
run: goreleaser release --clean --snapshot --skip=sign

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Set up tools
1919
uses: jdx/mise-action@v4
2020
with:
21-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
21+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
2222

2323
- name: Run gofmt
2424
run: diff -u <(echo -n) <(gofmt -d -s .)
@@ -38,7 +38,7 @@ jobs:
3838
- name: Set up tools
3939
uses: jdx/mise-action@v4
4040
with:
41-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
41+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
4242

4343
- name: Run tests
4444
run: go test -coverpkg=./internal/... -coverprofile=coverage.txt -v -race ./...
@@ -63,7 +63,7 @@ jobs:
6363
- name: Set up tools
6464
uses: jdx/mise-action@v4
6565
with:
66-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
66+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
6767

6868
- uses: hetznercloud/tps-action@main
6969

@@ -92,7 +92,7 @@ jobs:
9292
- name: Set up tools
9393
uses: jdx/mise-action@v4
9494
with:
95-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
95+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
9696

9797
- name: Delete old generated files
9898
run: find . -name 'zz_*.go' -delete
@@ -115,7 +115,7 @@ jobs:
115115
- name: Set up tools
116116
uses: jdx/mise-action@v4
117117
with:
118-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
118+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
119119

120120
- name: Run go mod tidy
121121
run: go mod tidy

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Set up tools
2525
uses: jdx/mise-action@v4
2626
with:
27-
version: 2026.3.8 # renovate: datasource=github-releases depName=jdx/mise
27+
version: 2026.4.7 # renovate: datasource=github-releases depName=jdx/mise
2828

2929
- name: Import GPG key
3030
id: import_gpg

0 commit comments

Comments
 (0)