All Versions
23
Latest Version
Avg Release Cycle
69 days
Latest Release
183 days ago

Changelog History
Page 1

  • v8.1.1

    May 25, 2020

    ๐Ÿ›  Bugfixes

    • ๐Ÿ‘Œ Support colored output on older Windows versions if either (1) --color=always is set or (2) the TERM environment variable is set. See #469
  • v8.1.0

    May 19, 2020

    ๐Ÿ”‹ Features

    • โž• Add new --owner [user][:group] command-line option See #307 (pull #581) (@alexmaco)
      This can be used to filter results by ownership:

      files matching the 'exercise' pattern, owned by johnfd exercise --type file --owner john# files/directories that are not owned by johnfd --owner '!john'# โ€ฆ owned by the 'students' groupfd --owner ':students'# โ€ฆ owned by the 'students' group, but not by johnfd --owner '!john:students'

    ๐Ÿ Note that the new option is currently not available on Windows.

    • โž• Add support for a global ignore file (~/.config/fd/ignore on Unix), see #575 (@soedirgo)
    • ๐Ÿ‘€ Do not exit immediately if one of the search paths is missing, see #587 (@DJRHails)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ Reverted a change from fd 8.0 that enabled colors on all Windows terminals (see below) in order to support older Windows versions again, see #577. Unfortunately, this re-opens #469
    • ๐Ÿ›  Fix segfault caused by jemalloc on macOS Catalina, see #498
    • ๐Ÿ›  Fix --glob behavior with empty pattern, see #579 (@SeamusConnor)
    • ๐Ÿ›  Fix --list-details on FreeBSD, DragonFly BSD, OpenBSD and NetBSD. See #573 (@t6)

    ๐Ÿ”„ Changes

    • ๐Ÿ“š Updated documentation for --size, see #584
  • v8.0.0

    April 16, 2020

    ๐Ÿ”‹ Features

    • โž• Add a new -l/--list-details option to show more details about the search results. This is
      basically an alias for --exec-batch ls -l with some additional ls options.
      This can be used in order to:
      • see metadata like permissions, owner, file size, modification times (#491)
      • see symlink targets (#482)
      • achieve a deterministic output order (#324, #196, #159)
    • โž• Add a new --max-results=<count> option to limit the number of search results, see #472, #476 and #555
      This can be useful to speed up searches in cases where you know that there are only N results.
      Using this option is also (slightly) faster than piping to head -n <count> where fd can only
      exit when it finds the search results <count> + 1.
    • โž• Add the alias -1 for --max-results=1, see #561. (@SimplyDanny).
    • โž• Add new --type socket and --type pipe filters, see #511.
    • โž• Add new --min-depth <depth> and --exact-depth <depth> options in addition to the existing option
      ๐Ÿ‘€ to limit the maximum depth. See #404.
    • ๐Ÿ‘Œ Support additional ANSI font styles in LS_COLORS: faint, slow blink, rapid blink, dimmed, hidden and strikethrough.

    ๐Ÿ›  Bugfixes

    • Preserve non-UTF8 filenames: invalid UTF-8 filenames are now properly passed to child-processes
      when using --exec, --exec-batch or --list-details. In fd's output, we replace non-UTF-8
      sequences with the "๏ฟฝ" character. However, if the output of fd goes to another process, we
      ๐Ÿ‘€ print the actual bytes of the filename. For more details, see #558 and #295.
    • ๐Ÿ’… LS_COLORS entries with unsupported font styles are not completely ignored, see #552

    ๐Ÿ”„ Changes

    • ๐Ÿ Colored output will now be enabled by default on older Windows versions.
      ๐Ÿ‘ This allows the use of colored output if the terminal supports it (e.g.
      MinTTY, Git Bash). On the other hand, this will be a regression for users
      ๐Ÿ on older Windows versions with terminals that do not support ANSI escape
      sequences. Affected users can use an alias fd="fd --color=never" to
      continue using fd without colors. There is no change of behavior for
      ๐Ÿ Windows 10. See #469.
    • When using --glob in combination with --full-path, a * character does not match a path
      separation character (/ or \\) anymore. You can use ** for that. This allows things like
      fd -p -g '/some/base/path/*/*/*.txt' which would previously match to arbitrary depths (instead
      ๐Ÿ‘€ of exactly two folders below /some/base/path. See #404.
    • ๐Ÿšš "Legacy" support to use fd -exec (with a single dash) has been removed. Use fd -x or
      fd --exec instead.
    • Overall improved error handling and error messages.

    Other

    • ๐ŸŽ Package maintainers on MacOS and Windows might think about adding (GNU) ls as an optional dependency for fd to make full use of fds new -l/--list-details option. For MacOS, fd relies on gls which should be available via coreutils.
    • ๐ŸŒ Korean translation of the README, see: ํ•œ๊ตญ์–ด (@spearkkk)
  • v7.5.0

    March 22, 2020

    ๐Ÿ”‹ Features

    • โž• Added --one-file-system (aliases: --mount, --xdev) to not cross file system boundaries on Unix and Windows, see #507 (@FallenWarrior2k).
    • โž• Added --base-directory to change the working directory in which fd is run, see #509 and #475 (@hajdamak).
    • ๐Ÿ‘€ fd will not use colored output if the NO_COLOR environment variable is set, see #550 and #551 (@metadave).
    • ๐Ÿ‘€ fd --exec will return exit code 1 if one of the executed commands fails, see #526 and #531 (@fusillicode and @Giuffre)

    ๐Ÿ› Bug Fixes

    ๐Ÿ”„ Changes

    • ๐Ÿ‘€ A flag can now be passed multiple times without producing an error, see #488 and #496 (@rootbid).
    • ๐Ÿ‘€ Search results are sorted when using the -X option to match the behaviour of piping to xargs, see #441 and #524 (@Marcoleni @crash-g).
  • v7.4.0

    September 15, 2019

    ๐ŸŽ Performance improvements

    • ๐Ÿ“‡ Reduce number of stat syscalls, improving the performance for searches where file metadata is
      ๐Ÿ‘€ required (--type, --size, --changed-within, โ€ฆ), see #434 (@tavianator)
    • ๐ŸŽ Use jemalloc by default, improving the performance for almost all searches, see #481. Note that
      Windows and *musl* builds do not profit from this.

    ๐Ÿ”‹ Features

    • โž• Added a new -g/--glob option to switch to glob-based searches (instead of regular expression
      based searches). This is accompanied by a new --regex option that can be used to switch back,
      ๐Ÿ‘€ if users want to alias fd="fd --glob". See #284
    • โž• Added a new --path-separator <sep> option which can be useful for Windows users who
      ๐Ÿ‘€ want/need fd to use / instead of \, see #428 and #153 (@mookid)
    • โž• Added support for hidden files on Windows, see #379
    • When fd is run with the --exec-batch/-X option, it now exposes the exit status of the
      ๐Ÿ‘€ command that was run, see #333.
    • ๐Ÿ‘€ Exit immediately when Ctrl-C has been pressed twice, see #423

    ๐Ÿ›  Bugfixes

    • ๐Ÿ‘€ Make --changed-within/--changed-before work for directories, see #470

    Other

    • ๐Ÿ‘€ Pre-built fd binaries should now be available for armhf targets, see #457 (@detly)
    • ๐Ÿง fd is now available on Alpine Linux, see #451 (@5paceToast)
    • ๐Ÿ‘€ fd is now in the officla FreeBSD repositories, see #412 (@t6)
    • โž• Added OpenBSD install instructions, see #421 (@evitalis)
    • โž• Added metadata to the Debian package, see #416 (@cathalgarvey)
    • ๐Ÿ‘€ fd can be installed via npm, see #438 (@pablopunk)
  • v7.3.0

    February 13, 2019

    ๐Ÿ”‹ 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)

  • v7.2.0

    October 27, 2018

    ๐Ÿ”‹ 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)!

  • v7.1.0

    August 19, 2018

    ๐Ÿ”‹ 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)
  • v7.0.0

    March 26, 2018

    ๐Ÿ”‹ 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.
  • v6.3.0

    February 10, 2018

    ๐Ÿ”‹ 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