v0.74.4
mastra-ai/mastrav0.74.4Sep 12, 2026by junegunn
Upgrading?
AI Summary
A bug fix release addressing terminal escape sequence parsing, progress reporting, and UI layout issues. It introduces a non-blocking Vim plugin for live previews.
Key Highlights
- Vim plugin is now non-blocking, allowing live previews while fzf is open.
- Fixed escape sequence parsing issues that leaked data across reads.
- Fixed progress reporting in `--listen` mode to accurately reflect search status.
- Added key bindings for Helix editing modes in nushell.
New Features
- Non-blocking fzf Vim plugin
- Helix key bindings for nushell
Full Release Notes
### Demo: Non-blocking fzf vim plugin on tmux floating pane
https://github.com/user-attachments/assets/77f3e303-e230-4669-ae05-08a19fa84ea3
---
- Fixed an escape sequence split across reads being parsed as a fragment, which leaked the rest into the query (#4899)
- e.g. A terminal answering the startup `DECRQM` query late left `?2004;2$y`, CTRL-UP left `5A`, and SGR mouse input left `0;1;1M`
- Fixed `--tiebreak=pathname` not detecting the last path separator when the line contains a non-ASCII character before it (#4902)
- Fixed `progress` in the `--listen` status payload staying at 100 while a new search was running, which made a snapshot with a new query and the previous result set look complete (#4903)
- It is now reset when a search starts and reaches 100 on the final result, so `progress` of 100 means the matches belong to the query reported next to them
- Fixed adaptive height not reserving a line for the divider of an inline header or footer border, so the list came up one line short for each of them (#4904)
- e.g. `seq 10 | fzf --height=~100% --list-border --header-lines=1 --header-lines-border=inline`
- Fixed fzf erasing the line the prompt was on when it exits, which made the last line of the prompt flicker in fish, bash, and nushell (#4913)
- Fixed fzf exiting with status 2 while waiting for a key, when `--listen` is used and 100+ signals interrupt the wait (#4917)
- Vim plugin
- fzf no longer blocks the editor, so live previews keep working while fzf is open
- `fzf#run` returns an empty list when it runs fzf asynchronously. Use `sink`, `sinklist`, or `exit` to get the result
- The popup layout now works under Zellij
- Added `popup` as a synonym of the `tmux` layout key
```vim
let g:fzf_layout = { 'popup': '90%,70%' }
```
- fzf now opens in a tmux or Zellij floating pane by default, so the window it was started from stays visible and can be used while fzf is running
- Requires tmux 3.7+ or Zellij 0.44+
- Set `g:fzf_layout` to pick a different layout
- fish
- Fixed custom CTRL-T command not using the prefixed target directory in some cases (#4498) (@bitraid)
- Optimized description alignment of completion items (#4910) (@bitraid)
- nushell
- Added key bindings for Helix editing modes, on nushell 0.115.0 or above (#4914) (@sim590)
- Fixed CTRL-T inserting the selected paths unquoted
- p4p3r (@P4P3R-HAK) reported the security vulnerability and suggested the fix
Related Repositories
openclaw/openclaw★ 392,715
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,095
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 360,219
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,858
The open source coding agent.
n8n-io/n8n★ 208,278
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.