v0.72.0

aloshdenny/reverse-SynthIDv0.72.0Apr 26, 2026by junegunn

AI Summary

Added new `inline` and `dashed` border styles for terminal sections, improved vim window resizing, and fixed keyboard protocol and history bugs.

Key Highlights

  • New `inline` style for headers, footers, and borders
  • New `dashed` border style
  • Vim window resize detection

New Features

  • `--header-border` and `--footer-border` with `inline` style
  • `--border=dashed` style
  • Vim `VimResized` event handling
  • Fixed gutter display in minimal style
  • Fixed arrow keys under kitty keyboard protocol
  • Persist history deletion when `histappend` is on

Full Release Notes

<img width="738" height="477" alt="17772131378862605481422441824188" src="https://github.com/user-attachments/assets/8754adfd-2ff6-4038-bbba-adf6dd74b887" />

_Release highlights: https://junegunn.github.io/fzf/releases/0.72.0/_

- `--header-border`, `--header-lines-border`, and `--footer-border` now accept a new `inline` style that embeds the section inside the list frame, separated from the list content by a horizontal line. When the list border has side segments, the separator joins them as T-junctions.
    - Requires a `--list-border` shape that has both top and bottom segments (`rounded`, `sharp`, `bold`, `double`, `block`, `thinblock`, or `horizontal`); falls back to `line` otherwise. `horizontal` has no side borders, so the separator is drawn without T-junction endpoints.
    - Sections stack. Example combining all three:
      ```sh
      ps -ef | fzf --reverse --style full \
          --header 'Select a process' --header-lines 1 \
          --bind 'load:transform-footer:echo $FZF_TOTAL_COUNT processes' \
          --header-border dashed --header-first \
          --header-lines-border inline --footer-border inline
      ```
    - `--header-label` and `--footer-label` render on their respective separator row.
    - The separator inherits `--color list-border` when the section's own border color is not explicitly set.
    - `inline` takes precedence over `--header-first`: the inline section stays inside the list frame. `--header-border=inline` requires `--header-lines-border` to be `inline` or unset.
- New `dashed` border style with dashed edges (`╶` / `┆`) and rounded corners.
    - `--border=dashed`, `--list-border=dashed`, etc.
    - Works with inline sections (T-junctions render correctly).
- [vim] Move and resize popup window when detecting `VimResized` event (#4778) (@Vulcalien)
- Bug fixes
    - Fixed gutter display in `--style=minimal`
    - Fixed arrow keys / Home / End without modifiers being ignored under the kitty keyboard protocol (#4776) (@TymekDev)
    - bash: Persist history deletion when `histappend` is on (#4764)