fix(github-release): update release jdx/mise ( v2026.4.9 ➔ v2026.4.17 )#28
Merged
renovate[bot] merged 1 commit intomainfrom May 3, 2026
Merged
fix(github-release): update release jdx/mise ( v2026.4.9 ➔ v2026.4.17 )#28renovate[bot] merged 1 commit intomainfrom
renovate[bot] merged 1 commit intomainfrom
Conversation
32df168 to
79348f3
Compare
79348f3 to
9314f01
Compare
9314f01 to
aedc2e5
Compare
aedc2e5 to
afd5e95
Compare
afd5e95 to
d52c15e
Compare
1366477 to
f31a76c
Compare
75f854b to
a8ef700
Compare
e1f29ad to
f0a4229
Compare
340c7c8 to
aaf4e07
Compare
aaf4e07 to
c4af7f9
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.4.9→2026.4.17v2026.4.28(+9)Release Notes
jdx/mise (jdx/mise)
v2026.4.17: : install_before fixes, lockfile repair, and new registry toolsCompare Source
A fix-heavy release that addresses several
install_beforeedge cases across npm, pipx, and backend latest lookups, repairs lockfile generation for aqua tools with custom version prefixes, and adds six new tools to the registry.Highlights
install_beforenow works consistently across backends -- The date-based version cutoff is now respected in direct latest lookups, npm no longer drifts by a day due to double timestamp sampling, and pipx/uv installs forward the cutoff via--exclude-newer/--uploaded-prior-to.mise locknow correctly propagatesversion_prefix(e.g.jq-) to GitHub release lookups, fixing empty platform URLs that broke--lockedmode.mise b--env_file,dotenv,env_path, and themise bshorthand now emit deprecation warnings with removal scheduled for 2027.4.0.Fixed
install_beforerespected in backend latest lookups -- Direct calls likemise latest npm:prettiernow apply the effectiveinstall_beforecutoff, not just install/upgrade flows. #9193 by @risu729tool@latestroutes through stable lookup -- An explicit@latestsuffix now follows the same backend-specific fast path as an unqualified tool name, so both forms return the same version. #9228 by @risu729npm
install_beforeday drift -- Fixed an off-by-one whereinstall_before = "3d"could compute--min-release-age=4due to a secondTimestamp::now()call drifting past the day boundary. A stable per-process timestamp and a 60-second tolerance window eliminate the issue. #9157 by @risu729install_beforeforwarded to pipx and uv installs --pipx:tools now pass--exclude-newerto uv and--uploaded-prior-to(via--pip-args) to pipx, so Python package installs respect the date cutoff. #9190 by @risu729Warning for old bun/pnpm with
install_before-- Wheninstall_beforeis active and the detected bun or pnpm version is below the minimum that supports release-age flags, mise now warns instead of silently ignoring the cutoff. #9232 by @risu729Lockfile version prefix propagation --
mise locknow usesversion_prefixwhen looking up GitHub releases for aqua tools, fixing empty platform URLs that caused--lockedinstalls to fail. #9242 by @effatishfmt available on Windows -- The
shfmtregistry entry no longer restricts to Linux/macOS, somise use shfmtworks on Windows via the aqua backend. #9191 by @zeitlingerGitLab expired OAuth2 token warning -- When mise reads a GitLab token from glab's config and the OAuth2 expiry has passed, it now warns the user to refresh (e.g.
glab api user) instead of failing silently. #9195 by @stanhuGitHub auth skipped on release asset downloads -- Token lookup is now skipped for GitHub release asset CDN hosts (
objects.githubusercontent.com, etc.), avoiding unnecessary authentication failures on public downloads. #9060 by @risu729Empty
enable_toolsdisables all tools -- An explicitly emptyenable_toolslist now means "disable all tools" rather than "no filter", matching user expectations as an allowlist. #9108 by @risu729Deprecation warnings for legacy env keys --
env_file,dotenv, andenv_pathnow warn when used, directing users toenv._.fileandenv._.path. Removal is scheduled for 2027.4.0. #9205 by @risu729mise bshorthand deprecated -- Themise balias formise backendsnow emits a deprecation warning with removal scheduled for 2027.4.0. #9234 by @risu729Added
New Contributors
Full Changelog: jdx/mise@v2026.4.16...v2026.4.17
v2026.4.16: : Tera templates in inline tasks, raw_args passthrough, and runtime symlink pathsCompare Source
A feature-rich release with two new task runner capabilities, an important fix for how mise exposes tool paths in the environment, and a batch of task system improvements.
Inline table run tasks (
run = [{ task = "...", args = [...] }]) now support Tera templates, so you can pass parsed usage arguments into sub-task calls. A newraw_argsoption lets proxy tasks forward all flags -- including--help-- directly to the underlying command without mise intercepting them. On the tooling side, fuzzy version requests likepython = "3.14"now put the stable runtime symlink on PATH instead of the resolved patch directory, so virtualenvs and other tools that cache interpreter paths survive patch upgrades.Highlights
argsandenvin table-stylerunentries can now use{{usage.*}}variables, connecting usage-parsed arguments to sub-task invocations.raw_argsfor proxy tasks -- Tasks that wrap tools with their own CLI (Djangomanage.py, Next.js, argparse scripts) can setraw_args = trueso mise never intercepts--helpor rewrites flags..../installs/python/3.14/bin) rather than the concrete patch directory, so downstream tools that cache paths are not broken by patch upgrades.[tasks.my-script]block inmise.tomlnow overlays env, description, dir, and other metadata onto a same-named file task instead of being silently dropped.Added
Tera template support for inline table run tasks --
argsandenvvalues inrun = [{ task = "greet", args = ["{{usage.name}}"] }]are now rendered through the Tera engine, allowing usage-parsed arguments and environment variables to flow into sub-task calls. #9079 by @iamkrootraw_argstask option -- Setraw_args = trueon a task definition (TOML or file header) to skip mise's argument parsing entirely. All arguments, including--helpand-h, are forwarded verbatim to the underlying command. Additionally,mise run task -- --helpnow bypasses the usage parser even withoutraw_args, restoring the documented escape hatch. #9118 by @jdx.perl-versionsupport for perl -- The perl registry entry now recognizes.perl-versionfiles for both auto-detection and idiomatic version file reading (whenidiomatic_version_file_enable_toolsincludes"perl"), matching the pattern used by plenv. #9102 by @ergofriendRegistry: ibmcloud -- IBM Cloud CLI is now available via
mise use ibmcloud. #9139 by @dnweRegistry: rush -- rush, a cross-platform tool for executing jobs in parallel (similar to GNU parallel), is now available via
mise use rush. #9146 by @jdxFixed
Runtime symlink paths for fuzzy versions -- When a fuzzy version like
python = "3.14"resolved to3.14.4, PATH used the concrete install directory (.../installs/python/3.14.4/bin). Now mise uses the stable requested-version symlink (.../installs/python/3.14/bin), so tools that cache interpreter paths (e.g. virtualenvs) survive patch upgrades without breaking. #9143 by @jdxGo subpath packages reinstalling on every upgrade -- A stale workaround in the Go backend overrode the version to "latest" for subpath packages, causing
mise upto reinstall them every time because the resolved version directory didn't match. This workaround has been removed now that proxy-based resolution handles subpath packages correctly. #9135 by @c22Missing task suggestions --
mise run <missing-task>now suggests similar task names and shows a compact table of available tasks (up to 20), making it easier to find the right name. #9141 by @jdxTask prefix colors no longer use red/yellow -- Red and yellow were removed from the task prefix color palette because they could be confused with errors and warnings. The palette now uses 16 styles: 4 base colors (blue, magenta, cyan, green) combined with 4 modifiers (regular, bold, dim, bright). #8782 by @lechuckcaptain
TOML task block merged into same-named file task -- A
[tasks.my-script]block inmise.tomlwas silently discarded when a file task with the same name existed. Now the TOML block overlays env, description, dir, aliases, depends, and other metadata onto the file task. Additionally,mise tasks ls --jsonnow reports the resolved task directory instead of null. #9147 by @jdxnpm
install_beforerespected for dist-tag resolution --mise latestand similar commands that resolve npm dist-tags now honor theinstall_beforedate filter instead of always returning the absolute latest version. #9145 by @webkazGitHub attestation verification uses full token chain -- Attestation verification was only using the
GITHUB_TOKENenvironment variable, ignoring tokens configured viacredential_command,github_tokens.toml, theghCLI, orgit credential fill. This caused unauthenticated rate-limit hits even when a valid token was configured. #9154 by @jdxTool option serialization round-trips correctly -- Comma-containing string values in tool options (e.g.
[tool_options]) no longer get split into fake extra keys during re-serialization, and empty brackets are no longer emitted when all remaining options are filtered out. #9124 by @atharvasingh7007vfox backend falls back to absolute bin path -- When a vfox plugin does not set
env_keys, mise now falls back to the absolute bin path instead of failing. #9151 by @80avinmise self-updateavailable in stub builds -- When compiled without theself_updateCargo feature, the subcommand was completely missing from the CLI. It now shows a stub message explaining the feature is unavailable. #9144 by @salim-bNew Contributors
Full Changelog: jdx/mise@v2026.4.15...v2026.4.16
v2026.4.15: : Windows path separator fix and improved GitHub token detectionCompare Source
A small release with an important Windows fix and an improved GitHub rate-limit warning. Path-list environment variables now use the correct OS-native separator on Windows, and the 403 rate-limit warning now checks all configured GitHub token sources instead of only the
GITHUB_TOKENenvironment variable.Fixed
Path-list environment variables broken on Windows -- Settings that accept colon-separated path lists (
MISE_TRUSTED_CONFIG_PATHS,MISE_IGNORED_CONFIG_PATHS,MISE_CEILING_PATHS,MISE_SHARED_INSTALL_DIRS,MISE_TASK_DISABLE_PATHS) always split on:, which conflicts with Windows drive letters (e.g.C:\foo). These settings now use the OS-native path separator (:on Unix,;on Windows) viastd::env::split_paths, matching howPATHitself is handled. #9058 by @richardthe3rdGitHub 403 warning shown even when a token is configured -- The rate-limit warning that appears on GitHub API 403 errors previously only checked the
GITHUB_TOKENenvironment variable. Users who configured a token viaghCLI,github_tokens.toml,credential_command, orgit credentialwould still see the misleading "GITHUB_TOKEN is not set" hint. The warning now checks all supported token sources and links to the GitHub tokens documentation. #9121 by @jdxAdded
New Contributors
Full Changelog: jdx/mise@v2026.4.14...v2026.4.15
v2026.4.14: : Fix GitHub attestation verification for some toolsCompare Source
A small patch release that fixes GitHub artifact attestation verification failures affecting some tools installed via the
github:backend.Fixed
github:backend that use GitHub release attestations (e.g.github:jdx/communique@0.1.9,github:jdx/fnox@1.20.0) could fail verification because the upstreamsigstore-verificationlibrary did not handle GitHub release attestation certificates whose Subject Alternative Name (SAN) URL lacked a trailing slash. The dependency has been bumped from 0.2.3 to 0.2.5, which includes the upstream fix. #9128 by @jdxFull Changelog: jdx/mise@v2026.4.13...v2026.4.14
v2026.4.13: : Remote version cache, Go install_before, and task tool objectsCompare Source
This release fixes several backend and schema edge cases, including stale GitHub/GitLab/Forgejo version caches,
go:moduleinstall_beforefiltering, vfox plugins pinned to Git commit hashes, and task-local tool options.Highlights
go:module versions now carry release timestamps, allowinginstall_beforeto filter them correctly.toolsnow accepts object syntax, matching top-level tool declarations for options like Rust targets.Added
Object syntax for task-level tools -- Task-local
toolsentries now support map/object values in addition to strings, matching top-level[tools]behavior. This allows task-specific tool options such as Rust cross-compilation targets without requiring those options globally. #9087 by @BinlogoFixed
MISE_FETCH_REMOTE_VERSIONS_CACHEignored by GitHub, GitLab, and Forgejo backends -- These backends previously hardcoded a daily API cache duration, ignoringfetch_remote_versions_cache,MISE_FETCH_REMOTE_VERSIONS_CACHE=0, andprefer_offline. They now use the shared setting, matching other backends and allowing users to bypass stale release caches. #9096 by @mcnclgo:module versions ignoredinstall_before-- The Go backend now populates version metadata with release timestamps from the module proxy andgo list -m -json, allowinginstall_beforeto filter module versions correctly instead of falling back to untimestamped candidates. #9097 by @mariusvniekerkvfox plugins pinned to Git commit hashes in
mise.toml--mise installcould fail for vfox plugins declared with Git URLs and commit hashes becauseensure_installeddid not share the same install path asmise plugin install. vfox plugin installation now reuses the plugin install logic so both flows behave consistently. #9099 by @Oyami-SrkSchema support for OS/architecture filters -- The JSON schemas now share reusable tool
osfilter definitions, including compoundos/archentries such asmacos/arm64andlinux/x64, across top-level tools and task-local tools. #9095 by @risu729Changed
rustls-webpkion the modern rustls stack, and adjusted advisory ignores for the older transitive AWS rustls dependency chain so advisory checks can pass again. #9112 by @jdxNew Contributors
Full Changelog: jdx/mise@v2026.4.12...v2026.4.13
v2026.4.12: : OS/arch filtering, task confirmation defaults, and npm supply chain improvementsCompare Source
This release adds OS/architecture compound filtering for tool configuration, lets task confirmation prompts default to "no" for destructive actions, and upgrades npm supply chain protection to use the recommended
--min-release-ageflag. It also fixes several bugs including a panic on empty config filename overrides and circular shim symlinks.Highlights
osfield now supportsos/archcompound entries like"macos/arm64"or"linux/x64", letting you restrict tools to specific platform and architecture combinations.confirmcan now default to "no", so destructive tasks require the user to explicitly opt in rather than just pressing Enter.--min-release-ageflag on npm 11.10.0+, aligning with npm's recommended approach.Added
OS/architecture compound syntax in tool filtering -- The
osfield on tool entries now acceptsos/archentries (e.g.os = ["linux", "macos/arm64"]). When an entry contains/, both the OS and architecture must match. Plain OS entries continue to match any architecture. OS aliases (darwintomacos) and arch aliases (aarch64toarm64,x86_64/amd64tox64) are normalized automatically. #9088 by @RobertDeRoseTask confirmation default -- The
confirmfield on tasks now accepts a map withmessageanddefaultkeys, allowing you to set whether the prompt defaults to "yes" or "no". This is useful for destructive tasks where you want the user to explicitly confirm. The existing string syntax continues to work and defaults to "yes" for backwards compatibility. #9089 by @roelenpm
--min-release-agefor supply chain protection -- Wheninstall_beforeis configured, mise now uses npm's--min-release-age=<days>flag for npm 11.10.0+, which is the flag npm recommends for supply chain protection. Older npm versions continue to use--before. Sub-day windows also fall back to--beforesince--min-release-ageis day-granular. #9072 by @webkazNew registry entries -- Added
openfga(#9084 by @mnm364),copilot(#9082 by @risu729), andtrzsz-go(#9083 by @ZeroAurora).Fixed
Panic on empty
MISE_OVERRIDE_CONFIG_FILENAMES-- SettingMISE_OVERRIDE_CONFIG_FILENAMES=""(e.g. to clear it for a child process) caused a panic because the empty string was injected as a config path, which resolved to the filesystem root and had no parent directory. Empty segments from empty strings, leading/trailing colons, and consecutive colons are now filtered out. #9076 by @baby-joelCircular shim symlinks when shims are on PATH -- When
mise activate --shimsput the shims directory on PATH and amiseshim existed (e.g. from havingcore:rustin the toolset after a cargo install),reshimwould create shims pointing to the mise shim instead of the real binary, including a circularmisetomisesymlink that broke all shims.doctorwould also falsely report all shims as "missing". Both now usewhich_no_shimsto resolve the real mise binary. #9071 by @kevinswiber__MISE_EXEnot exported in bash activate -- The__MISE_EXEvariable was not exported in the bash activation script, so child shells couldn't access it and themisefunction failed. Additionally, when ARGV0 was a bare name (e.g.mise) instead of an absolute path, PATH changes could break execution. The variable is now properly exported and bare names are resolved viawhich. #9081 by @fru1tworldAliased installs sharing a backend were deduplicated -- When multiple tool aliases (e.g.
iiiandiii-console) resolved to the same backend and version (e.g.github:iii-hq/iii@latest), the install scheduler collapsed them into a single job and skipped the second install. The dependency graph now keys on the configured tool name plus version, so alias-specific options likeasset_patternandbin_pathare preserved. #9093 by @jdxNew Contributors
Full Changelog: jdx/mise@v2026.4.11...v2026.4.12
v2026.4.11: : Task dependency templates and npm semver range supportCompare Source
A small release with two meaningful bug fixes: task dependency templates with
{{usage.*}}references now resolve correctly even when the task is called without arguments, andpackage.jsondevEnginesversion fields are now parsed as full npm semver ranges instead of being simplified into prefix matches.Fixed
Task dependency templates now render without arguments -- When a task declared dependencies using
{{usage.*}}templates (e.g.depends = ["child {{usage.app}}"]), those templates were only rendered if the task received explicit CLI arguments. If the usage spec defined defaults but no args were passed, the templates were left unresolved and the dependencies were silently dropped, causing the task to run with no dependencies at all. The guard now checks whether dependencies contain usage references rather than whether args are non-empty. #9062 by @MatthiasGrandlnpm semver ranges in
devEngines-- mise previously simplifiedpackage.jsondevEnginesversion fields by stripping range operators (>=,^,~) and trimming trailing.0segments to produce a prefix for fuzzy matching. This was lossy and incorrect in many cases (e.g.^20.0.1was simplified to20, matching20.0.0). mise now preserves the original range string and resolves it against available versions using proper npm semver semantics via thenodejs-semvercrate. Compound ranges (>=20 <21 || >=22), caret/tilde ranges, and wildcard segments all work correctly. #9061 by @risu729Documentation typo in Go backend -- The docs for Go build tags incorrectly showed
--tagsinstead of the correct-tagsflag. #9065 by @dolmenNew Contributors
Full Changelog: jdx/mise@v2026.4.10...v2026.4.11
v2026.4.10: : Fix spurious warnings from postinstall hooks running tasksCompare Source
A small patch release that fixes a single bug affecting tool postinstall hooks.
Fixed
postinstallhook ran a nestedmise run, the child process inherited theMISE_TOOL_VERSIONenvironment variable set during hooks.ToolsetBuilderwas incorrectly parsing this as a request to install a tool namedtoolat the given version via theMISE_<TOOL>_VERSIONconvention, producing spurious registry warnings before the task executed. mise now ignoresMISE_TOOL_VERSIONin the same way it already ignoredMISE_INSTALL_VERSION. #9050 by @risu729Full Changelog: jdx/mise@v2026.4.9...v2026.4.10
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.