Skip to content

Features

  • New --exec-batch <cmd>/-X <cmd> option for batch execution of commands, see #360 (@kimsnj).
    This allows you to do things like:
    fd … -X vim  # open all search results in vim (or any other editor)
    fd … -X ls -l  # view detailed stats about the search results with 'ls'
    fd -e svg -X inkscape  # open all SVG files in Inkscape
  • Support for 24-bit color codes (when specified via LS_COLORS) as well as
    different font styles (bold, italic, underline).

Changes

  • A few performance improvements, in particular when printing lots of colorized
    results to the console, see #370
  • The LS_COLORS handling has been "outsourced" to a separate crate (https://github.com/sharkdp/lscolors) that is now being used by other tools as well: fselect, lsd. For details, see #363.

Other

  • fd will be available in Ubuntu Disco DIngo (19.04), see #373 (@sylvestre)
  • This release should come with a static ARM binary (arm-unknown-linux-musleabihf), see #320 (@duncanfinney)
  • Various documentation improvements, see #389

Thanks

Special thanks to @alexmaco for his awesome work on refactoring and code improvements! (see #401, #398, and #383)

Assets 17

@sharkdp sharkdp released this Oct 27, 2018 · 46 commits to master since this release

Features

  • Added support for filtering by file modification time by adding two new options --changed-before <date|duration> and --changed-within <..>. For more details, see the --help text, the man page, the relevant issue #165 and the PR #339 (@kimsnj)
  • Added --show-errors option to enable the display of filesystem error messages such as "permission denied", see #311 (@psinghal20 and @majecty)
  • Added --maxdepth as a (hidden) alias for --max-depth, see #323 (@mqudsi)
  • Added --search-path option which can be supplied to replace the positional path argument at any position.

Changes

  • Loosen strict handling of missing --ignore-file, see #280 (@psinghal20)
  • Re-enabled .ignore files, see #156.

Bugfixes

  • fd could previously get stuck when run from the root directory in the
    presence of zombie processes. This curious bug has been fixed in Rust 1.29 and higher. For more details, see #288, rust-lang/rust#50619 and the fix

Other

  • fd has officially landed in Debian! See #345 for details. Thanks goes to @sylvestre, @paride and possibly others I don't know about.
  • Added Chinese translation of README (@chinanf-boy)

Thanks

A special thanks goes to @joshleeb for his amazing improvements throughout
the code base (new tests, refactoring work and various other things)!

Assets 16

@sharkdp sharkdp released this Aug 19, 2018 · 81 commits to master since this release

Features

Changes

  • With the new version, .gitignore files will only be respected in Git repositories, not outside.
  • A few performance improvements for --type searches, see 641976c and 50a2bab

Other

  • Starting with this release, we will offer pre-built ARM binaries, see #244
  • Added instructions on how to use fd with emacs, see #282 (@redguardtoo)
  • fd is now in the official openSUSE repositories, see #275 (@avindra)
  • fd is now available via MacPorts, see #291 (@raimue)
Assets 16

@sharkdp sharkdp released this Mar 26, 2018 · 113 commits to master since this release

Features

  • Added --type executable (or -t x) to search for executable files only, see #246 (@PramodBisht)
  • Added support for .fdignore files, see #156 and #241.
  • Added --ignore-file option to add custom ignore files, see #156.
  • Suggest --fixed-strings on invalid regular expressions, see #234 (@PramodBisht)
  • Detect when user supplied path instead of pattern, see #235.

Changes

  • .ignore and .rgignore files are not parsed anymore. Use .fdignore files
    or add custom files via --ignore-file instead.
  • Updated to regex-syntax 0.5 (@cuviper)

Bugfixes

  • Properly normalize absolute paths, see #268
  • Invalid utf8 filenames displayed when -e is used, see #250
  • If --type is used, fifos/sockets/etc. are always shown, see #260

Other

  • Packaging:
    • The Arch Linux package is now simply called fd.
    • There is now a fd ebuild for Gentoo Linux.
    • There is a scoop package for fd (Windows).
    • There is a Chocolatey package for fd (Windows).
    • There is a Fedora copr package for fd.
Assets 15

@sharkdp sharkdp released this Feb 10, 2018 · 150 commits to master since this release

Features

  • Files with multiple extensions can now be found via --extension/-e, see #214 (@althonos)

    > fd -e tar.gz
  • Added new -F/--fixed-strings/--literal option that treats the pattern as a literal string instead of a regular expression, see #157

    > fd -F 'file(1).txt'
  • Allow -exec to work as --exec, see #226 (@stevepentland)

Bugfixes

  • Fixed Ctrl-C handling when using --exec, see #224 (@Doxterpepper)

  • Fixed wrong file owner for files in deb package, see #213

Other

Assets 15

@sharkdp sharkdp released this Jan 3, 2018 · 178 commits to master since this release

Features

  • Support for filtering by multiple file extensions and multiple file types, see #199 and #177
    (@tkadur).

    For example, it's possible to search for C++ source or header files:

    > fd -e cpp -e c -e cxx -e h pattern

Changes

  • The size of the output buffer (for sorting search results) is now limited to 1000 entries. This
    improves the search speed significantly if there are a lot of results, see #191 (@sharkdp).

Bugfixes

  • Fix a bug where long-running searches could not be killed via Ctrl-C, see #210 (@Doxterpepper)
  • fd's exit codes are now in accordance with Unix standards, see #201 (@Doxterpepper)

Other

  • Bash, zsh and fish completion should now work with the Ubuntu .deb packages, see #195 and #209
    (@tmccombs and @sharkdp)
  • There is a new section on how to set up fzf to use fd in the
    README, see #168.
Assets 15

@sharkdp sharkdp released this Dec 10, 2017 · 0 commits to b2797c0c450f40a098ae0267dbd7a1d8be9fd0ef since this release

Features

  • Support for multiple search paths, see #166 (@Doxterpepper)
  • Added --no-ignore-vcs option to disable .gitignore and other VCS ignore files,
    without disabling .ignore files - see #156 (@ptzz).

Bugfixes

Other

  • Debian packages are now created via Travis CI and should be available for this and all
    future releases (@tmccombs).
  • fd is now available on Void Linux (@maxice8)
  • The minimum required Rust version is now 1.20

Thanks

@Doxterpepper deserves a special mention for his great work that is included in this release and
for the support in ticket discussions and concerning Travis CI fixes. Thank you very much!

Thanks also go out to @tmccombs for the work on Debian packages and for reviewing a lot of pull requests!

Assets 15

@sharkdp sharkdp released this Nov 16, 2017 · 208 commits to master since this release

Changes

  • The --exec/-x option does not spawn an intermediate shell anymore. This improves the
    performance of parallel command execution and fixes a whole class of (present and potentially
    future) problems with shell escaping. The drawback is that shell commands cannot directly be
    called with --exec. See #155 for the full discussion. These changes have been implemented by
    @reima (Thanks!).

Bugfixes

  • --exec does not escape cmd.exe metacharacters on Windows (see #155, as above).

Other

  • fd is now available in the FreeBSD ports (@andoriyu)
  • The minimal rustc version is now checked when building with cargo, see #164 (@matematikaadit)
  • The output directory for the shell completion files is created if it does not exist (@andoriyu)
Assets 11

@sharkdp sharkdp released this Oct 26, 2017 · 225 commits to master since this release

Features

  • Added new --exec, -x option for parallel command execution (@mmstick, see #84 and #116). See the corresponding README section for an introduction.
  • Auto-disable color output on unsupported Windows shells like cmd.exe (@iology, see #129)
  • Added the --exclude, -X option to suppress certain files/directories in the search results
    (see #89).
  • Added ripgrep aliases -u and -uu for --no-ignore and --no-ignore --hidden, respectively
    (@unsignedint, see #92)
  • Added -i, --ignore-case (@iology, see #95)
  • Made smart case really smart (@reima, see #103)
  • Added RedoxOS support (@goyox86, see #131)

Changes

  • The dot . can now match newlines in file names (@iology, see #111)
  • The short --type argument for symlinks has been changed from s to l (@jcpetkovich, see #83)

Bugfixes

  • Various improvements in root-path and symlink handling (@iology, see #82, #107, and #113)
  • Fixed absolute path handling on Windows (@reima, #93)
  • Fixed: current directory not included when using relative path (see #81)
  • Fixed --type behavior for unknown file types (@iology, see #150)
  • Some fixes around --exec (@iology, see #142)

Other

  • Major updates and bugfixes to our continuous integration and deployment tooling on Travis
    (@matematikaadit, see #149, #145, #133)
  • Code style improvements & automatic style checking via rustfmt on Travis (@Detegr, see #99)
  • Added a man page (@pickfire, see #77)
  • fd has been relicensed under the dual license MIT/Apache-2.0 (@Detegr, see #105)
  • Major refactorings and code improvements (Big thanks to @gsquire, @reima, @iology)
  • First version of CONTRIBUTING guidelines
  • There is now a Nix package (@mehandes)
  • fd is now in the official Arch Linux repos (@cassava)
  • Improved tooling around shell completion files (@ImbaKnugel, see #124)
  • Updated tutorial in the README
  • The minimum required version of Rust has been bumped to 1.19.

Thanks

A lot of things have happened since the last release and I'd like to thank all contributors for their great support. I'd also like to thank those that have contributed by reporting bugs and by posting feature requests.

I'd also like to take this chance to say a special Thank You to a few people that have stood out in one way or another: To @iology, for contributing a multitude of bugfixes, improvements and new features. To @reima and @Detegr for their continuing great support. To @mmstick, for implementing the most advanced new feature of fd. And to @matematikaadit for the CI/tooling upgrades.

Assets 11

@sharkdp sharkdp released this Oct 7, 2017 · 296 commits to master since this release

Features

  • Added filtering by file extension, for example fd -e txt, see #56 (@reima)
  • Add option to force colored output: --color always, see #49 (@Detegr)
  • Generate Shell completions for Bash, ZSH, Fish and Powershell, see #64 (@ImbaKnugel)
  • Better & extended --help text (@abaez and @Detegr)
  • Proper Windows support, see #70

Changes

  • The integration tests have been re-written in Rust , making them platform-independent and easily callable via cargo test - see #65 (many thanks to @reima!)
  • New tutorial in the README (@deg4uss3r)
  • Reduced number of stat syscalls for each result from 3 to 1, see #36.
  • Enabled Appveyor CI
Assets 7
You can’t perform that action at this time.