chore(github-release): update release jdx/mise to v2026.8.2 [automerge] - #325
Open
renovate[bot] wants to merge 1 commit into
Open
chore(github-release): update release jdx/mise to v2026.8.2 [automerge]#325renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
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.8.0→2026.8.2v2026.8.10(+7)Release Notes
jdx/mise (jdx/mise)
v2026.8.2: : Declarative System BootstrapCompare Source
This release turns
mise bootstrapinto a full declarative host-provisioning system: alongside packages, mise can now converge privileged files, Linux users and groups, systemd services, Docker Compose projects, and firewall rules — all with plan/apply/status workflows, secret handling, and the ability to run over SSH against remote hosts. It also makes Ruby'sruby.compile=falsea strict precompiled-only mode and lands a batch of install and lockfile fixes.Highlights
mise bootstrapgains a Terraform-style declarative model. A newmise bootstrap planpreviews changes with table or JSON output and detailed exit codes, and each resource type has its ownapply/statuscommands that converge only when something actually differs.mise bootstrap remote, including automatic detection of the target's OS/arch/libc and signature-verified download of the matching mise binary.Added
mise bootstrap planpreviews what bootstrap would change before applying, with table or--jsonoutput and optional--detailed-exitcode(0 = no changes, 2 = changes, 1 = error). Resources have stable identities, dependency graphs, and validation for duplicates, missing dependencies, and cycles. (#11669 by @jdx)[bootstrap.files]and[bootstrap.directories], with content (inline or from a source), ownership, mode, and explicitpresent/absentstate. Writes are atomic, removal is opt-in (and requiresrecursive = truefor non-empty directories), and privileged work runs through hidden helpers that never expose file content in argv or logs. (#11674 by @jdx)[bootstrap.secrets]references sensitive values through environment variables so nothing is stored in config, and managed files withtemplate = truecan render them via{{ secret(name="...") }}.mise bootstrap secrets statusreports availability without revealing values, and--prompt-secretsprompts securely for anything missing. (#11680 by @jdx)[bootstrap.users]and[bootstrap.groups], with create/update/remove, supplementary groups, home handling, and explicitstate = "absent". Accounts converge before the files that reference them, and UID/GID collisions fail closed. (#11681 by @jdx)[bootstrap.services]for running/stopped, enabled/disabled, and masked state. Managed files and directories can setnotifyto triggerreload,restart, orreload_or_restarthandlers, but only after a real file change. (#11688 by @jdx)[bootstrap.compose]for running, stopped, and absent states, with pull/build/recreate/wait policies, one-shot services, orphan/volume/image removal, and explicit dependencies. Convergence compares live container runtime and health to the rendered Compose model (Compose v2 only). (#11689 by @jdx)[bootstrap.linux.firewall]with nftables, firewalld, and UFW backends (backend = "auto"). Includes SSH-lockout protection (default-deny requires a covering allow rule orallow_lockout = true), drift detection, and preservation of undeclared rules unlessexclusiveis set. (#11694 by @jdx)mise bootstrap remote, targeting a named[bootstrap.remote.hosts]inventory or ad-hocuser@hosttargets. mise archives and stages your project, provisions a compatible mise binary on the host, runs bootstrap with forwarded flags, and cleans up staging afterward. (#11690 by @jdx)mise_bin,remote_mise, orbootstrap_command. (#11693 by @jdx)Changed
ruby.compile = falseis now a strict precompiled-only mode, matchingpython.compile. Installs error withno precompiled ruby foundinstead of silently falling back to ruby-build, and version listings (mise ls-remote ruby, fuzzy resolution) are filtered to versions that actually have a precompiled binary for your platform. Previouslyfalsewas a no-op after precompiled binaries became the default in 2026.8.0. Unset andcompile = trueare unchanged; Windows is unaffected. (#11710 by @jdx)task.auto_infer(e.g.task.auto_infer = ["node"]) instead of running whenever experimental features are enabled. Explicit mise tasks always take precedence over inferred package scripts on name and alias collisions. (#11706 by @jdx)Fixed
:any_skip_relocationbottles no longer leave unresolved@@HOMEBREW_*@@placeholders in scripts and config files. That tag now only skips binary linkage relocation while text placeholders are still replaced. (#11665 by @jdx)mise lock --bumpnow errors instead of writing an incomplete lockfile when a version bump would drop platform coverage that the previous locked version had. Best-effort skips are retained for platforms a tool never supported. (#11664 by @jdx)upload_time_iso_8601timestamp instead of the timezone-naiveupload_time, which previously made freshly released packages appear up to ~24h younger and over-gated them underminimum_release_age. (#11662 by @Guria)pacman -Qis now parsed underLC_ALL=Cso missing-package detection works in non-English locales; previously[bootstrap.packages]could bail on a translated "was not found" message. (#11673 by @rarandeyo)incompletemarkers when an external link (from uv, nvm, pyenv, nodenv, or Homebrew) is confirmed healthy, somise whereno longer treats a working external version as incomplete after an interrupted install. (#11172 by @risu729)--no longer hijacks task argument completion after usage v5.mise run <task> -- <TAB>again offers the task's declared choices instead of falling back to filenames, while still forwarding extra arguments. (#11711 by @jdx)binsmetadata to pick the correct provider before falling back to incidental executables, fixing cases where invoking thenpmshim could run Node's bundled npm instead of the configured npm version. (#11666, #11671, #11676, #11677, #11678 by @jdx)New Contributors
Full Changelog: jdx/mise@v2026.8.1...v2026.8.2
💚 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.1: : Task Cache Goes Remote, Affected Tasks, and Config ErgonomicsCompare Source
This release rounds out mise's experimental task artifact cache with size/age limits, inspection tooling, and a full local-plus-remote cache backend (including authenticated CI caching), adds experimental
mise run --affectedfor monorepos, and lands a batch of config, upgrade, and install fixes.Highlights
mise run --affectedruns only the tasks in monorepo projects touched by your Git changes, using workspace dependency graphs, global task inputs, and provider lockfile attribution to decide what is affected.--fileand--pathare interchangeable across the commands that write config, so you no longer have to remember which name each subcommand expects.Added
task: experimental
mise run --affectedselects and runs only the tasks in projects affected by Git changes, combining the workspace dependency graph,global_inputs, and provider lockfile diffs. Base and head revisions can be overridden with--affected-base/--affected-headorMISE_AFFECTED_*. Includes JSON output and an--explainbreakdown of why each task was selected. (#11590, #11587, #11589, #11591, #11593 by @jdx)task: remote task cache. A composite store layers local and remote backends, reading local first and promoting remote hits, then committing locally before mirroring writes so a remote failure never loses a local hit. Requests are hardened, verified, streamed, and support read/write access modes. (#11622, #11623, #11624, #11626, #11627 by @jdx)
task: authenticated remote cache. Credentials resolve in fixed precedence: an explicit bearer token, a global-only token file (
MISE_TASK_CACHE_REMOTE_TOKEN_FILE), then GitHub Actions OIDC whenMISE_TASK_CACHE_REMOTE_OIDC_AUDIENCEis set. HTTPS is enforced except for loopback development endpoints. (#11625, #11653 by @jdx)task:
task.cache_max_sizeandtask.cache_max_agesettings cap the task output cache independently of the global prune age, evicting least-recently-accessed entries after writes and rejecting expired entries on restore. (#11610 by @jdx)task: inspect and selectively clear the cache with
mise cache task <task>(table or--json, reporting stored size, restorable bytes, saved time, last access, and outputs) andmise cache clear --task <task>, which removes only that task's entries without touching your working-tree outputs. (#11604 by @jdx)task:
mise run --task-cache-explain <task>prints a structural breakdown of what feeds a task's cache key (input categories, counts, env/var names and presence, platform) without emitting secret-derived hashes, and works under--dry-run. Companion changes report cache miss reasons, cache statistics, resolved cache paths, and add JSON explanation output. (#11595, #11597, #11599, #11600, #11601 by @jdx)task: cache artifacts are now checksum-verified and cache declarations are audited on load. (#11605, #11617 by @jdx)
config:
--fileand--pathare now interchangeable across the commands that write config:mise use,mise set,mise unuse,mise unset,mise config get, andmise config set. (#11577, #11616, #11631, #11640 by @JamBalaya56562)mise use --file mise.local.toml node@22 mise set --path mise.local.toml FOO=barupgrade:
mise upgrade --no-prunekeeps the version being replaced instead of uninstalling it, so external references such as virtualenvs built from a mise-managed Python keep working. Also works with--bump. (#11639 by @JamBalaya56562)env: on Windows, mise now warns when the generated PATH exceeds the ~8191-character length at which
cmd.exesilently drops the variable, which otherwise makes every command appear unrecognized. (#11643 by @JamBalaya56562)vfox: Lua plugins gain
strip_components = 1onarchiver.decompressplus sortedfile.list,file.glob, andfile.move, letting plugins flatten versioned archive roots and rename executables portably without shelling out. (#11652 by @jdx)Fixed
{{ exec(...) | split(pat=': ') | last }}and selectors resolved from templates no longer fail config loading. (#11580 by @JamBalaya56562)--path <dir>is given, and no longer write the global config into aconf.ddrop-in. (#11571, #11609, #11633 by @JamBalaya56562)mise upgrade --bumpnow applies every eligible tool bump in the same config file instead of letting the last save overwrite earlier ones, and preserves successful bumps when another tool in the file fails to install. (#11572 by @Marukome0743)latestpointing at the removed version; mise rebuilds valid symlinks (or removes dangling ones) after cleanup. (#11579 by @Marukome0743)watchman-diagzipapp) now relocate correctly with long Linuxbrew prefixes. (#11632 by @Marukome0743)Documentation
node.mirror_urlexample. (#11615, #11637 by @jdx; #11642 by @JamBalaya56562; #11377, #11460 by @Bartok9)Full Changelog: jdx/mise@v2026.8.0...v2026.8.1
💚 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: (in timezone Europe/Amsterdam)
🚦 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 this update again.
This PR was generated by Mend Renovate. View the repository job log.