v4.1.0: automatic --locked installs
·
22 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
This release adds automatic locked installs when a mise.lock is present, and fixes a long-standing cache-key collision that could poison tool installs when workflows migrate between runner providers.
Added
Automatic --locked install when mise.lock exists (#495) by @zeitlinger
When a repo contains mise.lock, the action now automatically passes --locked to mise install (on mise versions that support it). This removes the need to manually set install_args: --locked and prevents mise install from silently mutating the lockfile in CI. Explicit install_args and older mise versions are still respected.
Note: workflows with a stale lockfile may now fail earlier and more explicitly instead of silently updating mise.lock mid-run — this surfaces lockfile drift rather than hiding it.
Fixed
- Cache key collisions across runner providers (#456) — the default cache key now includes the runner image (e.g.
macos15,ubuntu24for GitHub-hosted runners;self-hostedotherwise). Previously, repos migrating between providers like github-hosted, namespace.so, BuildJet, and self-hosted runners with the same OS/arch could restore a peer provider's~/.local/share/mise/installs/*, causing failures likedoes not have an executable named '…'or SIGILL crashes from binaries built against a different glibc/CPU featureset. Expect a one-time cache miss after upgrading; thereafter the cache stays scoped per image. mise-shim.exemissing on Windows (#476) by @risu729 — the action now installsmise-shim.exealongsidemise.exeand repairs restored caches that lack the shim. Fixes #475.
Changed
- Migrated the bundled action build from ncc (CommonJS) to Rollup (ESM) (#436). No user-facing behavior change.
Full Changelog: v4.0.1...v4.1.0