Repository navigation
chore(deps): update dependency jdx/mise to v2026.11.1 - #241
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/jdx-mise-2026.x
branch
from
November 5, 2026 00:38
aacca8d to
8172af4
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
v2026.11.1: : npm provenance verified by default, with repository pins in mise.lockCompare Source
npm:tools now have their Sigstore provenance verified by default. The first install records the repository that built the package inmise.lock, and later installs must come from that same repository. This release also adds named environment sets inmiserc.tomland fixes a range of lockfile, install and shell issues. See Breaking Changes before you upgrade: some installs that worked before can now fail, and new lockfiles use format version 4.Added
npm provenance repository pins. When provenance verification is on,
mise installrecords the GitHub or GitLab repository that annpm:package's provenance names. Later installs of that version fail if the provenance comes from a different repository, or if the package stops publishing provenance. This protects against a release published from somewhere else, for example after a maintainer account is compromised. The pin is written bymise install, notmise lock. #15338 (@jdx)gitlab.com CI provenance for npm. npm provenance built on gitlab.com CI/CD now verifies the same way GitHub Actions provenance does, including projects in subgroups. Before, these packages failed with
verified attestation names no source repository. Self-hosted GitLab is not supported. #15335 (@jdx)Named environment sets. A shared
miserc.tomlcan now define[env_sets]. You can then select a set by name inenv,MISE_ENVor-E, and mise expands it to the environments it lists. Sets expand one level only, keep their listed order, and drop duplicate entries. A project.miserc.tomlcannot redefine a set from the system or globalmiserc.toml. The newmise bootstrap --save-envwrites the environments given with-EorMISE_ENVtomiserc.local.toml, so latermise bootstrap --updateruns select the same ones. #15327 (@jdx, @owpac)Download progress for vfox plugins. When a vfox plugin's
PreInstallreturns aurl, the install line now shows the amount downloaded, the total size and the speed. Before, it showed only the elapsed time. #15323 (@jdx, @carlosemart)Fixed
mise install --lockedfailing withnode@lts is not in the lockfileafter an alias such asltsmoved to a new version, in lockfiles with nolockfile_versionline (format 0). If the tool has exactly one matching entry, mise uses it as the pin.mise lock --upgradenow keeps that pin and binds it to the alias, where before it re-resolved the alias and dropped the old entry. #15301 (@jdx, @simonbuchan)mise installin a project no longer rewrites~/.config/mise/mise.lockunless it installs a global tool. A global tool that a project also declares is now relocked under the backend its own lockfile records. This fixeslockfile generation would change the recorded signererrors frommise lock --globalandmise upgrade --global. #15348 (@jdx, @drewbitt)mise lockno longer warns on every run that the node checksum files from unofficial-builds.nodejs.org (used for the musl targets) are unsigned. Signature failures on nodejs.org or anode.mirror_urlstill fail as before.mise installwith the defaultlockfile_mode = "generate"also stops drawing extra progress rows for lockfile entries it prepares in the background. #15346 (@jdx)mise.lockwithout fetchingindex.json, and still check the minisign signature. When the index can't be read, mise now builds the correct archive name for 0.14.1 and later (zig-{arch}-{os}-…,.zipon Windows) instead of failing with a 404, and it shows the index error. #15351 (@jdx, @sargunv)RUSTUP_DIST_SERVERset, mise no longer queries GitHub to list Rust versions.latestresolves to the mirror's stable release, and an exact version is checked against the mirror's channel manifest. Version discovery through a mirror is limited to the current stable release. #15326 (@jdx)latestwith non-numeric releases: when a tool's newest release was still insideminimum_release_ageand its releases don't start with a digit (for example Odin'sdev-YYYY-MM),latestcould fall back to a years-old numbered release. mise now picks the newest release the cutoff allows. #15360 (@jdx, @i-api)osandarchsettings when checking a package's supported platforms. #15347 (@i-api)npm.package_manager = "pnpm"and pnpm 11 or later,npm:tools now stay inside their install directory instead of linking into pnpm's global virtual store. Before, restoring onlyMISE_DATA_DIRfrom a CI cache left tools that failed withCannot find module. #15330 (@jdx)mise x,mise runand wrapper shims no longer fail on a read-only filesystem when[wrappers]is configured and every wrapper shim already exists. #15300 (@jdx, @liskin)mise activate pwsh, the prompt that mise wraps, such as starship's, can see$?again, so it shows when a native command failed. #15315 (@meop)mise upgradeno longer prints an out-of-range note for a version that another entry for the same tool already uses, such aspython = ["3.15", "3.14"]. #15359 (@jdx)unknown config file typeon every run for a remembered file that no config type recognizes anymore, such as amain.tfafter you narrowidiomatic_version_file_enable_tools. #15333 (@jdx)Documentation
irm https://mise.run/powershell | iex). winget packages can lag behind a release and turn offmise self-update. #15332 (@jdx)Breaking Changes
npm provenance is verified by default. #15341 (@jdx)
npm.provenanceis nowtrueby default. Here is what changes:npm:package whose provenance doesn't verify, or that comes from a repository other than the one pinned inmise.lock, now fails to install.mise.lockalready pins a repository for that version.npm.package_manager, and local archives pinned only by achecksum, are installed without a check instead of failing. They still fail under theprovenancecategory ofparanoid.To opt out:
Lockfile format version 4. New lockfiles are written at revision 4, which older mise versions refuse to read (
unsupported lockfile version 4). Make sure everyone who shares a new lockfile runs this release or later. Existing lockfiles keep their revision until you runmise lock --upgrade. At an older revision, mise leaves out the provenance pin and warns. Revision 3 lockfiles now get the usual six-month outdated warning. #15338 (@jdx)New Contributors
Full Changelog: jdx/mise@v2026.11.0...v2026.11.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.11.0: : Task locks for shared resources, safer lockfiles, and.agents/skillsas the default skills directoryCompare Source
Tasks can now declare a
lock, so runs that share a resource take turns, even across worktrees and terminals. This release also adds opt-in npm provenance verification, dotfile dependencies, andmise bootstrap --updatefor global config checkouts. Lockfiles get stricter:--lockednow requires checksums, and safe mode no longer trusts project lockfiles. The planned removal of minimum-version reading fromgo.modandCMakeLists.txtalso lands here. See Breaking Changes before you upgrade.Added
Task
lock. When several agents or terminals run tasks at the same time, they can collide on resources that exist only once on the machine, such as a shared test database, a simulator or a GPU. A task can now name the locks it needs, and a run that needs a lock someone else holds waits for it. #15242 (@jdx)lock = truelocks the task within its repository, and all worktrees of that repository share the lock.skip_if,sourcesand cache checks, so a skipped task never waits. A task waiting for a lock gives up its--jobsslot, so other tasks keep running. Nestedmise runcalls inherit their parent's locks and don't deadlock on them.mise run --lock-timeout 5m, or thetask.lock_timeoutsetting, makes a task fail after waiting that long. The error names the run holding the lock.mise tasks infoand--dry-runshow the locks a task takes.flock, orLockFileExon Windows), so they are released when the holder exits, even if it is killed. This feature is not experimental.npm provenance verification (opt-in). With
npm.provenance = true, or theprovenancecategory ofparanoid,mise installverifies the Sigstore provenance annpm:tool's package publishes, against the sha512 integrity that the install locks. Packages that publish no provenance install as before. This only works with the embedded aube package manager, and only the tool's own package is checked, not its dependencies. #15240 (@jdx, @kndoshn)Dotfile
depends. A[dotfiles]entry or a[dotfile_groups]group can list the groups or entry targets it depends on.mise dot applywrites those first, in rounds. This lets an entry such as amode = "fnox"file or a template that reads a file use files created in the same apply, so a new machine needs only one apply. mise reports an error for a cycle or an unknown name. If a round fails, mise stops and lists the entries it didn't apply. #15277 (@jdx, @owpac)mise bootstrap --updatepulls the global config checkout. Without--fromor--adopt,--updatefast-forwards the Git checkout that holds~/.config/mise. This works whether the directory is linked into a checkout by--config-diror is a checkout itself from--adopt. Bootstrap then runs again from the new commit. mise accepts only fast-forwards, so a diverged checkout stops the run.--dry-runprints thegit pull --ff-onlyinstead of running it. #15286 (@jdx, @owpac)Skills default to
.agents/skills. Whenskills.diris unset,mise skills syncandskills.auto_syncuse.agents/skillsif it exists, or else an existing.claude/skills. If neither exists, mise creates.agents/skillsand makes.claude/skillsa symlink to it, so Claude Code finds the skills too. Projects that already sync into.claude/skillskeep doing so. #15278 (@jdx, @canac)mise use -gsyncs skills into your home directory. Withskills.auto_syncon,mise use -glinks the skills of global tools into the skills directory under your home directory.mise installandmise upgradekeep those links current from any directory.mise skills sync --globalnow links only tools from the global and system config, not every tool active in the current directory. #15276 (@jdx, @canac)Registry:
kotlin-toolchain(JetBrains' Kotlin Toolchain, formerly Amper) #15234 (@ggoggam),headscale#15282 (@i-api), andtailscale#15298 (@i-api).Fixed
Tasks
runorrun_windowsscript undercmd.exeran only its first line and exited 0. It now runs every line, and a laterexit /bfails the task. Each line still runs whatever the previous line's exit code was, and%VAR%is expanded once for the whole script. #15238 (@jdx)jobs > 1,mise runcould hang forever after a task failed while other tasks were still queued. #15268 (@jdx)mise run //subproject:task, now get the variables the subproject's daemons export, such asAPI_PORT. An explicit[env]value for the same key still wins. #15217 (@jdx, @dotellie)mise tasks validateno longer reports arun_windows-only task as having no command when you run it on macOS or Linux. #15258 (@jdx, @ryan-pip)mise lsitnow suggestsmise list. Hidden internal commands are never suggested. #15260 (@jdx)Tools and backends
latestwithprerelease = truenow runs the newest installed version, prereleases included. Before, it kept running the stable release behind thelatestsymlink. This affectsmise x,PATH,which,whereandbin-paths. #15259 (@jdx, @ywenhao)pypi:tools now install when mise has no Python interpreter. mise warns and installs from the version alone.--lockedinstalls and tools that select a specificpythonstill fail. #15287 (@jdx)pypi:tools from an SSH GitHub source with only Git tags and no releases now list versions when a GitHub token is configured. #15291 (@jdx)mise daemons status,stop,logs,pruneandtuino longer fail with "No version is set for shim: pitchfork" when the project doesn't pin pitchfork in[tools]. #15237 (@jdx, @brodienguyen)Lockfiles
mise lockno longer fails when a Java vendor publishes no build for one of the lockfile's platforms, such as Oracle GraalVM onlinux-arm64-musl. It skips that platform. #15269 (@jdx)mise locknow prints "Pruned …" only after it writes the lockfile, so a run that fails partway no longer claims a prune that didn't happen. #15267 (@jdx)Config
.config/,mise/or.mise/directory that is its own Git repository, such as a dotfiles checkout, loads again as config for the directory around it. Before, its config was dropped without any message. #15224 (@jdx, @mdt3r)Dotfiles and bootstrap
mise dot unapplynow removes junctions and directory symlinks instead of failing with "Access is denied".symlink-eachentries now prune dangling links even after their state file is lost.symlinkentry that fell back to a copy is reported as copied, both inapplyoutput and inmise dot status.mise dot applyfails partway, the next apply now continues without needingmise dot recover. Links made before the failure are recorded, and empty directories the apply created are removed. #15253 (@jdx)mise bootstrapno longer records history checkpoints for runs that change nothing. This also makes no-op runs faster. #15246 (@jdx)homebrew_metadata = true, the Homebrew cask handoff now also writesINSTALL_RECEIPT.json, sobrew infoshows the install date and that you requested the cask. The handoff now requires Homebrew 6.0.22 or newer. With an older Homebrew, mise keeps ownership of the cask. #15274 (@jdx)brew-caskupgrades no longer skip auto-updating apps whose installed version still matches the install record but has a different number of version components than the cask version, such as Firefox 158.0.1 vs 159.0. #15226 (@waynehoover)mise bootstrap packages applyno longer reinstalls everymas:app while Spotlight is rebuilding its index, for example after a macOS update. Ifmas listcomes back empty but App Store apps are installed, mise stops with an error instead. #15228 (@waynehoover)Performance
mise.cacheLua module to name files their result depends on, or to turn caching off. #15227 (@jdx, @leipert)mise hook-envno longer re-parsesuv.locksidecars forpypi:/pipx:tools on every run. In one report this took about 320 ms of a 395 ms prompt. #15230 (@jdx)"latest"tools no longer check their install directory several extra times per prompt. #15295 (@jdx, @disrupted)Packaging
apt updateagainst the mise Debian repository should no longer fail with "File has unexpected size … Mirror sync in progress?". Repository metadata is now cached for 5 minutes instead of a day, and the index files are uploaded before the files that describe them. #15219 (@jdx)Security
mise install --lockednow fails before downloading if a lockfile entry for the current platform has a URL but no checksum. #15285 (@jdx, @deniskern)MISE_SAFE=1, a project'smise.lockcan no longer choose download URLs, even in a trusted project or in CI. mise downloads from the backend's own release and still checks the lockfile's checksum.--lockednow accepts entries that have a checksum but no URL. #15235 (@jdx).miserc.tomlcan no longer drop global environments. A project file could setenv = []without being trusted and turn off environments chosen in the global or systemmiserc.toml, such as one that setsparanoid = true. A project'senv_conf_dcould do the same to globalconf.dfragments. Project files can still add environments. #15281 (@jdx, @adam-moss)Breaking Changes
go.modandCMakeLists.txtminimum versions are no longer read. This removal was announced in 2026.8.10. A barego 1.21line ingo.modno longer selects a Go version. mise reads only atoolchain goX.Y.Zline, or an exactgo X.Y.Zline when there is notoolchainline.cmake_minimum_requiredinCMakeLists.txtis ignored, and the hiddenidiomatic_version_file_ignore_minimum_versionssetting is removed. To migrate, addtoolchain go1.21.4togo.mod, or set the version in.go-versionormise.toml. For cmake, set the version inmise.toml. #15266 (@jdx)--lockedfails on lockfile entries without checksums. This affects lockfiles written by hand or by an older mise. Runmise lockonce to fill in the checksums. Lockfiles inlockfile_mode = "merge"are exempt. To keep the old behavior, setlocked_require_checksum = false, or set it totrueto require checksums in merge mode too. The setting will start warning in 2027.10.0. #15285.miserc.tomlused to replace them. To leave one out for a single run, use-EorMISE_ENV. #15281New Contributors
Full Changelog: jdx/mise@v2026.10.25...v2026.11.0
💚 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.
Configuration
📅 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.