v2026.2.19

jdx/misev2026.2.19Feb 22, 2026by mise-en-dev

AI Summary

A small patch release with two targeted bug fixes: a regression fix for interactive task execution and better cleanup after failed installs.

Key Highlights

  • Interactive tasks no longer hang (stdin TTY check for setpgid)
  • Failed installs clean up properly (remove empty parent dirs and stale markers)
  • Documentation fix for ripgrep command binary name

New Features

  • Interactive task execution fix
  • Failed install cleanup improvement

Full Release Notes

A small patch release with two targeted bug fixes: a regression fix for interactive task execution and better cleanup after failed installs.

### Bug Fixes

- **Interactive tasks no longer hang** -- The process group isolation added in v2026.2.18 ([#8279](https://github.com/jdx/mise/pull/8279)) inadvertently broke interactive tools like Tilt that read from stdin. When a child process was moved to its own process group, the terminal wouldn't deliver keyboard input to it, causing `SIGTTIN` and a silent hang. mise now checks whether stdin is a TTY before calling `setpgid` -- interactive tasks stay in the terminal's foreground process group for proper keyboard I/O, while non-interactive tasks still get their own process group for clean signal teardown. [#8301](https://github.com/jdx/mise/pull/8301) by @jdx

- **Failed installs clean up properly** -- When an install fails (e.g. a 404 for a non-existent version or a 403 from GitHub rate limiting), mise now removes the empty parent directory (e.g. `installs/tilt/`) and the stale incomplete marker from cache, instead of leaving them behind. [#8302](https://github.com/jdx/mise/pull/8302) by @jdx

### Documentation

- Fixed the ripgrep command in the getting-started guide to use the correct binary name `rg` instead of `ripgrep`. [#8299](https://github.com/jdx/mise/pull/8299) by @nguyenvulong

**Full Changelog**: https://github.com/jdx/mise/compare/v2026.2.18...v2026.2.19