chore(deps): update dependency jdx/mise to v2026.7.15 - #87
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 1, 2026 14:51
b80483b to
e746981
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
2 times, most recently
from
April 3, 2026 13:52
7bca63d to
78cde9b
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
2 times, most recently
from
April 6, 2026 13:24
71dfc7c to
2c2deda
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
2 times, most recently
from
April 9, 2026 10:49
9807261 to
23e68ca
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 10, 2026 14:16
23e68ca to
5dbfe28
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 11, 2026 20:28
5dbfe28 to
0b27243
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 12, 2026 13:32
0b27243 to
4772b7b
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 13, 2026 13:17
4772b7b to
08413f6
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 16, 2026 10:41
08413f6 to
7f4fed8
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 16, 2026 17:43
7f4fed8 to
d106507
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 17, 2026 15:11
d106507 to
0d1ebc0
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 18, 2026 17:00
0d1ebc0 to
29746be
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 27, 2026 13:23
8f3ef1a to
647eacb
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 28, 2026 17:43
647eacb to
72020a7
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 29, 2026 16:37
72020a7 to
fd1ed23
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 29, 2026 23:24
fd1ed23 to
edf5298
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
April 30, 2026 16:05
edf5298 to
1d8da69
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
May 10, 2026 12:44
406abab to
ac5e40c
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
May 11, 2026 18:01
ac5e40c to
a88eca2
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
2 times, most recently
from
May 14, 2026 21:39
ce968d3 to
ca638bd
Compare
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:
2026.3.17→2026.7.15Release Notes
jdx/mise (jdx/mise)
v2026.7.15: : Experimental Task Output CachingCompare Source
This release lands the first version of experimental local task output caching, letting eligible tasks restore their declared outputs and replay their logs without rerunning. It also adds structured registry idiomatic-version-file parsing, a standalone Aube installer mode, and a broad batch of task, Homebrew, shell, and Windows path fixes.
Highlights
dagger.json,Taskfile.yml,.chezmoiversion, and 8 more) in-process, with no plugin or shell execution.Added
task: experimental, opt-in local artifact caching. Tasks with
sourcesand explicitoutputscan restore their outputs from a content-addressed cache instead of rerunning, and successful stdout/stderr are replayed through whatever output mode the current run uses. Cache keys combine source contents, task configuration and arguments, declared and allowlisted ambient environment, resolved tools, OS, and architecture. Cache failures degrade to misses or warnings rather than failing a task. (#11328, #11347 by @jdx)task: dependency artifact keys now fold into a task's cache key, so downstream tasks reuse cached outputs when their dependencies resolve to the same artifacts, and an upstream input change correctly invalidates downstream results. (#11340 by @jdx)
task: result-only caching via
outputs = []for checks like lint, test, and typecheck that produce no files. Their successful result and replayable logs are cached without writing an archive. (#11351 by @jdx)task: reusable and global cache inputs. Define named
[task_config.input_groups]referenced fromsourcesas@group:<name>, andtask_config.global_inputsto apply config-rooted patterns to every task in scope, so shared lockfiles and toolchain files no longer need repeating per task. (#11356 by @jdx)task:
task_config.global_envfor scoped environment inputs that participate in cache keys, pluspass_through_env/task_config.global_pass_through_envto keep selected ambient variables (like tokens) available underdeny_envwithout affecting cache keys. (#11363 by @jdx)task:
outputsnow support ordered!exclusions and re-inclusions (mirroringsources), with\!escaping. Excluded paths are omitted from freshness hashes and cache archives, and existing excluded files are preserved on restore. (#11367 by @jdx)task:
task_config.shellsets a project-scoped default shell for tasks, with task-local and templateshellstill taking precedence. This gives users a safe migration path after the 2026.7.14 change that ignored project-level default shell-arg settings. (#11354 by @jdx)config: registry
idiomatic_filesentries can now define structuredversion_regex,version_json_path, andversion_exprparsers, adding in-process idiomatic version-file parsing for 11 tools including Dagger, Task, chezmoi, CMake, Earthly, golangci-lint, GoReleaser, Lefthook, Pixi, pre-commit, and Ruff. Parsing runs without executing plugin or shell code, and remains opt-in per tool. (#11341 by @jdx)npm: new
npm.package_manager = "aube_cli"mode installsnpm:tools through a separately installed standalone Aube executable while mise still resolves versions itself, avoiding Aube's npm compatibility shim. The default embeddedaubebehavior is unchanged. (#11357 by @jdx)deps: explicitly configured
mise depsproviders that are currently inapplicable now stay visible.mise deps --listshows an active/inactive status with a reason (e.g.inactive (missing package-lock.json)), andmise deps <provider> --explainor an explicit run fails with that reason instead of silently disappearing. (#11182 by @risu729)Fixed
source_freshness_hash_contents = truenow skips mtime comparison entirely, so tasks no longer re-run on every CI job after a cache restore resets timestamps. Output integrity is tracked with a content hash that also detects missing, partially deleted, and modified outputs. (#11319 by @rabadin)mise run, instead ofchmod-ing the file and still failing with "no task found". Respects--yes,MISE_YES, and the trustedyessetting. (#11337 by @jdx)wait_for,{{usage.*}}dependencies, anddepends_postare reported with a concrete path before any task runs, while valid post-dependency graphs are no longer rejected. (#11329 by @jdx)$ ...task headers now display forwarded arguments accurately for inline and shebang tasks, no longer making multiline tasks appear to pass args to their first command. (#11344 by @jdx)--outputandMISE_TASK_OUTPUToverrides now honor raw and interactive tasks the same waytask.outputconfig does, fixing mixed command/timing output for tasks that need inherited stdio. (#11355 by @jdx)mise bootstrap packages upgradeno longer fails to link kegs when formulae were already installed and linked by real Homebrew. mise now recognizes brew's directory symlinks, resolves link targets one hop like brew does, and expands directory symlinks into real directories before linking. This also fixes second-upgrade failures for formulae shipping versioned dylib aliases in pure-mise setups. (#11320 by @mjun0812)mise bootstrap packages prunenow correctly removes a keg's unversioned dylib alias links instead of leaving them dangling. (#11330 by @mjun0812)~/paths now expand using the platform path separator, so Windows install and tool locations no longer surface mixed separators (e.g.C:\Users\me\.local/share/mise) throughmise where, shims, and related output. (#11312 by @JamBalaya56562)mise activate pwshnow works underSet-StrictMode, guarding uninitialized globals that previously aborted activation, fixing a baremiseinvocation, restoringchpwdhook chaining, and silencing command-not-found errors when PSReadLine is unavailable. (#11314 by @JamBalaya56562)disable_backendsno longer shadows the registry entry, so a registry shorthand falls back to an enabled backend instead of failing to install. Already-installed tools keep reporting their recorded backend. (#11362 by @JamBalaya56562)mise generate task-docs --injectnow errors with a clear message when the<!-- mise-tasks -->markers are missing or reversed, instead of truncating or clobbering the target file. (#11359 by @JamBalaya56562)initializeresponse now reports the server asmiseat mise's version, instead of inheriting rmcp's default identity. (#11361 by @jdx)Documentation
activatetreats the shims directory with auto-install. (#11366 by @JamBalaya56562)Registry
oh-my-pi(#11324 by @slbls) and filled in missing tool descriptions (#11322 by @risu729).New Contributors
Full Changelog: jdx/mise@v2026.7.14...v2026.7.15
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.7.14: : Multi-asset GitHub installs, safer defaults, and Windows pipCompare Source
This release adds overlay installs for GitHub-based tools, closes a config-trust security gap around default shell arguments, and lands a wide batch of correctness fixes across tasks, lockfiles, npm, Swift, brew casks, and Windows Python.
Added
github: the GitHub/GitLab/Forgejo release backend now accepts
additional_asset_patterns, so a single install can overlay multiple release archives from the same tag into one installation directory. Each supplemental artifact is locked and verified (checksums and provenance) on its own, and--lockedfails if the recorded set no longer matches. This models release layouts like Ollama's optional ROCm archive without making a large payload unconditional. (#11272 by @jdx)npm: new
allow_low_downloadstool option lets an embedded aube install bypass the weekly-download popularity gate for the requested package only, so curated tools likebibtex-tidyandpurtyinstall again withoutnpm.shell_out. Transitive dependencies still hit the gate. (#11305 by @jdx)env: structured env files (
env._.fileloading JSON/YAML/TOML) support an explicitexpand = trueoption for shell-style variable expansion, including references to earlier values. See Fixed below for the default-behavior change. (#11269 by @jdx)Fixed
env_shell_expandwas on. That corrupted literals such as bcrypt-style$6$salt$hashand could pull in matching process-environment values. Opt back into expansion withexpand = true. (#11269 by @jdx)pipis now usable on fresh Windows installs. mise synthesizespip.cmd/pip3.cmdwrappers, adds the install'sScriptsdirectory to PATH so pip-installed console scripts resolve, and fixes default-package installation on Windows. (#11278 by @JamBalaya56562).exerelease assets are now preferred on Windows, so tools that ship both an extensionless and.exebinary no longer install the non-runnable one and fail with "cannot find binary path". (#11257 by @gologames)github_tokens.toml, OAuth, env var, etc.) and includes GitHub's response and a remediation hint, instead of a bare401 Unauthorized. (#11236 by @Marukome0743)gdscript-formatter-macos-aarch64) is now renamed to its clean name on PATH, matching the existing behavior for single-file downloads. (#11232 by @Marukome0743)system_commandin lifecycle blocks are supported, and artifact links into root-owned directories like/usr/local/binnow elevate through mise's sudo policy instead of failing with permission errors. Fixes installingdocker-desktop. (#11273 by @jdx)prefix:tool requests now honor the locked version onmise installinstead of silently re-resolving to the newest match. Constrained upgrades viamise upgrade/mise lock --bumpstill work. (#11255 by @JamBalaya56562)v-prefixed URL, fixing 404s where an entry locked to another platform's unprefixed URL. (#11267 by @jdx)ubuntu24.04,fedora39,ubi9, ...) so checksums are no longer verified across mismatched distro tarballs, andmise lockwrites meaningful entries and re-locks correctly after changingswift.platform. (#11299 by @jdx)runcommand,sources, oroutputsnow invalidates its cached state, so tasks are no longer incorrectly skipped after such edits. (#11288 by @rabadin)Number.MAX_SAFE_INTEGER) now sort correctly, fixing cases where a0.0.*build could be picked over a newer stable release. (#11280 by @jdx)allow_buildsis now serialized as a map. (#11262 by @jdx)mise --versionin those cases. (#11285 by @jdx)std::env::vars()call sites now usevars_safe(). (#11309 by @JamBalaya56562)Changed
min_usage_versionbumped), so shell completions and doc rendering now depend on it. (#11306 by @jdx)Security
MISE_*environment variables still apply. Reported by @arpitjain099. (#11293 by @jdx)Performance
Documentation
bin_path/asset_patterntemplate variable docs. (#11298 by @jdx)llms.txtindex for AI agents. (#11300 by @jdx)Registry
checkstyle(#11287 by @zeitlinger),grok(#11291), andtak(#11307) by @jdx.New Contributors
Full Changelog: jdx/mise@v2026.7.13...v2026.7.14
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.7.13: : Multi-binary renaming, cask completions, and go.mod supportCompare Source
This release expands archive backends to rename multiple binaries from a single release, adds Homebrew cask shell completions and
go.modversion-file support, and fixes a broad batch of task, install, lockfile, and language-plugin correctness issues.Added
backend:
rename_exenow accepts a table mapping source patterns to target names, so an archive that ships several executables can expose all of them cleanly on PATH instead of only one. The existing string form is unchanged. (#11231 by @jdx)brew: brew-cask now installs shell completions (declared
bash_completion/fish_completion/zsh_completionfiles andgenerate_completions_from_executablefor bash, zsh, fish, and pwsh) instead of skipping them, tracking them in cask receipts and installed-state checks. (#11198 by @jdx)go:
go.modcan now be used as an idiomatic version file. Atoolchain goX.Y.Zdirective resolves as an exact pin, while ago X.Yminimum resolves to the latest matching patch. It is opt-in and unchanged unless enabled per-tool. (#11213 by @JamBalaya56562)task: PowerShell task shells (
pwsh/powershell) now run with-NoProfileby default, matching how mise spawns POSIX shells, so a profile that mutatesPATH(such as a mise activation snippet) can no longer shadow a task's own tools and cause confusing "cannot find binary path" errors. Opt out with the newwindows_powershell_no_profilesetting (MISE_WINDOWS_POWERSHELL_NO_PROFILE=false). (#11199 by @jdx)Fixed
_.path/_.file/_.sourcedirectives within a single[env]._block are now resolved in written order, so a_.pathcan reference a variable exported by a_.sourcewritten before it. (#11163 by @JamBalaya56562)github:tool to a newer version that is already installed on disk no longer triggers a false supply-chain "provenance regression" error. (#11230 by @jdx)trust_policy_excludesornpm.shell_out) for trust-downgrade errors. (#11226 by @jdx)conf.d, and monorepo configs, so lower-precedence metadata no longer leaks into script tasks and the winning config's context is preserved. (#11103 by @risu729)sourcespatterns used in nested subproject tasks, so edits inside a subproject trigger a rerun. (#11202 by @rabadin)preflight_steps/postflight_stepsfor move/remove operations, and cleanup-onlyzappkgutilIDs are no longer treated as install receipts (which could leave pkg cask status permanently missing). (#11197 by @jdx)python3executable is now provided on Windows. (#11212 by @jdx)ruby.precompiled_url = "owner/repo"sources now fetch release metadata directly from GitHub instead of the restricted versions host, avoiding 403 warnings. (#11154 by @risu729)ruby "3.4.10") are now parsed correctly. (#11229 by @capnregex)./-prefixed relative[bootstrap.repos]paths no longer display with a leading./component. (#11214 by @lilienblum)native-tls. (#10834 by @bltavares)Deprecated
virtualenvtool option is deprecated in favor of the_.python.venvenv directive. It now emits a warning and is scheduled for removal around2027.7.0. (#11234 by @JamBalaya56562)Documentation
uv_venv_autorequires auv.lockfile. (#11223 by @jdx)New Contributors
Full Changelog: jdx/mise@v2026.7.12...v2026.7.13
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.7.12: : Safe mode, node-free npm, and a built-in OCI push clientCompare Source
This release centers on running mise safely against untrusted config, shipping node-free
npm:version resolution and installs, and replacing external tools (skopeo/crane, gpg) with built-in, dependency-free implementations. Along the way it fixes aprefer_offlinetimeout regression, several config/env correctness issues, and platform-specific problems on Windows and macOS.Highlights
MISE_SAFE=1mode turns mise into an inert config reader so automation (CI, Renovate) can runmise lock --bumpagainst untrusted branches without trust prompts or arbitrary code execution.npm:backend no longer needs node or npm installed to resolve or install packages — version metadata is fetched over HTTP and installs run in-process via the embedded aube package manager.mise oci pushgained a full built-in registry client: no more skopeo/crane, with blob dedup, chunked uploads, retries, cross-repo mounts, layer reuse from prior images, and multi-arch image indexes.Added
Safe mode: a new global-only
safesetting (MISE_SAFE=1) makes mise refuse or ignore anything that would let project config execute code or inject environment. Blocked (with errors): templateexec()/read_file(),_.source, hooks, tasks, asdf plugin scripts, and plugin installs. Ignored: project[env],_.path,_.file,[shell_alias], and[settings]. HTTP-based version resolution, lockfile refresh/bump, and already-installed/embedded plugins keep working. Because a config loaded this way is inert, safe mode also skips the trust requirement. (#11146, #11151 by @jdx)MISE_SAFE=1 mise lock --bump --dry-run --json # detect updates with zero code execution, no trust neededmise lock --bump: advance fuzzy lockfile selectors (latest,lts, prefixes like"20") to the newest matching remote versions without installing anything and without touchingmise.toml. Exact pins stay put. Pairs with--jsonand--dry-runfor a CI job that opens lockfile-only PRs. (#11145 by @jdx)Node-free
npm:backend:mise ls-remote npm:*andlatestresolution now query the npm registry directly over HTTP, and installs run in-process through the embedded aube package manager. node is only needed to run installed tools (and their lifecycle scripts), not to install them. User~/.npmrc, scoped registries, auth, andminimum_release_ageare honored. A newnpm.shell_outsetting (MISE_NPM_SHELL_OUT) routes both metadata and installs through the npm CLI for setups relying on npm-only config likecafileor client certs. (#11147, #11149 by @jdx)Built-in OCI registry client:
mise oci pushno longer requires skopeo or crane. It uses an in-tree OCI Distribution client that uploads only blobs the registry is missing, resolves credentials the way docker/podman do (docker login/podman loginis all the setup needed), and answers registry auth challenges so private base-image pulls via--fromalso work.mise oci run --engine dockernow streams the image intodocker loadinstead of needing skopeo. The--toolflag was removed. (#11132 by @jdx)OCI push robustness: large layers upload in 64 MiB chunks, transient failures retry with mise's standard backoff, base layers are mounted cross-repo (
?mount=) when they already live on the destination registry (zero bytes transferred), and pushes/pulls now show byte progress. A newoci.insecure_registriessetting opts non-loopback registries into plain HTTP. (#11141 by @jdx)OCI layer reuse:
mise oci pushreuses unchanged tool layers from the previously pushed image (or--cache-from REF), skipping the tar/gzip build entirely — reused tools don't even need to be installed locally.--no-cacheforces a full rebuild. (#11142 by @jdx)Multi-arch OCI images:
mise oci push --update-indexpoints a tag at an OCI image index and upserts the current platform while preserving entries pushed by other architectures, so one runner per arch can assemble a multi-arch tag. (#11144 by @jdx)Built-in signature verification: Node.js and Swift download signatures are now verified in-process with the pure-Rust rPGP crate against the bundled keyrings, dropping the external
gpgbinary dependency. Note: previously, ifgpgwas missing and the setting was unset, verification was silently skipped; now verification always runs when enabled — opt out withgpg_verify = false. (#11148 by @jdx)Relative bootstrap repo paths:
[bootstrap.repos]destination keys can now be relative paths, resolved against the declaring project's root (with guards preventing escape outside the project tree), making a project'smise.tomlportable across machines. (#11155 by @lilienblum)Fixed
mise lock,ls-remote,outdated, andupgradeno longer get capped to a single 3s no-retry attempt whenprefer_offlineis set — they honor the configuredfetch_remote_versions_timeoutand retry budget again, fixing spurious timeouts. Interactive fast paths keep their bounded behavior. (#11190 by @jdx)mise lockno longer prunes OS-restricted tool entries (e.g.os = ["macos"]) when run on a platform that doesn't target them, keeping shared lockfiles stable across platforms. (#11175 by @jdx)_.fileenv files now resolve references to variables defined in earlier files or[env]blocks instead of collapsing to empty, fixing flaky dotenv behavior. (#11158 by @Marukome0743)[env] _.sourcenow works on Windows by resolving a real POSIX bash (Git Bash / MSYS2, honoringMISE_BASH_PATH) instead of the WSL launcher or a missingbash.exe, and correctly filters MSYS runtime noise and converts prepended PATH entries back to Windows form. (#11097 by @JamBalaya56562)trusted_config_paths(MISE_TRUSTED_CONFIG_PATHS) now overrides configs previously added to the ignore list, so a settings-trusted config is actually discovered and loaded. (#11152 by @JamBalaya56562)env/varsarray parsing is now consistent — accidental array forms forvarsand taskenv/varsare rejected with clear errors, while the intentional[[env]]and directive-level arrays (_.source,_.file,_.path) remain supported. (#11060 by @risu729)mise config setno longer panics when descending into a non-table value. (#11153 by @Marukome0743)... is not trusted, run 'mise trust' to enable it) instead of the full error chain. Explicit commands still show the full trust error and prompt. (#11159 by @lilienblum)mise activate zshno longer hangs non-interactive login shells under Rosetta — a v2026.7.11 regression where env-state snapshotting autoloaded thezsh/parametermodule viadlopen. (#11188 by @jdx)yaak) and correct resolution of preflight-generated wrapper scripts on the extract stage (fixingvlc). (#11164 by @donbeave)/usr/localon arm64. (#11174 by @jdx)cmd.exeon Windows, fixing commands such as the Yarn 2+ install flow. (#11166 by @finalchild)linux-muslassets are now considered a fallback for Android/Termux when a package publishes no Android-specific asset, so tools like starship, bat, and hk can install there. (#10730 by @bltavares)Documentation
Breaking Changes
mise oci push --toolhas been removed. Usemise oci build -o ./imgfollowed byskopeo copyif you need the old escape hatch. (#11132)gpgis no longer required). If you relied on a missinggpgbinary to skip verification, setgpg_verify = falseexplicitly. (#11148)npm.use_npm_viewsetting is replaced bynpm.shell_out(MISE_NPM_SHELL_OUT). (#11149)New Contributors
Full Changelog: jdx/mise@v2026.7.11...v2026.7.12
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.7.11: : Task Source Tracking and Activation SpeedupsCompare Source
This release sharpens task handling around remote files, global config, and tool selectors, trims redundant work from shell activation, and fixes several bootstrap and platform-specific edge cases.
Added
config: structured tool definitions now accept
version,path,prefix, andrefselectors consistently in root[tools], inline task definitions, task templates, and file-task headers. Exactly one selector is required, and conflicting, missing, or non-string selectors now fail with a clear configuration error instead of silently defaulting or panicking. (#11069 by @risu729)Fixed
#MISEheaders parsed, so metadata liketools,description, andhideand inline TOML overrides are honored just like local file tasks. Git-backed task files are also made executable after cloning and on cache hits. (#11111 by @Marukome0743)mise tasks --global, stay out of--local, and use the invoking project root. (#11106 by @risu729)mise tasks info, extended listings, task help, and the MCP tasks resource now report every configuration source contributing to a task, with a newconfig_sourcesarray in JSON output. Changing metadata in a TOML overlay now correctly invalidates the merged file task's cache. (#11098 by @risu729)mise --env <profile> watchnow propagates the selected environment to the watched task, so profile-specific tasks resolve correctly on each rerun. (#11114 by @Marukome0743)0755rather than0711), fixing "Could not open input file" errors for interpreters run by non-owner users. (#11135 by @jdx)mise latest java@<vendor>now prefers the base vendor variant over dashed specializations and sorts multi-feature vendor prefixes correctly. (#11109 by @roele)unit = "dotfiles-maintain"), which resolves todev.mise.<name>.service. Fully qualified names likenginx.serviceare still written verbatim. (#11128 by @jdx)auto_updatesare now accepted instead of failing with an unsupported-lifecycle error. (#11107 by @casparbreloh)defaultshandling now treats a missing key or domain as unset rather than erroring during initial setup. (#11118 by @roele)mise uninstallnow removes dangling runtime version pointer files (like16orlatest) and cleans up the now-empty tool directory. (#11095 by @JamBalaya56562)Performance
miseprocess on shell startup. (#11130, #11131, #11134 by @jdx)hdiutil/pkgutilwaits now run viablock_in_place, so parallel installs no longer starve download progress and other tasks of runtime threads. (#11136 by @jdx)Registry
@nubjs/nubpostinstall lifecycle script to run via the npm backend so upgrades keep the~/.nub/shimshardlinks refreshed; default-deny behavior is preserved for all other packages. (#11126 by @risu729)Documentation
Also in this release: v2026.7.8–v2026.7.10
Due to a release pipeline issue, versions 2026.7.8 through 2026.7.10 were tagged but never published. This is the first release since v2026.7.7, so it also ships everything below.
Added
[bootstrap.plugins]config andmise bootstrap plugins apply|statuscommands. Declared plugins install before built-in packages, then plugin-managed packages apply once host tools are available. (#11023, #11024 by @jdx)mise bootstrap repos updateandmise bootstrap repos execcommands. Unpinned[bootstrap.repos]entries are intentionally never pulled by declarative apply;repos updategives an explicit fetch + fast-forward path (with dry-run and path filtering), andrepos execruns a command across configured checkouts.mise bootstrap --updatenow also updates repos. (#11022 by @jdx)registry_floating, mise fetches the latest released registry metadata (and the current aqua registry) instead of the release-pinned copies. Useful on distributions whose mise package lags behind releases while registry entries keep changing. (#10971 by @jdx)mise install tool@x.y.z, andmise x tool@x.y.z. (#11013 by @Turbo87, #11070 by @jdx)Fixed
prefer_offline. Shims, shell activation, andmise xmake one bounded attempt instead of grinding through full retry schedules per endpoint. (#11066 by @jdx)envdirective value aliases (#11062),env.misedirectives (#11053), and the experimental monorepo root key (#11052) are deprecated, and non-stringpostinstallhooks are rejected at parse time (#11061) (all by @risu729)Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.