Update dependency jdx/mise to v2026.9.1 - #98
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
2 times, most recently
from
September 1, 2026 18:37
c52b4cc to
e37b332
Compare
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
from
September 2, 2026 22:05
e37b332 to
4780395
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:
v2026.8.14→v2026.9.1Release Notes
jdx/mise (jdx/mise)
v2026.9.1: : Bootstrap firewall limiting, scoped locked mode, and lazy tools in tasksCompare Source
This release expands bootstrap system setup with firewall rate limiting and more systemd directives, adds a scoped locked mode for mixing distribution and user tool policies, and fixes lazy tools so they install when invoked from tasks and
mise x.Added
bootstrap: New
action = "limit"for incoming TCP firewall rules rate-limits connections per source. It maps to UFW's native limiting and bounded per-source IPv4/IPv6 nftables meters; firewalld fails closed since it cannot express safe per-source limiting. Limit rules are treated as preserving SSH access by the lockout guard. (#12669 by @jdx)bootstrap: Bootstrap systemd units now support
requires(Requires=), repeatableenvironment_file(EnvironmentFile=),nice, andumask, with validation for nice ranges (-20 to 19) and octal umasks. Note thatrequiresdoes not imply ordering; useafterfor that. (#12683 by @jdx)config: New global-only
locked_scopessetting (alsoMISE_LOCKED_SCOPES) lets you scope locked mode to specific config sources, so a distribution can ship rolling or lazy tools through/etc/mise/config.tomlwithout forcing users to maintain a system lockfile. Defaults to all three scopes to preserve existing behavior. (#12667 by @jdx)Fixed
lazy = true) now install when their command is invoked from amise runtask ormise x, matching the behavior of an activated shell. mise inserts the shim farms after real tool paths for lazy toolsets and reconciles missing bootstrap shims for hand-edited declarations, so tasks no longer fail withcommand: not found. (#12687 by @jdx)falsevalues and unset directives) are now consistently unset acrossmise exec, tasks,mise env, hook-env, deps, and tool stubs, so inherited or secret variables are no longer leaked back into child processes. (#12664 by @jdx)mise reshimcan now safely target shared executable directories like~/.local/binor/usr/local/bin. It identifies mise-owned shims and only replaces or prunes those, leaving unmanaged files and symlinks in place, and--forcerebuilds mise-owned shims rather than wiping the whole directory. (#12675 by @jdx)codexthat exec helpers or read manifests from their own tree continue working after temporary install files are cleaned up. (#12686 by @azohra)--no-configcommands. (#12676 by @jdx)mise install --dry-runfor an s3 tool that only declares a URL for another platform now reports the missing platform and available options instead of falsely claiming it would install. (#12641 by @hktitof)Changed
binsdeclarations from hundreds of registry entries. Explicitbinsare kept only where mise intentionally exposes a different command set, andmise registry --jsonexposes the inferred names. (#12668 by @jdx)New Contributors
Full Changelog: jdx/mise@v2026.9.0...v2026.9.1
💚 Sponsor mise
mise is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If mise saves you or your team time, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep mise fast, free, and independent.
v2026.9.0: : Lazy Tool ShimsCompare Source
This release introduces lazy tool shims, which install a tool automatically the first time one of its commands is invoked, plus an opt-in Erlang precompiled OS override and a fix for nested
misecalls during postinstall hooks.Added
tools: Declare a tool as lazy in
[tools]withlazy = trueand mise generates bootstrap shims into its normal user/system shim farms. The provider is installed only when one of its commands is first called, then executes immediately; subsequent calls run the real binary without another mise dispatch. Registry tools derive their command names from registrybins, while explicit or non-registry backends declare them withlazy_bins. A baremise installskips lazy declarations; usemise install --include-lazyto provision them all. New global path settings (shims_dir/MISE_SHIMS_DIR,system_installs_dir/MISE_SYSTEM_INSTALLS_DIR,system_shims_dir/MISE_SYSTEM_SHIMS_DIR) andmise reshim --systemsupport system-scoped and collocated layouts. (#12594 by @jdx)erlang: New
erlang.precompiled_ossetting (andMISE_ERLANG_PRECOMPILED_OS) opts into a specific Bob Ubuntu build target—including Ubuntu 26.04—on compatible glibc distributions. Automatic target detection is unchanged, and lockfiles now preserve the selected OS for reproducible builds. Note the portability constraints around shared-library SONAMEs documented with the setting. (#12637 by @jdx)Fixed
miseinvocations (such asmise whichormise ls) resolve that version instead of an older discoverable one—or losing the tool entirely when it was declared through a custom config path withmise use --path. (#12635 by @jdx)Registry
engram(#12480 by @AndryOre)gentle-ai(aqua:Gentleman-Programming/gentle-ai) (#12444 by @AndryOre)New Contributors
Full Changelog: jdx/mise@v2026.8.16...v2026.9.0
💚 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.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.
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.