This release closes several trust-bypass vectors where a local mise.toml or mise-tasks/ directory could run code before the user trusted a project, and brings aqua's GitHub attestation verification in line with what the registry asks for.
Fixed
- (config) Treat
github.credential_command,gitlab.credential_command, andforgejo.credential_commandas global-only. They are stripped from project/local config at parse time (with a warning) so an untrustedmise.tomlcannot use a credential command to execute arbitrary shell when fetching tokens. Global config, CLI flags, and environment variables are unchanged (#10356 by @jdx). - (config) Fix GHSA-436v-8fw5-4mj8 by ignoring
ci,paranoid,trusted_config_paths, andyeswhen they come from local config files. A maliciousmise.tomlcan no longer settrusted_config_paths = ["/"]orparanoid = falseto auto-trust itself before_.sourcescripts run (#10357 by @jdx). - (task) Require trust before loading default task include directories (
mise-tasks/,.mise-tasks/, and related layouts) in repos with no local mise config. Previously, a clone with only amise-tasks/directory could render Tera templates (includingexec()) in task descriptions before the user trusted the project. Global task include paths and includes declared from a trustedmise.tomlare still exempt (#10355 by @jdx). - (aqua) Model and forward
github_artifact_attestations.predicate_typeto GitHub during attestation detection and verification. Packages likefoundry-rs/foundryandgleam-lang/gleamthat pin an SPDX SBOM predicate now enforce that predicate instead of accepting whatever attestation happens to verify. Predicate-filtered requests bypass the digest-only versions-host attestation cache (#10169 by @risu729). - (aqua) Canonicalize aqua var options across plain keys, nested
varstables, and literal"vars.<name>"backend-option keys into a single lock/cache identity. Duplicate final vars now fail with a source-neutralconflicting aqua varerror rather than silently picking one spelling; normal higher-precedence config overrides still apply (#10187 by @risu729). - (schema) Forbid
hide,quiet,raw,interactive, andraw_argson[task_templates.*]in the JSON Schema, and drop the unused fields fromTaskTemplate. Runtime never merged these into tasks (templates can't tell "unset" fromfalsefor plain bools), so editors no longer suggest keys that did nothing (#10242 by @risu729). - (schema) Accept supported OS, architecture, and
os-archselectors on registry backendplatformsentries andbackends.options.platforms.*tables — for examplewindows-x64,linux-arm64,darwin-aarch64,macos-arm64— fixing false schema errors reported in discussion #10296 (#10358 by @risu729).
Full Changelog: v2026.6.4...v2026.6.5
💚 Sponsor mise
mise is built by @jdx under en.dev — an independent studio making developer tooling (mise, aube, and more). Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at en.dev. Individual and company sponsorships keep mise fast, free, and independent.