mise-en-place

jdx/mise last check 263 releases recent
Notes

The front-end to your dev env Pronounced "MEEZ ahn plahs"

Release notes
v2026.5.6: Native GitHub OAuth, project-scoped OCI builds, faster registries
view on github

Added

  • (cli) Add --before <date> to mise ls-remote and mise lock for release-date-aware version discovery (#9269) by @risu729
  • (config) Add run field for hooks, allowing inline shell selection like { run = "...", shell = "bash -c" } (#9718) by @risu729
  • (github) Add native GitHub OAuth device-flow token source (experimental) — no dependency on gh/ghtkn (#9654) by @jdx
  • (oci) mise oci build/run/push now scope to project config by default; new --include-global opts back into the old behavior (#9766) by @jdx
  • Show the latest prefixed version in mise outdated queries, e.g. temurin-17.0.19+10 instead of jumping to temurin-26.x for a temurin-17.x request (#9767) by @roele
  • (registry) Add vector (#9761) by @kquinsland; add openshift-install and an http: backend for oc (#9669) by @konono

Fixed

  • (activate) Guard bash chpwd_functions expansion under set -u so activated shells no longer fail with chpwd_functions[@]: unbound variable (#9716) by @risu729
  • (backend) Date-check the latest_stable_version fast path when --before or minimum_release_age is active, instead of returning a too-new version (#9650) by @risu729
  • (config) Parse core tool options consistently between table and bracket syntax, so [depends=...] and os= set the named core fields (#9742) by @risu729
  • (exec) Propagate __MISE_DIFF to children so nested mise -C <dir> exec recovers the pristine PATH and resolves the inner toolset's tools (#9765) by @jdx
  • (forgejo) Include prereleases when prerelease = true / MISE_PRERELEASES=1 is set (#9717) by @risu729
  • (github) Avoid caching empty release-asset responses, refetching instead (#9616) by @risu729
  • (java) Resolve core:java lockfile URLs/checksums from mise Java metadata, fixing mise install --locked for Java (#9719) by @risu729
  • (lock) Cache github_attestations = "unavailable" so locked installs stop hitting the GitHub attestation API for artifacts known to have none (#9741) by @risu729
  • (pipx) Preserve uvx_args/pipx_args/extras/uvx = false when pipx tools are reinstalled after a Python upgrade (#9663) by @risu729
  • (python) Skip redundant GitHub attestation re-verification when the lockfile already has checksum + provenance = "github-attestations" (#9739) by @risu729
  • (vfox) Run vfox plugin pre_uninstall hooks before removing install directories (#9662) by @risu729
  • Quote program and args in cmd::cmd(..) debug output so logged commands are unambiguous (#9777) by @ktetzlaff

Performance

  • (aqua) Bake aqua registry packages as rkyv blobs for much faster lookup (#9535) by @risu729
  • (registry) Use phf for the mise registry lookup table, around 3.3x faster than the previous BTreeMap path (#9769) by @risu729

New Contributors

  • @konono made their first contribution in #9669
  • @kquinsland made their first contribution in #9761
  • @ktetzlaff made their first contribution in #9777

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