v2026.4.19

jdx/misev2026.4.19Apr 23, 2026by mise-en-dev

AI Summary

Adds support for building OCI images from `mise.toml`, aqua variable templating in backends, and fixes several GitHub authentication and concurrency issues.

Key Highlights

  • Build OCI images directly from `mise.toml` with per-tool image layers.
  • Aqua-backed tools now support templated variables.
  • Fixed GitHub auth headers to scope to API URLs and improved conda temp file collision handling.
  • Improved install reliability for conda and backend path handling.

New Features

  • OCI image building from `mise.toml`
  • Aqua variable templates
  • New registry tools: gsudo, kiro-cli, llama.cpp, Flux operator

Full Release Notes

This release adds a new way to package environments as OCI images, improves backend flexibility with aqua variable templating, and tightens several authentication and concurrency edge cases that were causing friction in real workflows.

The biggest addition is `mise` support for building OCI images directly from `mise.toml`, with per-tool layering to make image rebuilds more efficient. Alongside that, aqua-backed tools can now use templated variables, which should make more registries and package definitions work cleanly without custom glue. On the reliability side, fixes in conda, GitHub auth handling, vfox token usage, and interactive CLI cancellation should make automation and authenticated installs behave more predictably.

## Highlights

- Build OCI images directly from `mise.toml` with per-tool image layers.
- Support aqua variable templates in backends.
- Fix several GitHub and token-handling issues affecting authenticated requests.
- Improve install reliability for conda and backend path handling.
- Add new registry entries including `gsudo`, `kiro-cli`, `llama.cpp`, and Flux operator tooling.

## Changes

### Features

- **(oci)** build OCI images from `mise.toml` with per-tool layers by @jdx in [#9273](https://github.com/jdx/mise/pull/9273)
- **(backend)** support aqua vars templates by @jdx in [#9110](https://github.com/jdx/mise/pull/9110)
- add `gsudo` (Sudo for Windows) to registry by @jdx in [#9281](https://github.com/jdx/mise/pull/9281)

### Bug Fixes

- **(cli)** suppress error output after interactive cancel by @jdx in [#9294](https://github.com/jdx/mise/pull/9294)
- **(backend)** stop fuzzy requests installing literal dirs by @jdx in [#9276](https://github.com/jdx/mise/pull/9276)
- **(conda)** avoid temp file collisions during parallel package downloads by @jdx in [#9293](https://github.com/jdx/mise/pull/9293)
- **(github)** scope auth headers to API URLs by @jdx in [#9271](https://github.com/jdx/mise/pull/9271)
- **(cli)** retrieve token from github helper for `self-update` command by @jdx in [#9259](https://github.com/jdx/mise/pull/9259)
- **(vfox)** use github token for lua http requests by @jdx in [#9257](https://github.com/jdx/mise/pull/9257)

### Registry

- add `flux-operator` & `flux-operator-mcp` by @tiyee in [#8852](https://github.com/jdx/mise/pull/8852)
- add `kiro-cli` by @jdx in [#9274](https://github.com/jdx/mise/pull/9274)
- add `llama.cpp` (`github:ggml-org/llama.cpp`) by @jdx in [#9282](https://github.com/jdx/mise/pull/9282)

## 💚 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.