Skip to content

chore(deps): update dependency mise to v2026.5.0#2090

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mise
Open

chore(deps): update dependency mise to v2026.5.0#2090
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mise

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 4, 2026

This PR contains the following updates:

Package Update Change
mise minor v2026.4.23v2026.5.0

Release Notes

jdx/mise (mise)

v2026.5.0: : Conda graduates, smarter prereleases, and Windows POSIX tasks

Compare Source

Added
Fixed
  • (backend) Stamp prerelease metadata via regex for backends that don't expose it upstream (#​9500) by @​jdx.
  • (backend) Treat -nightly, -canary, -experimental, -insider, -edge as prereleases (#​9523) by @​jdx.
  • (backend) Scope PEP 440 prerelease detection to Python backends (#​9558) by @​jdx.
  • (backend) Honor dotnet.package_flags = "prerelease" and --prerelease for dotnet (#​9551) by @​jdx.
  • (backend) Suppress repeated No versions found warnings for backends that support unresolved latest (#​9548) by @​jdx.
  • (install) Don't warn for configured tools when version is passed via CLI (#​9522) by @​jdx.
  • (install) Refresh latest before installing missing tools (#​9545) by @​jdx.
  • (install) Don't cache nonexistent install paths (#​9553) by @​jdx.
  • (lockfile) Don't propagate ad-hoc CLI overrides into the project lockfile (#​9562) by @​jdx.
  • (plugin) Detect plugin types after cloning (#​9540) by @​risu729.
  • (task) Convert PATH to MSYS Unix form when spawning POSIX shells on Windows (#​9547) by @​JamBalaya56562.
  • (cargo) Apply install_env during cargo install (#​9502) by @​c22.
  • (github) Skip attestations on non-default api_url (#​9486) by @​jdx.
  • (github) Retry IP allow list errors without auth (#​9506) by @​risu729.
  • (http) Update versions host tracking endpoint (#​9527) by @​jdx.
  • (release) Pass --no-git-checks to aube publish (#​9483) by @​jdx.
  • (copr) Drop epel-9 chroots since rust >= 1.91 is unavailable (#​9484) by @​jdx.
Changed
Deprecated
  • shorthands_file setting / MISE_SHORTHANDS_FILE is deprecated; warning starts in 2026.6.0, removal planned for 2026.12.0. Use [plugins] instead (#​9534) by @​risu729.
Documentation
💚 Sponsor mise

mise is built by @​jdx under en.dev — an independent studio making developer tooling (mise, aube, and more). Development is funded by sponsors.

If mise saves you or your team time, please consider sponsoring at en.dev. Individual and company sponsorships keep mise fast, free, and independent.

v2026.4.28: : Remote tasks pinned by commit SHA

Compare Source

A small patch release: remote tasks pinned to a commit SHA no longer panic, and the Fedora COPR packaging pipeline picks up Dockerfile fixes again.

Fixed
  • (task) Remote tasks referenced by commit SHA (a git:: source with ?ref=<40-char hex>) no longer crash mise with we map by name only and have no object-id in refspec from gix (#​9473) by @​jdx. gix-refspec parses any 40- or 64-char hex string as an ObjectId refspec, but gix::clone::fetch::util::find_custom_refname only handles name-based matches and expect()s on the result, so passing a bare SHA to prepare_clone.with_ref_name() triggered a hard process panic on every cache miss. Git::clone now detects SHA-shaped refs via a looks_like_sha heuristic, skips both the with_ref_name() and git clone -b paths (neither accepts bare SHAs), drops --depth 1 since shallow clones may not contain the requested object, and checks out the SHA after the clone via the existing CLI-backed update. Named branches and tags continue to use the existing fast paths. Closes #​9472.

  • (copr) The copr-publish workflow no longer pins a stale ghcr.io/jdx/mise:copr image digest, and docker.yml now rebuilds the :copr image whenever packaging/copr/Dockerfile changes on main (#​9451) by @​bestagi. Previously the workflow kept hitting ModuleNotFoundError: No module named 'rich' even after #​9421 switched copr-cli to dnf install, because the hardcoded digest still pointed at the old pip-installed image.

New Contributors

Full Changelog: jdx/mise@v2026.4.27...v2026.4.28

v2026.4.27: : npm install args, smarter watch, and a macOS shim recursion fix

Compare Source

A focused release: more control over how npm-backed tools get installed, smarter mise watch that follows task dependencies, and a fix for a nasty macOS shim recursion that could lock up a shell during mise up --bump.

Added
  • (backend) New npm_args, pnpm_args, bun_args, and aube_args tool options on the npm backend (#​9109) by @​risu729. Each one is forwarded to the matching package manager when it's the active settings.npm.package_manager, mirroring the pipx backend's style. The args are also recorded in the lockfile and at install time:

    [tools]
    "npm:npm" = { version = "latest", aube_args = "--reporter append-only" }
    "npm:tiny" = { version = "latest", pnpm_args = "--loglevel=warn" }
  • (env) External vfox environment plugins now get ctx.config_root in their MiseEnv / MisePath hooks (#​9465) by @​hisaac. This matches what built-in directives like _.file already see, so plugins (e.g. mise-xcode) can resolve user-supplied relative paths against the project root regardless of the shell's cwd. watch_files returned from a plugin are now also absolutized against config_root instead of current_dir().

  • (task) mise watch now follows the task graph and watches the sources of each chosen task's dependencies as well as its own (#​9437) by @​43081j. Pass --skip-deps (or set skip_deps) to restore the previous "task sources only" behavior. Explicit --glob overrides still win.

  • (release) scripts/gen-aqua-changelog.sh now diffs the previous tag's registry.yaml against the current one and emits New Packages / Updated Packages sections in the release PR, instead of dumping the aqua-registry release tags rolled into the release (#​9471) by @​jdx. This restores the pre-#​9043 behavior for the merged-registry world.

Fixed
  • (backend) When _list_remote_versions returned an empty list (invalid module path, throttling, etc.) the empty result was cached as if it were authoritative, poisoning both the on-disk cache file and the in-memory OnceCell for up to an hour (#​9444) by @​c22. The cache is now cleared in both places when the list comes back empty, so the next call re-fetches.

  • (shims) Fixed an infinite shim recursion on macOS reported in #​9462 where mise up --bump against npm packages would loop mise -> npm shim -> mise -> npm shim -> ... and sometimes crash the session (#​9468) by @​jdx. The trigger was a case-mismatched $HOME in PATH (/Users/Olfway/... vs. /Users/olfway/...) — the shims-stripping in Backend::dependency_env compared byte-equal, so on case-insensitive APFS/HFS+ volumes it was a no-op and npm re-resolved to the mise shim. A new file::paths_eq does case-insensitive compares on macOS/Windows and byte-equal on Linux, and is now used everywhere mise asks "is this PATH entry the shims directory?" — including path_env_without_shims, which_no_shims, PathEnv partitioning, cli::exec program resolution, and the doctor's shims_on_path check (which had been silently reporting no for affected users).

  • (task) Under deny_env = true on Linux, every env var was being stripped from the child process — including the PATH / HOME / USER / SHELL / TERM / LANG that filter_env and the docs say should pass through (#​9467) by @​jdx, fixing #​9466. apply_sandbox() was calling Command::env_clear() after the task executor populated explicit envs via .envs(filtered_env), wiping both. The Linux branch now snapshots the explicit envs before clearing and re-applies them; macOS already did this. A new path_test task in e2e/sandbox/test_sandbox_task guards against regressions.

New Contributors

Full Changelog: jdx/mise@v2026.4.26...v2026.4.27

v2026.4.25: : Sharper task tooling and lockfile fixes

Compare Source

A patch release focused on smoothing rough edges in tasks (sandbox path resolution, dependency templates, a new --name-only listing) and fixing a handful of upgrade/ls-remote pitfalls.

Added

  • (task) New --name-only flag on mise tasks ls (and mise tasks) prints one task name per line — no headers, no padding, no description column (#​9435) by @​jdx. It composes with --all, --global/--local, --hidden, --sort/--sort-order, and uses a broken-pipe-tolerant writer so dropping it into fzf Just Works:

    mise run "$(mise tasks ls --name-only --all | fzf)"

    Conflicts with --json, --extended, and --usage.

Fixed

  • (task) Dependency templates can now branch on usage values inside Tera statement tags, not just output expressions, and boolean/array flags are passed through with their real types instead of stringified (#​9424) by @​jdx. So this finally does what it looks like:

    [tasks.lint]
    usage = 'flag "--run-post" default=#false'
    depends_post = ['''
        {%- if usage.run_post -%}
            postlint:**
        {%- else -%}
            noop
        {%- endif -%}
    ''']
    run = 'echo "lint ran"'
  • (task) Tasks that define usage with subcommands but no top-level args/flags now correctly populate usage.cmd for dependency templates, fixing a regression from #​9424 where the early-return path skipped subcommand handling (#​9431) by @​jdx. The fix also de-duplicates make_usage_ctx between the script parser and the dep renderer so they can't drift again.

  • (task) Sandbox allow_read / allow_write paths declared on a task are now resolved against the task's effective working directory rather than the shell's pwd (#​9428) by @​jdx. Previously, dir = "../bar" plus allow_read = ["."] opened up the caller's directory while the task itself ran in bar/ and got blocked. CLI overrides like mise run --allow-read=… still resolve against shell cwd. Closes #​9423.

  • (lockfile) mise upgrade now updates the global lockfile (~/.config/mise/mise.lock) when bumping a fuzzy version such as latest (#​9442) by @​jdx. The grouping pass was excluding global config files entirely, and fuzzy requests could re-resolve through the stale lockfile entry mid-update. Newly installed versions are now overlaid before lockfiles are rewritten, so a global dummy = "latest" upgrading from 1.0.0 to 2.0.0 actually pins 2.0.0.

  • (aqua) When list_releases_including_prereleases returned an empty list (paginated/cached edge case, throttling, or a repo that genuinely has no releases), aqua fell back to list_tags and pulled in every git tag in the repo (#​9443) by @​jdx. For monorepos that tag sub-crates, that meant ripgrep's grep-regex-0.1.1 and friends ended up in the shared mise-versions snapshot, so ripgrep = "latest" resolved to a tag with no matching release asset and 404'd on install. Empty release lists now propagate as empty version lists; packages that legitimately use tags as their version source still opt in via version_source = "github_tag". The remote_versions cache filename is also reverted to remote_versions.msgpack.z to avoid needlessly invalidating existing caches — VersionInfo already deserializes forward-compatibly. (Server-side mise-versions snapshots will need to be regenerated with this fix.)

  • (ls-remote) mise ls-remote --json no longer emits "rolling":false,"prerelease":false on every entry (#​9439) by @​jdx. Dummy output is now [{"version":"1.0.0"},{"version":"1.1.0"},{"version":"2.0.0"}]. Backends that legitimately set either flag (rust nightly/beta/stable, github/aqua pre-releases) still emit the field; cached entries written by older builds continue to deserialize.

  • (docs) The docs site no longer flickers between light/dark themes on initial load (#​9427) by @​vhespanha. VitePress's anti-flicker inline script is now marked data-cfasync="false" so Cloudflare's Rocket Loader stops deferring it. Fixes #​9393.

  • (Dockerfile) copr-cli is now installed via dnf instead of pip, fixing ModuleNotFoundError: No module named 'rich' in the publish-copr workflow (#​9421) by @​bestagi.

New Contributors

Full Changelog: jdx/mise@v2026.4.24...v2026.4.25

v2026.4.24: : Resilient downloads and global pre-release opt-in

Compare Source

A small release that hardens HTTP downloads against flaky networks and adds a global way to surface pre-release versions, plus refreshed intro messaging.

Added
  • (ls-remote) New global prereleases setting (MISE_PRERELEASES=1) and a --prerelease flag for mise ls-remote (#​9415) by @​jdx. Acts as prerelease = true applied to every tool, so GitHub releases flagged prerelease: true show up in ls-remote, latest resolves against the full list, and fuzzy queries like 1.2 can match pre-release tags. Currently honored by the github: and aqua: backends; draft releases are still excluded.

    mise ls-remote github:cli/cli --prerelease
    # or, persistently:
    export MISE_PRERELEASES=1
Fixed
  • (http) HTTP requests now retry transient failures with a jittered backoff schedule (~200ms / 1s / 4s / 15s, then capped at 15s) and the default http_retries is bumped from 0 to 3 (#​9414) by @​jdx. Retries fire on 5xx, 408, 429, and network-layer errors (connect refused, timeout, mid-stream body drops); deterministic 4xx responses like 404 fail fast without retry. Downloads wrap the full request + body so a chunk failure mid-stream restarts from byte 0 instead of failing the install. Each retry logs a warn! immediately so flaky infrastructure surfaces in real time, and the same logic now powers vfox plugin downloads (which honor MISE_HTTP_RETRIES too). Set MISE_HTTP_RETRIES=0 to opt out. The httphttps fallback now only triggers on connection-level errors, not on HTTP status errors.

  • (release) scripts/publish-s3.sh now purges the mise.en.dev Cloudflare zone (alongside jdx.dev and mise.run) after each S3 publish (#​9416) by @​jdx. Because install.sh is uploaded with immutable cache-control, missing the purge could leave one zone serving the previous release's install.sh next to a new release's install.sh.minisig.

Documentation
  • Refreshed the project tagline and intro across the README, docs site, landing page, man page, snapcraft/RPM/DEB/npm packaging metadata, and CLI help text to "Dev tools, env vars, and tasks in one CLI" with a clearer "what is it?" pitch focused on what mise does rather than what it replaces (#​9418) by @​jdx.
  • The docs site's GitHub star count is now prefixed with a ★ glyph for clarity (#​9417) by @​jdx.

Full Changelog: jdx/mise@v2026.4.23...v2026.4.24


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 4am on Monday"
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label May 4, 2026
@renovate renovate Bot enabled auto-merge (squash) May 4, 2026 01:36
@renovate renovate Bot requested a review from fstab as a code owner May 4, 2026 01:37
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label May 4, 2026
@renovate renovate Bot requested review from dhoard, jaydeluca and zeitlinger as code owners May 4, 2026 01:37
@renovate renovate Bot force-pushed the renovate/mise branch from e5ee64f to 3359dba Compare May 4, 2026 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants