chore(deps): update dependency jdx/mise to v2026 - #220
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
6 times, most recently
from
July 30, 2026 03:03
b069281 to
4210d96
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
4 times, most recently
from
August 5, 2026 03:26
7255dd3 to
18a73a9
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
3 times, most recently
from
August 12, 2026 20:16
2752ba1 to
661a5bf
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
4 times, most recently
from
August 20, 2026 23:10
6445a85 to
c5325ef
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
4 times, most recently
from
August 26, 2026 03:48
9dd559c to
fac6f2e
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
from
August 31, 2026 03:37
fac6f2e to
fb23014
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
from
August 31, 2026 17:14
fb23014 to
5cb9524
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:
Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.
Release Notes
jdx/mise (jdx/mise)
v2026.8.16Compare Source
v2026.8.15: : Dotfiles diff and capture, scoped config updates, and per-tool postinstall hooksCompare Source
This release expands the dotfiles/bootstrap workflow with previews, bulk capture, git-tracked manifests, and profile reconciliation, adds scoped config collection updates and per-tool postinstall hooks, and rounds it out with a large batch of fixes across tasks, schema validation, Windows, lockfiles, and shims.
Highlights
mise bootstrap dotfiles diff, bulkadd --changed, git-tracked directory manifests, and automatic reconciliation when a profile switches a target's source.mise config setlearns idempotent list updates (--append/--remove) and explicit--global/--systemtargeting, andmise usegains per-tool--postinstallhooks.Added
dotfiles: New
mise bootstrap dotfiles diffpreviews exactly whatapplywould change without writing anything, printing unified content patches for copy, template, and inline entries and structural summaries for symlinks and directories. Optional target filters use the same selection semantics asapply. (#12511 by @jdx)dotfiles:
mise bootstrap dotfiles add --changedcaptures every drifted copy-mode target back into its source in one command, without naming each path. Directory copies, symlinks, templates, and inline content are skipped, and untrusted configs are blocked. (#12512 by @jdx)dotfiles: Directory
copyandsymlink-eachentries can now setmanifest = "git"to manage only paths returned bygit ls-files, so a dotfiles repo thatgitignores everything and force-adds selected paths no longer traverses (or links) ignored home-directory content. Links are removed when a file drops out of the index. (#12523 by @jdx)dotfiles:
symlink-eachapply now reconciles stale links when a profile change (for example togglingMISE_ENVbetween home and work) points a target at a different source. Only links still pointing at the previously recorded source are removed; unmanaged paths and paths desired by another active source are left alone, and dry-run previews the removals. (#12524 by @jdx)bootstrap:
mise bootstrap --from <git-url>clones a setup/dotfiles repo (into$MISE_DATA_DIR/bootstrap-repoby default, or--from-dir), then runs bootstrap from that checkout. Existing checkouts are reused when the origin matches,--updatefast-forwards them, and--dry-runonly prints the plannedgit clone/git pull. (#12525 by @jdx)use:
mise use --postinstall <COMMAND>attaches a per-tool post-install hook that runs only when that tool is installed or reinstalled. Repeat the flag before each tool to give each its own hook. (#12609 by @jdx)mise use --postinstall "mbx setup --defaults" mr-boxingtonconfig:
mise config setgains--appendand--removefor list-like keys (append without duplicates, remove matching entries, promote scalars to arrays as needed) while preserving TOML comments and formatting, plus explicit--global/--systemtargeting forconfig get/set. Tool postinstall hooks now also receiveMISE_CONFIG_FILE,MISE_GLOBAL_CONFIG_FILE,MISE_CONFIG_ROOT, andMISE_PROJECT_ROOT. (#12603 by @jdx)config: Templates can now reference
config_source, the absolute path of the config file the template lives in (not resolved through symlinks). This lets a shared config symlinked intoconf.dadd its own real directory toPATH, for example{{ config_source | canonicalize | dirname }}/bin. Available inmise.toml,.tool-versions,[env]directives, and[settings.age]. (#12454 by @Marukome0743)task:
task_source_files(only_changed=true)returns only the sources written since the task last succeeded, so linters and formatters can run against just what changed. A failed run keeps its files outstanding until the task passes. (#12470 by @Marukome0743)outdated:
mise outdated --jsonnow includes arelease_urlfield pointing at the release page for the offered version (from the versions host, aqua, GitHub/GitLab, or the rust core plugin). The key is omitted rather than null when no page is available. (#12494 by @Marukome0743)Changed
mise upgradeno longer deletes the replaced install immediately. Whenupgrade.auto_pruneis on, the old version stays on disk and is scheduled for removal afterupgrade.prune_after(default 24h), cleaned up opportunistically on later runs.--prunestill removes immediately and--no-prunekeeps the old tree with no scheduled cleanup.mise lssurfaces deferred removals. (#12593 by @jdx)Fixed
.envfiles written as UTF-16 (the default from Windows PowerShell 5.1's>andOut-File) are now decoded and loaded instead of being silently dropped, and a UTF-16 task file now gets a clear hint to save it as UTF-8. (#12507 by @JamBalaya56562)mise install --dry-runno longer claims it would install a tool that cannot actually be installed on this platform. (#12568 by @JamBalaya56562)mise execnow reports clearly when a requested tool is not available on the current platform. (#12547 by @JamBalaya56562)tool_aliasvalue is now resolved through the registry. (#12506 by @Marukome0743)latest, and links belonging to other backends are ignored. (#12583, #12605 by @Marukome0743, @jdx)taskkilloutput is suppressed on Windows. (#12450, #12466, #12482, #12510, #12563 by @Marukome0743, @jrandolf, @JamBalaya56562, @sortA0329)file-mode shims and Windows launchers, andmise generateexplains when a--mise-binpath has no Windows launcher. Non-executable system fallbacks are skipped. (#12502, #12463, #12496, #12545 by @JamBalaya56562, @jdx)$Error. (#12483 by @JamBalaya56562)Performance
MISE_JOBS), while pouring, source builds, and prefix linking stay in dependency order. (#12604 by @jdx)Registry
New tools: pkgx, onefetch, syncthing, ols, spin-framework, cursor-agent, 7zip, mosh, pastel, broot, exiftool, spotify-player, yt-dlp-nightly, and cliamp. magika and sbt now install from their GitHub releases, and pre-commit uses the pipx backend on Windows. Various dependency and OS-limit cleanups were also applied. (#12272, #12437, #12448, #12484, #12485, #12478, #12486, #12532, #12535, #12533, #12538, #12539, #12542, #12581, #12553, #12567, #12549)
New Contributors
Full Changelog: jdx/mise@v2026.8.14...v2026.8.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.8.14: : npm/aube install fixes and cleaner temp/prune handlingCompare Source
This is a small release focused on bug fixes for npm (aube-backed) installs, HTTP cache cleanup, and Windows config pruning.
Fixed
.npmrcinto the per-tool install directory. Install-scoped settings such asminimumReleaseAge,trustPolicyExclude,allowedUnpopularPackages, and (for CLI installs)globalDir/globalBinDirnow go into.config/aube/config.tomlas typed TOML, whileallowBuildsstays inpackage.json. Inline-tabletrust_policy_excludes/allow_low_downloadsinmise.tomlstill round-trip correctly. (#12425 by @jdx)__node-gyp-bootstraptrampoline that embedded aube's lazynode-gypshim re-execs. Previously naked-run rewriting turned it intomise run __node-gyp-bootstrap …and failed with "no tasks defined", breakingallow_buildsinstalls whose lifecycle scripts callnode-gyp(for example gemini-cli via node-pty). (#12429 by @jdx)http-tarballs. All failure paths now clean up the temp directory. (#12420 by @Marukome0743)mise prune --configson Windows now removes trusted config links whose target no longer exists. Because Windows stores these links as plain files holding the target path, the previous existence check never fired; the link's target is now resolved before deciding whether to prune. (#12418 by @JamBalaya56562)Full Changelog: jdx/mise@v2026.8.13...v2026.8.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.8.13: : Task exclusions, visible conf.d fragments, and a broad round of fixesCompare Source
This release adds a few configuration and task features and delivers a large batch of fixes across completions, tools, lockfiles, tasks, config parsing, and shell integration. It also restores dynamic shell completions that regressed after the recent CLI parser change.
Added
task: New
task_config.excludeslets file-task discovery skip config-root-relative paths, directories, and glob patterns, so accidental TOML files (like apyproject.tomlinside a task directory) or entire subtrees are no longer treated as tasks. The closest config that setsexcludesreplaces inherited values, and an empty list clears the cascade. Relativetask.disable_pathsnow resolve from the declaring config file. (#12366 by @jdx)config: Project configuration can now be split into visible
mise/conf.d/*.tomlfragments, mirroring the existing.mise/conf.dand.config/mise/conf.dsupport but without a hidden dot-directory. Fragments merge alphabetically,mise/config.tomlstill wins over fragments, and environment-specific and.localvariants (for examplemise/conf.d/tools.development.toml) follow the usual env config rules. (#12395 by @jdx)bootstrap: Added
--skip-dirtytomise bootstrap,mise bootstrap repos apply, andmise bootstrap repos updateto warn and skip repos with local changes so the remaining repos still update. Origin mismatches and non-git targets still fail closed as before. (#12364 by @jdx)Fixed
run=completers work again in fish and zsh, while native file/path completion still falls back correctly. (#12376, #12379 by @jdx)VAR=override mise run ...) are no longer wiped when reconstructing the pre-mise environment in an activated shell; mise-managed values are only rolled back when the live value still matches what mise recorded. (#12390 by @jdx)latestrequest failed for a tool installed only withmise install --system; the effective install directory is now recovered so system/shared-only installs satisfylatest. (#12406 by @jdx)extract_nestedly, for example a zip containing only a DMG), and bare cask.pkgdownloads are staged correctly. (#12373, #12371 by @jdx)latestrequests now resolve to the remote default branch HEAD and are treated as a rolling channel, sooutdatedandupgradedetect branch movement. An unavailable configured executable is now rejected instead of failing later. (#12407, #12416 by @jdx)#MISEheader keys that need quoting are no longer dropped, and negative template argument bounds are rejected. Sandbox errors now name which paths do not exist yet. (#12370, #12397, #12415, #12421, #12309)__MISE_SESSIONis now unset on deactivate. (#12361 by @NgoQuocViet2001)Documentation
Registry
mr-boxington,ori,hey-cli,playwright, andghui, and switchedclaude-codeto aqua on Windows. (#12384, #12388, #12387, #12385, #12386, #12399)Full Changelog: jdx/mise@v2026.8.12...v2026.8.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.8.12: : Cleaner diagnostics and a raft of task, config, and tool fixesCompare Source
This release adds package uninstall support to the plugin bootstrap flow and fixes a broad set of task, config, tool, and diagnostic edge cases. Many changes turn silent failures and cryptic errors into actionable messages, so it is largely a robustness and quality-of-life release.
Added
PackageUninstallhook, somise bootstrap packages prune --manager <plugin>is no longer Homebrew-only. mise records ownership only for packages that go from missing to installed during an install, and prune removes only owned packages that are absent from the current config and trusted tracked configs. Pre-existing and manually installed packages are never claimed, dry-run never invokes the hook, and the keep-set is reloaded after confirmation so newly declared packages cannot be removed without another prompt. (#12332 by @jdx)Fixed
Out-File -Encoding utf8) could make.tool-versions,.node-version,package.jsonpackageManager, registry-scraped files likeEarthfile, and.sdkmanrcentries silently vanish or resolve to a corrupt version. Cached idiomatic parses written by an older mise are re-parsed so the fix takes effect on upgrade. (#12325 by @JamBalaya56562)mise edit(and the interactive TUI) now preserves comments — leading, trailing, and section comments are captured on parse and written back on save, instead of being stripped. (#12319 by @Marukome0743)package.jsonthat was tracked while enabled and later disabled no longer triggers a spurious "cannot update idiomatic version file" warning on read-only operations likemise ls --all-sources. The tracking entry is retained so re-enabling the tool reactivates it. (#12194 by @xqm32)cdtarget that cannot be entered (for example viaMISE_CDpointing at a missing directory, or a directory the process cannot chdir into) is now reported with the path and OS reason instead of panicking. (#12314 by @JamBalaya56562)killed by SIGINT/killed by SIGTERMrather than "no exit status". (#12323 by @Marukome0743)--file <file>) now stay string-typed during template rendering, so path filters likedirnamework on them. Switch flags still default to booleans and count flags to integers. (#12355 by @jdx)chmod +xadvice is gone from Windows messages. (#12324 by @JamBalaya56562)env_with_pathrather than rebuilding PATH from a pristine environment, restoring project_.pathdirectories and fixing discovery of sibling stubs. The stub-selected tool version is no longer shadowed by an outer task's install directories. (#12322 by @tmkx)mise watch --clear=reset --restartno longer leaves the terminal without echo after Ctrl-C. The controlling terminal (preferring/dev/tty) is now saved and restored from a drop guard, so it recovers on normal return, errors, and cancellation, including when stdin is redirected or a second terminal is in use. (#12328 by @Marukome0743)go installno longer inherits aGOROOTthat mise exported for a different Go, which causedcompile: version ... does not match go tool version ...failures when anothergowas first on PATH. An explicitly configuredinstall_envGOROOT is still honored. (#12342 by @Marukome0743)mise doctornow flags a tool whose install directory exists but is empty (for example after an interrupted download), marking it(empty)and suggestingmise install --force, instead of silently treating it as installed. (#12321 by @Marukome0743)$VARnow names the key or directive that referenced the missing variable and the config file it lives in, making it possible to find the offending line in a large[env]block. (#12316 by @Marukome0743)oc(OpenShift client) now installs from channel aliases such asoc = "stable"by resolving the unversioned artifact name within the channel directory, fixing a 404. (#12326 by @Marukome0743)Documentation
MISE_TASK_DIRfor locating sibling files, which works consistently across Linux, macOS, and Windows without renaming the task. (#12313 by @JamBalaya56562)New Contributors
Full Changelog: jdx/mise@v2026.8.11...v2026.8.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.8.11: : Automatic updates, remote mise installs, and versioned lockfilesCompare Source
This release adds opt-in automatic self-updates, lets remote bootstrap leave a working mise behind on each target, and introduces versioned lockfiles that bind each request to the version it resolved. It also replaces the CLI parser with usage-rs, hardens remote Git task handling, and fixes a wide range of tool-installation, task, and config edge cases.
Highlights
mise lock --upgradefor safe migration and no surprise drift for existing files.Added
self-update: New opt-in automatic updates. Enable
auto_update(withauto_update_check_duration, default7d) and mise will update itself before eligible interactive commands, then re-exec your original invocation with the new binary. Updates are throttled and lock-serialized, skipped in CI, offline, non-interactive, and shell-integration contexts, and failures never block the requested command. Package-managed builds are steered toward the official optimized binaries. (#12288 by @jdx)bootstrap: Remote bootstrap can now install a persistent mise on each target instead of tearing it down with the staging directory. Set
install_misein[bootstrap.remote](or per host) or pass--install-mise[=/path]; the same checksum-verified executable that ran the bootstrap is installed, so the host converges on the orchestrating mise version. (#12284 by @jdx)lock: Lockfiles now carry
lockfile_version = 1and bind each original request to the entry it resolved, so overlapping requests like"1"and"1.0.0"can lock different versions. Existing unversioned lockfiles stay on format 0 during ordinarymise lock/install/upgradeto avoid drift; runmise lock --upgradeto migrate (transactional, rolls back on failure). (#12299 by @jdx)node: mise can now act as a Corepack replacement, honoring the
+sha...checksum suffixes inpackageManager/devEngines.packageManagerand verifying the exact npm, pnpm, Yarn, or bun artifact before installing. Adds SHA-224/SHA-384 hashing and a Windows script launcher for Yarn's JS CLI. (#12214 by @jdx)prune:
mise prune --dry-runnow explains why each version is prunable, naming either the kept versions and the configs requiring them or the fact that nothing tracked references the tool. (#12304 by @Marukome0743)java: Oracle GraalVM "innovation" feature releases are now recognized. (#12189 by @roele)
Fixed
python/latest) onto the image's Python, so tools no longer dangle at runtime. (#12211 by @jdx)--no-hook-env. (#12218 by @JamBalaya56562)PATHnow folds onto a single key on Windows. (#12312 by @JamBalaya56562)go installwarning paths render correctly, and mise suggests compatible package backends. (#12252, #12251, #12225 by @risu729)conf.dfragments load unconditionally again, and mise no longer prompts for trust when stdin is not a tty. (#12242 by @jdx, #12268 by @Marukome0743)mise lock" hint now points at--globalwhen only global config has tools. (#12260 by @jdx)mise set --filenow refuses a file it cannot read back. (#12207 by @JamBalaya56562)-cshell (#12277 by @JamBalaya56562).Changed
usageCLI, andmise completion --installwrites self-contained scripts. This raises the minimum supported Rust version to 1.95. (#12221 by @jdx)mise generate bootstrapis renamed tomise generate install-scriptto avoid confusion withmise bootstrap. The old spelling still works as a hidden, deprecated alias (removal scheduled for 2027.9.0). (#12247 by @jdx)Security
..traversal, Windows absolute/backslash and drive-qualified forms, and intermediate symlink escapes, and refusing non-regular-file targets. This closes escapes that couldchmod +xand execute attacker-chosen files outside the checkout. (#12254 by @risu729)Deprecated
all_compile = truedefault on Alpine now warns and is scheduled for removal in 2027.8.0; precompiled musl binaries become the default path. Setall_compile = trueexplicitly to keep building from source. (#12287 by @risu729)go.mod(go X.Y) andCMakeLists.txt(cmake_minimum_required) now warn when they resolve a version and stop being read in 2026.11.0.toolchain goX.Y.Zis unaffected. Only affects users who opted these tools intoidiomatic_version_file_enable_tools. (#12259 by @jdx)Documentation
_.sourcebeing bash-only (#12286 by @risu729) and its cacheable source example (#12278 by @Marukome0743), cross-file hook execution order (#12295 by @jdx), that--systemis shared storage rather than a mise-free install (#12253 by @jdx), which backends lockfile strict mode skips (#12306 by @Marukome0743), that task deps ignores run-array refs (#12285 by @risu729), and thatrawserializes execution (#12307 by @Marukome0743).Registry
Performance
Breaking Changes
mise completion's--include-bash-completion-lib/--usageflags are now no-ops. Command behavior, flags, and aliases are otherwise preserved.New Contributors
Full Changelog: jdx/mise@v2026.8.10...v2026.8.11
💚 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.8.10: : Remote bootstrap environments and asset-matching fixesCompare Source
This release lets remote bootstrap pick which config environments run on each target, fixes several tool-installation edge cases (archive naming, Windows ZIP preference, renamed aqua packages, Homebrew cask metadata), and hardens pacman package detection and Windows self-update cleanup.
Added
bootstrap: Remote bootstrap can now select which
mise.<env>.tomllayers load on each SSH target without inheriting the orchestrator's full environment. Set a default with[bootstrap.remote].mise_env, override per host in your inventory, or pass--remote-env(repeatable or comma-separated) on the command line. (#12182 by @jdx)bootstrap: Independent config roots can now contribute
symlink-eachtrees that share the same target directory, as long as their leaf paths are disjoint. Overlapping leaves and file/directory collisions still fail before any changes, reporting both declaring config origins. (#12190 by @jdx)doctor:
mise doctornow detects leftover Windows self-update helper files (__relocated__/__selfdelete__copies in TEMP) and reports their count and total size, noting that a subsequentmise self-updateremoves them. (#12205 by @JamBalaya56562)Fixed
Providesare no longer reported as missing. mise now usespacman -Tto distinguish genuinely missing packages, recovers the provider's version for status, and skips provider-satisfied aliases during targeted upgrades so pacman does not try to replace the provider. (#12183 by @jdx)aqua:backends (including d2, typstyle, gitui, gradle, ktlint, kubeseal, and velero) now point at their renamed, canonical package ids, so they install even in networks whereapi.github.comis unreachable. A regression test prevents this drift from returning. (#12186 by @kkom)azure-clinow installs from the official bundled-Python ZIP release instead of PyPI, fixingazfailing with'python' is not recognizedorNo module named 'azure'. Linux and macOS continue to use the existing pipx install. (#12161 by @JamBalaya56562)"auto_updates": null, treating it as the defaultfalse. This was breaking metadata fetches for the majority of current casks. (#12192 by @jdx)tar.zst>tar.xz> other), which a prior change had accidentally reduced to a tiebreak. ([#12200](https://redirect.github.com/jdx/mise/pull/12200Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 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.