chore(deps): update dependency mise to v2026.4.15#199
Merged
renovate-sh-app[bot] merged 1 commit intomainfrom Apr 20, 2026
Merged
chore(deps): update dependency mise to v2026.4.15#199renovate-sh-app[bot] merged 1 commit intomainfrom
renovate-sh-app[bot] merged 1 commit intomainfrom
Conversation
| datasource | package | from | to | | -------------------------- | -------- | ---------- | ---------- | | github-release-attachments | jdx/mise | v2026.4.1 | v2026.4.15 | | github-release-attachments | jdx/mise | v2026.4.10 | v2026.4.15 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
martincostello
approved these changes
Apr 20, 2026
This was referenced Apr 20, 2026
Closed
Merged
zeitlinger
pushed a commit
that referenced
this pull request
Apr 21, 2026
### Added - *(registry)* switch shfmt to aqua backend ([#175](#175)) ### Fixed - treat cargo-clippy as a partial fixer ([#197](#197)) - *(registry)* add --tests to cargo-clippy, add test coverage ([#176](#176)) ### Other - *(deps)* update taiki-e/install-action digest to 055f5df ([#180](#180)) - *(deps)* update dependency npm:@biomejs/biome to v2.4.12 ([#191](#191)) - *(deps)* update rust crate clap to v4.6.1 ([#196](#196)) - *(deps)* update rust crate tokio to v1.52.1 ([#192](#192)) - *(deps)* update dependency pipx:ruff to v0.15.11 ([#198](#198)) - *(deps)* update node.js to v24.15.0 ([#194](#194)) - *(deps)* update dependency npm:prettier to v3.8.3 ([#193](#193)) - exclude mise install dir from Windows Defender ([#188](#188)) - *(deps)* update dependency npm:renovate to v43.129.0 ([#200](#200)) - restructure README/docs and split registry module ([#187](#187)) - *(deps)* update dependency mise to v2026.4.15 ([#199](#199)) > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v2026.4.1→v2026.4.15v2026.4.18(+2)v2026.4.10→v2026.4.15v2026.4.18(+2)Release Notes
jdx/mise (mise)
v2026.4.15: : Windows path separator fix and improved GitHub token detectionCompare Source
A small release with an important Windows fix and an improved GitHub rate-limit warning. Path-list environment variables now use the correct OS-native separator on Windows, and the 403 rate-limit warning now checks all configured GitHub token sources instead of only the
GITHUB_TOKENenvironment variable.Fixed
Path-list environment variables broken on Windows -- Settings that accept colon-separated path lists (
MISE_TRUSTED_CONFIG_PATHS,MISE_IGNORED_CONFIG_PATHS,MISE_CEILING_PATHS,MISE_SHARED_INSTALL_DIRS,MISE_TASK_DISABLE_PATHS) always split on:, which conflicts with Windows drive letters (e.g.C:\foo). These settings now use the OS-native path separator (:on Unix,;on Windows) viastd::env::split_paths, matching howPATHitself is handled. #9058 by @richardthe3rdGitHub 403 warning shown even when a token is configured -- The rate-limit warning that appears on GitHub API 403 errors previously only checked the
GITHUB_TOKENenvironment variable. Users who configured a token viaghCLI,github_tokens.toml,credential_command, orgit credentialwould still see the misleading "GITHUB_TOKEN is not set" hint. The warning now checks all supported token sources and links to the GitHub tokens documentation. #9121 by @jdxAdded
New Contributors
Full Changelog: jdx/mise@v2026.4.14...v2026.4.15
v2026.4.14: : Fix GitHub attestation verification for some toolsCompare Source
A small patch release that fixes GitHub artifact attestation verification failures affecting some tools installed via the
github:backend.Fixed
github:backend that use GitHub release attestations (e.g.github:jdx/[email protected],github:jdx/[email protected]) could fail verification because the upstreamsigstore-verificationlibrary did not handle GitHub release attestation certificates whose Subject Alternative Name (SAN) URL lacked a trailing slash. The dependency has been bumped from 0.2.3 to 0.2.5, which includes the upstream fix. #9128 by @jdxFull Changelog: jdx/mise@v2026.4.13...v2026.4.14
v2026.4.13: : Remote version cache, Go install_before, and task tool objectsCompare Source
This release fixes several backend and schema edge cases, including stale GitHub/GitLab/Forgejo version caches,
go:moduleinstall_beforefiltering, vfox plugins pinned to Git commit hashes, and task-local tool options.Highlights
go:module versions now carry release timestamps, allowinginstall_beforeto filter them correctly.toolsnow accepts object syntax, matching top-level tool declarations for options like Rust targets.Added
Object syntax for task-level tools -- Task-local
toolsentries now support map/object values in addition to strings, matching top-level[tools]behavior. This allows task-specific tool options such as Rust cross-compilation targets without requiring those options globally. #9087 by @BinlogoFixed
MISE_FETCH_REMOTE_VERSIONS_CACHEignored by GitHub, GitLab, and Forgejo backends -- These backends previously hardcoded a daily API cache duration, ignoringfetch_remote_versions_cache,MISE_FETCH_REMOTE_VERSIONS_CACHE=0, andprefer_offline. They now use the shared setting, matching other backends and allowing users to bypass stale release caches. #9096 by @mcnclgo:module versions ignoredinstall_before-- The Go backend now populates version metadata with release timestamps from the module proxy andgo list -m -json, allowinginstall_beforeto filter module versions correctly instead of falling back to untimestamped candidates. #9097 by @mariusvniekerkvfox plugins pinned to Git commit hashes in
mise.toml--mise installcould fail for vfox plugins declared with Git URLs and commit hashes becauseensure_installeddid not share the same install path asmise plugin install. vfox plugin installation now reuses the plugin install logic so both flows behave consistently. #9099 by @Oyami-SrkSchema support for OS/architecture filters -- The JSON schemas now share reusable tool
osfilter definitions, including compoundos/archentries such asmacos/arm64andlinux/x64, across top-level tools and task-local tools. #9095 by @risu729Changed
rustls-webpkion the modern rustls stack, and adjusted advisory ignores for the older transitive AWS rustls dependency chain so advisory checks can pass again. #9112 by @jdxNew Contributors
Full Changelog: jdx/mise@v2026.4.12...v2026.4.13
v2026.4.12: : OS/arch filtering, task confirmation defaults, and npm supply chain improvementsCompare Source
This release adds OS/architecture compound filtering for tool configuration, lets task confirmation prompts default to "no" for destructive actions, and upgrades npm supply chain protection to use the recommended
--min-release-ageflag. It also fixes several bugs including a panic on empty config filename overrides and circular shim symlinks.Highlights
osfield now supportsos/archcompound entries like"macos/arm64"or"linux/x64", letting you restrict tools to specific platform and architecture combinations.confirmcan now default to "no", so destructive tasks require the user to explicitly opt in rather than just pressing Enter.--min-release-ageflag on npm 11.10.0+, aligning with npm's recommended approach.Added
OS/architecture compound syntax in tool filtering -- The
osfield on tool entries now acceptsos/archentries (e.g.os = ["linux", "macos/arm64"]). When an entry contains/, both the OS and architecture must match. Plain OS entries continue to match any architecture. OS aliases (darwintomacos) and arch aliases (aarch64toarm64,x86_64/amd64tox64) are normalized automatically. #9088 by @RobertDeRoseTask confirmation default -- The
confirmfield on tasks now accepts a map withmessageanddefaultkeys, allowing you to set whether the prompt defaults to "yes" or "no". This is useful for destructive tasks where you want the user to explicitly confirm. The existing string syntax continues to work and defaults to "yes" for backwards compatibility. #9089 by @roelenpm
--min-release-agefor supply chain protection -- Wheninstall_beforeis configured, mise now uses npm's--min-release-age=<days>flag for npm 11.10.0+, which is the flag npm recommends for supply chain protection. Older npm versions continue to use--before. Sub-day windows also fall back to--beforesince--min-release-ageis day-granular. #9072 by @webkazNew registry entries -- Added
openfga(#9084 by @mnm364),copilot(#9082 by @risu729), andtrzsz-go(#9083 by @ZeroAurora).Fixed
Panic on empty
MISE_OVERRIDE_CONFIG_FILENAMES-- SettingMISE_OVERRIDE_CONFIG_FILENAMES=""(e.g. to clear it for a child process) caused a panic because the empty string was injected as a config path, which resolved to the filesystem root and had no parent directory. Empty segments from empty strings, leading/trailing colons, and consecutive colons are now filtered out. #9076 by @baby-joelCircular shim symlinks when shims are on PATH -- When
mise activate --shimsput the shims directory on PATH and amiseshim existed (e.g. from havingcore:rustin the toolset after a cargo install),reshimwould create shims pointing to the mise shim instead of the real binary, including a circularmisetomisesymlink that broke all shims.doctorwould also falsely report all shims as "missing". Both now usewhich_no_shimsto resolve the real mise binary. #9071 by @kevinswiber__MISE_EXEnot exported in bash activate -- The__MISE_EXEvariable was not exported in the bash activation script, so child shells couldn't access it and themisefunction failed. Additionally, when ARGV0 was a bare name (e.g.mise) instead of an absolute path, PATH changes could break execution. The variable is now properly exported and bare names are resolved viawhich. #9081 by @fru1tworldAliased installs sharing a backend were deduplicated -- When multiple tool aliases (e.g.
iiiandiii-console) resolved to the same backend and version (e.g.github:iii-hq/iii@latest), the install scheduler collapsed them into a single job and skipped the second install. The dependency graph now keys on the configured tool name plus version, so alias-specific options likeasset_patternandbin_pathare preserved. #9093 by @jdxNew Contributors
Full Changelog: jdx/mise@v2026.4.11...v2026.4.12
v2026.4.11: : Task dependency templates and npm semver range supportCompare Source
A small release with two meaningful bug fixes: task dependency templates with
{{usage.*}}references now resolve correctly even when the task is called without arguments, andpackage.jsondevEnginesversion fields are now parsed as full npm semver ranges instead of being simplified into prefix matches.Fixed
Task dependency templates now render without arguments -- When a task declared dependencies using
{{usage.*}}templates (e.g.depends = ["child {{usage.app}}"]), those templates were only rendered if the task received explicit CLI arguments. If the usage spec defined defaults but no args were passed, the templates were left unresolved and the dependencies were silently dropped, causing the task to run with no dependencies at all. The guard now checks whether dependencies contain usage references rather than whether args are non-empty. #9062 by @MatthiasGrandlnpm semver ranges in
devEngines-- mise previously simplifiedpackage.jsondevEnginesversion fields by stripping range operators (>=,^,~) and trimming trailing.0segments to produce a prefix for fuzzy matching. This was lossy and incorrect in many cases (e.g.^20.0.1was simplified to20, matching20.0.0). mise now preserves the original range string and resolves it against available versions using proper npm semver semantics via thenodejs-semvercrate. Compound ranges (>=20 <21 || >=22), caret/tilde ranges, and wildcard segments all work correctly. #9061 by @risu729Documentation typo in Go backend -- The docs for Go build tags incorrectly showed
--tagsinstead of the correct-tagsflag. #9065 by @dolmenNew Contributors
Full Changelog: jdx/mise@v2026.4.10...v2026.4.11
v2026.4.10: : Fix spurious warnings from postinstall hooks running tasksCompare Source
A small patch release that fixes a single bug affecting tool postinstall hooks.
Fixed
postinstallhook ran a nestedmise run, the child process inherited theMISE_TOOL_VERSIONenvironment variable set during hooks.ToolsetBuilderwas incorrectly parsing this as a request to install a tool namedtoolat the given version via theMISE_<TOOL>_VERSIONconvention, producing spurious registry warnings before the task executed. mise now ignoresMISE_TOOL_VERSIONin the same way it already ignoredMISE_INSTALL_VERSION. #9050 by @risu729Full Changelog: jdx/mise@v2026.4.9...v2026.4.10
v2026.4.9: : Cross-device installs, deterministic lockfiles, and sandbox template supportCompare Source
This release fixes cross-device tool installation failures, makes lockfile provenance resolution deterministic across platforms, and adds sandbox field support to task templates. Several smaller fixes address env precedence in multi-environment setups and spurious warnings from
tools=truemodule hooks.Highlights
rename()returns a cross-device error.mise locknow resolves SLSA provenance URLs for all target platforms, not just the current host. This eliminates non-deterministic lockfile diffs when runningmise lockon different machines.deny_all,deny_read,deny_write,deny_net,deny_env,allow_read,allow_write,allow_net,allow_env), with deny fields composing restrictively and allow lists combining template and task-local values.Fixed
Cross-device tool installation -- When the downloads folder is on a different mount than the installs folder (common with Docker cache mounts or devcontainers),
rename()fails withEXDEV. mise now uses amove_filehelper that falls back to copy+remove, fixing installation of bun, deno, erlang, java, and ruby in these setups. #9032 by @bgeronDeterministic SLSA provenance in lockfiles --
mise lockpreviously only resolved full SLSA provenance URLs for the current host platform, writingprovenance = "slsa"(short form) for cross-platform entries. Now both the GitHub and Aqua backends resolve provenance URLs for all target platforms, producing byte-for-byte identical lockfiles regardless of which machine generates them. #8982 by @cameronbrillSandbox fields in task templates -- Task templates now accept sandbox configuration fields. Deny fields compose restrictively (OR with task-local settings), and allow lists combine template values with task-local values. #9046 by @risu729
Env precedence for task config -- With multiple
MISE_ENVvalues (e.g.,MISE_ENV=prod,ci),task_config.includesandtask_config.dirnow correctly respect the documented last-env-wins precedence. Previously the order was reversed, causing the wrong profile's task config to take effect. #9039 by @risu729Spurious warnings from
tools=truemodule hooks -- When a vfox backend tool triggereddependency_env(), it previously resolved alltools=trueenv modules with an incomplete PATH, causing "command not found" warnings. The dependency env now skipstools=truemodule resolution entirely. #9011 by @jdxImplicit
self_updatewith rustls features -- Building mise with--features rustlsor--features rustls-native-rootsno longer implicitly enables theself_updatefeature. Theself_update/rustlsentries in these feature lists were redundant and caused the optionalself_updatedependency to be silently pulled in. #9040 by @salim-bJSON schema completeness -- Added missing fields to the mise JSON schema: sandbox fields on tasks, legacy top-level
env_file/dotenv/env_pathshortcuts (marked deprecated), and age encryption directive options with proper nesting. #9044 by @risu729Windows
.exein release checksums -- Release builds now publish the extractedmise.exealongside the Windows.ziparchives and include it inSHASUMS256.txt, enabling SHA256 verification of the standalone binary (e.g., bymise-action). #8997 by @zeitlingergrantedregistry entry -- Updated thegrantedtool to point to the newfwdcloudsec/grantedrepository after the project moved fromcommon-fate/granted. #9033 by @risu729New Contributors
Full Changelog: jdx/mise@v2026.4.8...v2026.4.9
v2026.4.8: : Task engine stability and Go subpath version resolutionCompare Source
This release brings significant stability improvements to the task runner -- fixing hangs, deadlocks, and panics across several edge cases in task dependency graphs and parallel execution. It also overhauls Go version resolution for subpath packages by querying the module proxy directly, and adds new configuration options for sandbox environment filtering and lockfile platform targeting.
Highlights
go:github.com/foo/bar/cmd/bazthat live under a subpath of their Go module now resolve versions correctly, eliminating persistent "no latest version found" warnings.MISE_JOBS=1, panics in replacing output mode, stale source caching in dependency chains, and warnings with remote tasks.allow_envpatterns -- Sandbox env filtering now supports globs likeMYAPP_*to allow entire namespaces of environment variables.lockfile_platformssetting -- Restrict lockfile operations to only the platforms you care about, avoiding unnecessary checksum resolution.Added
Wildcard patterns in sandbox
allow_env--allow_envnow supports glob wildcards (e.g.,MYAPP_*) to pass through namespaces of environment variables in sandboxed tasks and exec. Works in both CLI flags and task config. #8974 by @jdxlockfile_platformssetting -- New setting to restrict which platforms are targeted during lockfile operations. When set,mise install,mise use, andmise lockonly resolve checksums/URLs for the configured platforms instead of all common platforms. Explicitmise lock --platformflags still override this setting. #8966 by @cameronbrillExamples rendered in
task --help--#USAGE exampledirectives in task scripts now appear in--helpoutput, thanks to an upgrade to usage-lib v3. #8890 by @baby-joelFixed
Go subpath package version resolution -- The Go backend previously used
go list -m -versionsto resolve versions, which returns an empty version list for subpath packages (e.g.,github.com/ankitpokhrel/jira-cli/cmd/jira), making it impossible to resolve "latest". mise now queries the Go module proxy ($GOPROXY) directly, generating path prefix candidates and using HTTP responses to distinguish real modules from non-module subpaths. This respects theGOPROXYenvironment variable and falls back togo listforGOPROXY=direct. #8968 by @c22Task hang when skipped task has dependents -- When a task with
sources/outputswas skipped (up-to-date), a race condition in the dependency graph could leave downstream dependents hanging indefinitely. The failed channel send now properly resets the task's "sent" state so it can be re-emitted on a new channel. #8937 by @jdxDependent task source invalidation -- When a dependency task runs because its own sources changed, downstream tasks that depend on it now also re-run, even if their own sources haven't changed. Sourceless dependencies (which always run) do not trigger this invalidation, preserving the usefulness of
sourceson dependents. #8975 by @jdxDeadlock with
MISE_JOBS=1and sub-task references -- WhenMISE_JOBS=1and a task'srunarray contains both sub-task references ({ task = "foo" }) and scripts, the parent task now temporarily releases its semaphore permit before waiting on the sub-task, preventing a classic deadlock. #8976 by @jdxPanic with parallel sub-tasks in replacing output mode -- Running parallel sub-tasks (via
tasks = [...]in run steps) withoutput = "replacing"no longer panics. Dynamically injected sub-tasks are now lazily initialized in the progress reporter map. #8986 by @jdxRemote task warning with arguments -- Remote git task files are now fetched before parsing usage specs, fixing spurious "failed to parse task file" warnings when running remote tasks with arguments. #8979 by @jdx
Tera templates in tool postinstall hooks -- Tool-level
postinstallscripts (e.g.,[tools.ripgrep] postinstall) now render Tera templates before execution, so variables like{{tools.ripgrep.path}}work correctly. #8978 by @jdxMissing env vars in tool postinstall hooks --
MISE_CONFIG_ROOTandMISE_PROJECT_ROOTare now set in tool-level postinstall hooks, matching the behavior of project-level hooks. #8977 by @jdxmise upgrade tool@versionnot updating lockfile --mise upgrade tool@versionandmise lock tool@versionnow properly update the lockfile with the specified version. When the version doesn't match the current config prefix (e.g., upgrading from"2"to3.0.1), the config is auto-bumped to match while preserving the original version precision. #8983 by @jdxBash 3.2 activation with
set -u-- The bash activation script no longer fails with__MISE_FLAGS[@​]: unbound variableon macOS's default bash 3.2 whenset -u(nounset) is enabled and no flags are set. #8988 by @jdxNew Contributors
Full Changelog: jdx/mise@v2026.4.7...v2026.4.8
v2026.4.7: : Native ARM64 Python on WindowsCompare Source
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
[WinError 193] %1 is not a valid Win32 applicationwhen loading native ARM64 DLLs. mise now downloads the nativeaarch64-pc-windows-msvcbuild on ARM64 Windows while continuing to use x86_64 on x64 Windows. #8961 by @JohanLorenzoNew Contributors
Full Changelog: jdx/mise@v2026.4.6...v2026.4.7
v2026.4.6: : Tera templates in miserc.toml, shim race condition fix, and SPM self-hosted supportCompare Source
This release adds Tera template support to
.miserc.tomlfiles 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
.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.mise reshimormise install.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 @richardthe3rdsing-boxadded to the built-in registry -- Install the sing-box universal proxy platform viamise use sing-box. #8944 by @tony-solFixed
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-johnmise 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 @jakedgySPM 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 @ThomasDutartrevfox 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 @cpreciosoTask 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 @jdxClarified 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 @fru1tworldNew Contributors
Full Changelog: jdx/mise@v2026.4.5...v2026.4.6
v2026.4.5: : GitLab and Forgejo token support, env file diagnostics, and shell fixesCompare Source
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
mise config lsandmise doctornow show env files loaded viaMISE_ENV_FILEor_.filedirectives, making it easier to trace where environment variables come from.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, andgit credential fill. A newmise tokencommand replaces the oldmise github tokenand addsmise token gitlabandmise token forgejosubcommands for debugging token resolution. #8868 by @roeleEnv files in
config lsanddoctor-- Env files loaded via theMISE_ENV_FILEsetting or_.fileconfig directives now appear inmise config lsoutput (with env var keys shown in verbose mode) and inmise doctoroutput (both text and JSON). #8853 by @SamSoldatenkoFixed
Double
.exeextension on Windows (aqua backend) -- When a package's Windows override URL already includes.exe, mise no longer appends a second.exesuffix. This affected 37 aqua registry packages includingcli/cli,kubernetes/kubectl,gruntwork-io/terragrunt, andrust-lang/rustup. #8863 by @yusei-wyDuplicate trust warning in bash -- Entering an untrusted project directory in bash triggered the trust warning from both the
chpwdhook andPROMPT_COMMAND, producing a duplicate message. The bash activation script now coordinates between the two hooks so the warning appears exactly once. #8920 by @timothyspargConfig root injected into PATH via
_.source-- When a sourced script prepended toPATH(e.g.,export PATH="/custom:$PATH"), an empty path component could resolve to the config root directory and get injected intoPATH. Empty path segments are now filtered out. #8936 by @jdxSpurious dependency warnings during install -- When
mise.tomlconfigured 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. #8923 by @jdxChanged
mise github tokenrenamed tomise token github-- The oldmise github tokencommand still works but is hidden from help output. The newmise tokencommand group addsgithub,gitlab, andforgejosubcommands. #8868 by @roeleNew Contributors
Full Changelog: jdx/mise@v2026.4.4...v2026.4.5
v2026.4.4: : Tool Dependencies, .NET Runtimes, and Task Argument ForwardingCompare Source
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
mise.toml-- A newdependsfield lets you ensure one tool is fully installed before another starts, useful for tools with runtime dependencies on each other.{{usage.*}}templates, enabling parameterized build/deploy pipelines.runtimetool option.mise locknow cryptographically verifies provenance for the current platform at lock time, and a newlocked_verify_provenancesetting enables re-verification at install time.Added
User-specified tool dependencies -- Declare explicit installation dependencies between tools in
mise.tomlwith a newdependsfield, ensuring one tool is fully installed before another starts. #8776 by @cprecioso.NET runtime-only installs -- Install .NET runtimes alongside or instead of SDKs using the
runtimetool option. Valid values:dotnet,aspnetcore,windowsdesktop. #8524 by @fragon10Task dependency argument forwarding -- Task dependencies can reference parent task arguments using
{{usage.*}}templates independs,depends_post, andwait_for. Arguments flow through entire dependency chains. #8893 by @jdxinstall_beforeenforced on transitive npm dependencies -- Theinstall_beforesupply-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). #8851 by @risu729locked_verify_provenancesetting -- New setting (also auto-enabled byMISE_PARANOID) that forces cryptographic provenance re-verification at install time even when the lockfile already has checksum and provenance data.mise locknow also performs full verification for the current platform at lock time. #8901 by @jdxtursoadded to the built-in registry -- Install the Turso CLI viamise use turso. #8884 by @kennFixed
--env=VALUEand-E=VALUEflag 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=VALUEand--env VALUEforms now work correctly. #8889 by @jdx.devversions filtered in fuzzy matching -- Versions like2026.3.3.162408.dev0no longer incorrectly satisfy stable version requests. The version regex now matches.devin addition to-dev. #8849 by @richardthe3rdmise lock <tool>-- Runningmise lock nodeafter a version change no longer leaves duplicate entries for the old and new versions. #8599 by @altendkyfailed to update DIRENV_DIFFwarning no longer appears when the direnv diff environment variable is empty. #8857 by @yalemanmise trustwarning twice. #8898 by @timothysparg.tool-versionsno longer requires trust for task listing -- Files without Tera template syntax ({{,{%,{#) are skipped during the trust check inmise task ls. #8876 by @dportalesrfilter_binsand other tool options are no longer lost when specifying a version via CLI (e.g.,mise bin-paths tool@version). #8888 by @jdxtool_aliasnow correctly use the alias-specificasset_patternand other options instead of inheriting from the original tool. #8892 by @jdxmise.lockinstead of always recomputing it, fixing reproducibility for locked installs. #8750 by @hehaoqianjdx/rubynow support build revision tags (e.g.,3.3.11-1), preventing lockfile breakage when binaries are rebuilt with different checksums. #8900 by @jdxChanged
go.*namespace -- Allgo_*settings (e.g.,go_set_goroot) have been renamed to the nestedgo.*format (e.g.,go.set_goroot) for consistency with other language settings. The old names are preserved as deprecated aliases. #8598 by @jdbruijnBreaking Changes
asdf-- usedisable_backendsinsteadvfox-- usedisable_backendsinsteadcargo_binstall-- usecargo.binstallinsteaddisable_default_shorthands-- usedisable_default_registryinsteadpipx_uvx-- usepipx.uvxinsteadpython_compile-- usepython.compileinsteadpython_default_packages_file-- usepython.default_packages_fileinsteadpython_patch_url-- usepython.patch_urlinsteadpython_patches_directory-- usepython.patches_directoryinsteadpython_precompiled_arch-- usepython.precompiled_archinsteadpython_precompiled_os-- usepython.precompiled_osinsteadpython_pyenv_repo-- usepython.pyenv_repoinsteadpython_venv_stdlib-- usepython.venv_stdlibinsteadNew Contributors
Full Changelog: jdx/mise@v2026.4.3...v2026.4.4
v2026.4.3: : Fix seccomp build on armv7Compare Source
A small patch release that fixes a compile error preventing mise from building on 32-bit ARM (armv7) targets.
Fixed
mise execfailed to compile on armv7 targets. Thelibc::SYS_socketandlibc::SYS_socketpairconstants arei32on 32-bit platforms but the rule map expectsi64keys, causing a type mismatch. An explicitas i64cast fixes the build while remaining a no-op on 64-bit platforms. #8869 by @jdxFull Changelog: jdx/mise@v2026.4.2...v2026.4.3
v2026.4.2: : Process sandboxing for exec and runCompare Source
This release introduces experimental process sandboxing for
mise execandmise run, allowing you to restrict filesystem access, network access, and environment variables for executed processes.Added
Process sandboxing for
mise xandmise 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 usessandbox-exec(Seatbelt) with generated profiles. Requiresexperimental = truein settings. #8845 by @jdxTask-level configuration is also supported:
Fixed
RUNTIME.osTypeandRUNTIME.archTypevalues -- Fixed inconsistent documentation for runtime template variables and simplified examples. #8785 by @esteveFull Changelog: jdx/mise@v2026.4.1...v2026.4.2
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
Need help?
You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.