v0.64.0

junegunn/fzfv0.64.0Jul 6, 2025by junegunn

AI Summary

Adds a `multi` event for tracking selection changes and normalizes fullwidth characters to ASCII for matching.

Key Highlights

  • `multi` event is triggered when the multi-selection state changes.
  • Halfwidth and fullwidth characters are now normalized to ASCII for matching.
  • Renamed `clear-selection` action to `clear-multi` for consistency (backward compatible alias provided).

Breaking Changes

  • Renamed `clear-selection` action to `clear-multi`

New Features

  • `multi` event
  • Fullwidth character normalization

Full Release Notes

- Added `multi` event that is triggered when the multi-selection has changed.
  ```sh
  fzf --multi \
      --bind 'ctrl-a:select-all,ctrl-d:deselect-all' \
      --bind 'multi:transform-footer:(( FZF_SELECT_COUNT )) && echo "Selected $FZF_SELECT_COUNT item(s)"'
  ```
- [Halfwidth and fullwidth alphanumeric and punctuation characters](https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)) are now internally normalized to their ASCII equivalents to allow matching with ASCII queries.
  ```sh
  echo ABC| fzf -q abc
  ```
- Renamed `clear-selection` action to `clear-multi` for consistency.
    - `clear-selection` remains supported as an alias for backward compatibility.
- Bug fixes
    - Fixed a bug that could cause fzf to abort due to incorrect update ordering.
    - Fixed a bug where some multi-selections were lost when using `exclude` or `change-nth`.