CHANGELOG

0.28.0

0.27.3

0.27.2

0.27.1

0.27.0

# “< /dev/tty” part is no longer needed ls | fzf –bind “enter:execute(vim })” “` - Bug fixes and improvements - Signed and notarized macOS binaries (Huge thanks to {BACKERS.md!)

0.26.0

0.25.1

0.25.0

“`sh # Default colors and attributes fzf

# Apply custom text attributes export FZF_DEFAULT_OPTS='–color fg+:italic,hl:-1:underline,hl+:-1:reverse:underline'

fzf

# Different colors but you still have the attributes fzf –color hl:176,hl+:177

# Write “regular” if you want to clear the attributes fzf –color hl:176:regular,hl+:177:regular - Renamed `--phony` to `--disabled` - You can dynamically enable and disable the search functionality using the new `enable-search`, `disable-search`, and `toggle-search` actions - You can assign a different color to the query string for when search is disabled sh fzf –color query:#ffffff,disabled:#999999 –bind space:toggle-search - Added `last` action to move the cursor to the last match - The opposite action `top` is renamed to `first`, but `top` is still recognized as a synonym for backward compatibility - Added `preview-top` and `preview-bottom` actions - Extended support for alt key chords: alt with any case-sensitive single character sh fzf –bind alt-,:first,alt-.:last “`

0.24.4

0.24.3

0.24.2

0.24.1

0.24.0

# Preview window can process ANSI escape sequence (CSI 2 J) for clearing the display fzf –preview 'for i in $(seq 100000); do (( i % 200 == 0 )) && printf “033[2J” echo “$i” sleep 0.01 done' - Updated `--color` option to support text styles - `regular` / `bold` / `dim` / `underline` / `italic` / `reverse` / `blink` sh # * Set -1 to keep the original color # * Multiple style attributes can be combined # * Italic style may not be supported by some terminals rg –line-number –no-heading –color=always “” | fzf –ansi –prompt “Rg: ” \ –color fg+:italic,hl:underline:-1,hl+:italic:underline:reverse:-1 \ –color pointer:reverse,prompt:reverse,input:159 \ –pointer ' ' - More `--border` options - `vertical`, `top`, `bottom`, `left`, `right` - Updated Vim plugin to use these new `--border` options vim “ Floating popup window in the center of the screen let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }

" Popup with 100% width
let g:fzf_layout = { 'window': { 'width': 1.0, 'height': 0.5, 'border': 'horizontal' } }

" Popup with 100% height
let g:fzf_layout = { 'window': { 'width': 0.5, 'height': 1.0, 'border': 'vertical' } }

" Similar to 'down' layout, but it uses a popup window and doesn't affect the window layout
let g:fzf_layout = { 'window': { 'width': 1.0, 'height': 0.5, 'yoffset': 1.0, 'border': 'top' } }

" Opens on the right;
"   'highlight' option is still supported but it will only take the foreground color of the group
let g:fzf_layout = { 'window': { 'width': 0.5, 'height': 1.0, 'xoffset': 1.0, 'border': 'left', 'highlight': 'Comment' } }
```

0.23.1

0.23.0

0.22.0

0.21.1

0.21.0

# New API: multiple fzf arguments before “–” # - Easier to write multiple options _fzf_complete –multi –reverse –prompt=“doge> ” – “$@” < <( echo foo ) “` - Bug fixes and improvements

0.20.0

# Can be now written as fzf –bind 'ctrl-a:up' –bind 'ctrl-a:+up'

# This is useful when you need to write special execute/reload form (i.e. execute:...) # to avoid parse errors and add more actions to the same key fzf –multi –bind 'ctrl-l:select-all+execute:less {+f}' –bind 'ctrl-l:+deselect-all' - Fixed parse error of `--bind` expression where concatenated execute/reload action contains `+` character. sh fzf –multi –bind 'ctrl-l:select-all+execute(less {+f})+deselect-all' “ - Fixed bugs of reload action - Not triggered when there's no match even when the command doesn't have any placeholder expressions - Screen not properly cleared when–header-lines` not filled on reload

0.19.0

0.18.0

0.17.5

0.17.4

See github.com/junegunn/fzf/milestone/12?closed=1 for the full list of changes.

0.17.3

0.17.1

0.17.0-2

A maintenance release for auxiliary scripts. fzf binaries are not updated.

0.17.0

0.16.11

0.16.10

0.16.9

0.16.8

0.16.7

0.16.6

0.16.5

0.16.4

0.16.3

0.16.2

0.16.1

0.16.0

0.15.9

0.15.8

0.15.7

0.15.6

0.15.5

0.15.4

0.15.3

0.15.2

0.15.1

0.15.0

0.13.5

0.13.4

0.13.3

0.13.2

0.13.1

0.13.0

0.12.2

0.12.1

0.12.0

0.11.4

0.11.3

0.11.2

0.11.1

0.11.0

0.10.9

0.10.8

0.10.7

0.10.6

0.10.5

0.10.4

0.10.3

0.10.2

Fixes and improvements

0.10.1

New features

Minor improvements/fixes

0.10.0

New features

Minor improvements/fixes

0.9.13

New features

Bug fixes

0.9.12

New features

Bug fixes

0.9.11

New features

Bug fixes

0.9.10

Improvements

New features

0.9.9

New features

0.9.8

Bug fixes

0.9.7

New features

Bug fixes

0.9.6

New features

Added --expect option (#163)

If you provide a comma-separated list of keys with --expect option, fzf will allow you to select the match and complete the finder when any of the keys is pressed. Additionally, fzf will print the name of the key pressed as the first line of the output so that your script can decide what to do next based on the information.

fzf --expect=ctrl-v,ctrl-t,alt-s,f1,f2,~,@

The updated vim plugin uses this option to implement {ctrlp}[https://github.com/kien/ctrlp.vim]-compatible key bindings.

Bug fixes

0.9.5

New features

Added --ansi option (#150)

If you give --ansi option to fzf, fzf will interpret ANSI color codes from the input, display the item with the ANSI colors (true colors are not supported), and strips the codes from the output. This option is off by default as it entails some overhead.

Improvements

Reduced initial memory footprint (#151)

By removing unnecessary copy of pointers, fzf will use significantly smaller amount of memory when it's started. The difference is hugely noticeable when the input is extremely large. (e.g. locate / | fzf)

Bug fixes

0.9.4

New features

Added --tac option to reverse the order of the input.

One might argue that this option is unnecessary since we can already put tac or tail -r in the command pipeline to achieve the same result. However, the advantage of --tac is that it does not block until the input is complete.

Backward incompatible changes

Changed behavior on --no-sort

--no-sort option will no longer reverse the display order within finder. You may want to use the new --tac option with --no-sort.

history | fzf +s --tac

Improvements

--filter will not block when sort is disabled

When fzf works in filtering mode (--filter) and sort is disabled (--no-sort), there's no need to block until input is complete. The new version of fzf will print the matches on-the-fly when the following condition is met:

--filter TERM --no-sort [--no-tac --no-sync]

or simply:

-f TERM +s

This change removes unnecessary delay in the use cases like the following:

fzf -f xxx +s | head -5

However, in this case, fzf processes the lines sequentially, so it cannot utilize multiple cores, and fzf will run slightly slower than the previous mode of execution where filtering is done in parallel after the entire input is loaded. If the user is concerned about this performance problem, one can add --sync option to re-enable buffering.

0.9.3

New features

Improvements