0.47.0
junegunn/fzf0.47.0Mar 10, 2024by junegunn
Upgrading?
Release notes summary
Replaced the default find command with a built-in parallel directory walker, which changes behavior regarding hidden files and ordering.
Key Highlights
- Replaced default find command with a built-in parallel walker.
- Added `$FZF_DEFAULT_OPTS_FILE` to manage default options in a file.
- Hidden files are now listed (previously ignored).
- Traversal is parallelized, so the order of entries is non-deterministic.
Breaking Changes
- Hidden files are now listed (previously ignored).
- No filtering of `devtmpfs` or `proc` types.
- Traversal is parallelized, resulting in non-deterministic entry order.
New Features
- Built-in parallel walker
- $FZF_DEFAULT_OPTS_FILE
Full Release Notes
- Replaced ["the default find command"][find] with a built-in directory walker to simplify the code and to achieve better performance and consistent behavior across platforms. This doesn't affect you if you have `$FZF_DEFAULT_COMMAND` set.
- Breaking changes:
- Unlike [the previous "find" command][find], the new traversal code will list hidden files, but hidden directories will still be ignored
- No filtering of `devtmpfs` or `proc` types
- Traversal is parallelized, so the order of the entries will be different each time
- You may wonder why fzf implements directory walker anyway when it's a filter program following the Unix philosophy. But fzf has had [the walker code for years][walker] to tackle the performance problem on Windows. And I decided to use the same approach on different platforms as well for the benefits listed above.
- Built-in walker is using the excellent [charlievieth/fastwalk][fastwalk] library, which easily outperforms its competitors and supports safely following symlinks.
- Added `$FZF_DEFAULT_OPTS_FILE` to allow managing default options in a file
- See [#3618](https://github.com/junegunn/fzf/pull/3618)
- Option precedence from lower to higher
1. Options read from `$FZF_DEFAULT_OPTS_FILE`
1. Options from `$FZF_DEFAULT_OPTS`
1. Options from command-line arguments
- Bug fixes and improvements
[find]: https://github.com/junegunn/fzf/blob/0.46.1/src/constants.go#L60-L64
[walker]: https://github.com/junegunn/fzf/pull/1847
[fastwalk]: https://github.com/charlievieth/fastwalk
Related Repositories
ollama/ollama★ 184,711
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,124
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,830
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugo★ 90,227
The world’s fastest framework for building websites.
caddyserver/caddy★ 78,391
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS