v2026.4.20
jdx/misev2026.4.20Apr 24, 2026by mise-en-dev
AI Summary
Fixes lockfile handling of `@latest` to write concrete versions, resolves relative `path:` tool versions against the config root, and updates the baked aqua registry source.
Key Highlights
- `mise lock tool@latest` now writes concrete versions and heals lockfiles poisoned with `version = "latest"`.
- Relative `path:` tool versions now resolve correctly against the config root directory.
- Aqua registry is now baked from the upstream merged `registry.yaml`.
- GitHub artifact attestation verification works for registry entries using regex URLs.
New Features
- Baked aqua registry from upstream
- Documentation dismissible announcement banner
Full Release Notes
A focused patch release that cleans up two long-standing lockfile and path-resolution bugs, makes GitHub attestation verification tolerant of regex-based aqua registry URLs, and reworks how the aqua registry is baked into mise. ## Highlights - `mise lock tool@latest` now writes a concrete version and heals lockfiles already poisoned with `version = "latest"`. - `path:` tool versions with relative paths resolve correctly against the config root. - Aqua registry is now baked from the upstream merged `registry.yaml`, pinned by tag. - GitHub artifact attestation works for registry entries that use regex URLs. ## Fixed - **(config)** Relative `path:` tool versions are now resolved at parse time against the config's root directory (or CWD for CLI args), with `~/` expansion and leading `./` stripped. Previously, a value like `path:./packages/logr` was joined with `installs_path` at install time and produced a bogus directory such as `~/.local/share/mise/installs/logr/./packages/logr`. ([#9320](https://github.com/jdx/mise/pull/9320)) by @jdx - **(lock)** `mise lock` handling of `@latest` has been overhauled ([#9321](https://github.com/jdx/mise/pull/9321) by @jdx): - `mise lock tool@latest` now resolves `latest` to the newest installed version instead of writing the literal string `"latest"` into the lockfile. - `mise lock` no longer produces duplicate `[[tools.<name>]]` entries when the config uses `tool = "latest"`. - Lockfiles already poisoned with `version = "latest"` are cleaned up in a single `mise lock` run. - GitHub artifact attestation verification now works when the aqua registry entry uses a regex in the workflow URL, unblocking installs such as `aqua:updatecli/updatecli`. ([#9327](https://github.com/jdx/mise/pull/9327)) by @monotek ## Changed - **(aqua)** The baked aqua registry source has been swapped for the upstream merged `registry.yaml`, pinned by tag via `crates/aqua-registry/aqua-registry/metadata.json`. The build script generates a canonical package-id map plus an alias lookup table, so runtime lookups only parse the selected package YAML. The pinned tag is now visible in `mise doctor`. ([#9043](https://github.com/jdx/mise/pull/9043)) by @risu729 ## Added - New registry entry: `grafana-kubernetes-plugin`. ([#9300](https://github.com/jdx/mise/pull/9300)) by @monotek ## Documentation - A dismissible announcement banner has been added to the docs site, driven by a remote JSON config. Link schemes are restricted to `http`/`https`, dismissals persist per-id in `localStorage`, and the banner height is kept in sync with `--vp-layout-top-height` via a `ResizeObserver`. The `expires` field is respected so banners automatically hide after a given date. ([#9326](https://github.com/jdx/mise/pull/9326), [#9330](https://github.com/jdx/mise/pull/9330), [#9334](https://github.com/jdx/mise/pull/9334)) by @jdx ## Aqua Registry Updated [aqua-registry](https://github.com/aquaproj/aqua-registry) from [v4.492.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.492.0) to [v4.498.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.498.0), which includes: - [v4.493.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.493.0) - [v4.494.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.494.0) - [v4.494.1](https://github.com/aquaproj/aqua-registry/releases/tag/v4.494.1) - [v4.495.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.495.0) - [v4.496.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.496.0) - [v4.497.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.497.0) - [v4.498.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.498.0) ## Sponsor mise mise is built by [@jdx](https://github.com/jdx) under [**en.dev**](https://en.dev) — an independent studio making developer tooling (mise, [aube](https://aube.en.dev/), and more). Development is funded by sponsors. If mise saves you or your team time, please consider sponsoring at [en.dev](https://en.dev). Individual and company sponsorships keep mise fast, free, and independent. **Full Changelog**: https://github.com/jdx/mise/compare/v2026.4.19...v2026.4.20