fzf v0.9.4 Release Notes

  • ๐Ÿ†• 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.