Skip to content

v8.0.0

Compare
Choose a tag to compare
@sharkdp sharkdp released this 16 Apr 08:30

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)