v2026.4.1
jdx/misev2026.4.1Apr 2, 2026by mise-en-dev
AI Summary
Adds per-tool `install_before` overrides for granular control and fixes musl detection in minimal Docker containers.
Key Highlights
- Per-tool `install_before` option with precedence over global settings (CLI flag > tool > global).
- Musl detection fix for minimal containers using fallback to compile-time target.
- New `MISE_LIBC` environment variable for explicit library override.
- Fixed `mise prepare -q` to correctly suppress status messages.
New Features
- Per-tool `install_before` override
- Musl detection fix for minimal containers
- dbt-fusion registry entry
Full Release Notes
This release adds per-tool `install_before` overrides for more granular control over version freshness, fixes musl/glibc detection in minimal Docker containers, and ensures the `-q` flag works correctly with `mise prepare`. ## Added - **Per-tool `install_before` option** -- You can now set `install_before` on individual tools to override the global setting. This is useful when some tools need tighter freshness windows than others. Precedence is: `--before` CLI flag > per-tool `install_before` > global `install_before` setting. [#8842](https://github.com/jdx/mise/pull/8842) by @sargunv-headway ```toml [settings] install_before = "7d" # default for all tools [tools.trivy] version = "latest" install_before = "1d" # trivy updates are time-sensitive, use a shorter window ``` - **Registry: dbt-fusion** -- `dbt-fusion` is now available as a short name in the mise registry, backed by `aqua:getdbt.com/dbt-fusion`. [#8837](https://github.com/jdx/mise/pull/8837) by @ryan-pip ## Fixed - **Musl detection in minimal Docker containers** -- A musl-compiled mise binary running in a minimal container (scratch, busybox, distroless) with no `/lib/ld-*` files would incorrectly identify the platform as glibc, causing it to select the wrong lockfile entries or tool variants. When no dynamic linker is found at runtime, mise now falls back to the binary's compile-time target. Additionally, a new `MISE_LIBC` environment variable (`musl` or `gnu`) allows explicitly overriding the detection. [#8825](https://github.com/jdx/mise/pull/8825) by @davireis ```dockerfile ENV MISE_LIBC=musl RUN mise install ``` - **`mise prepare -q` not suppressing output** -- The `-q` (quiet) flag was not suppressing status messages in `mise prepare` because they used `miseprintln!()` which bypasses the logging system. These messages now use standard logging macros that respect the quiet setting. [#8792](https://github.com/jdx/mise/pull/8792) by @Marukome0743 - **Wrong option in `mise prepare` docs example** -- The `ansible-galaxy` example in the prepare documentation used `-f` (force) instead of `-r` (requirements file). [#8839](https://github.com/jdx/mise/pull/8839) by @rndmh3ro ## New Contributors - @Marukome0743 made their first contribution in [#8792](https://github.com/jdx/mise/pull/8792) - @sargunv-headway made their first contribution in [#8842](https://github.com/jdx/mise/pull/8842) - @Rohan5commit made their first contribution in [#8844](https://github.com/jdx/mise/pull/8844) - @ryan-pip made their first contribution in [#8837](https://github.com/jdx/mise/pull/8837) - @rndmh3ro made their first contribution in [#8839](https://github.com/jdx/mise/pull/8839) **Full Changelog**: https://github.com/jdx/mise/compare/v2026.4.0...v2026.4.1