fd v8.0.0 Release Notes

Release Date: 2020-04-16 // about 4 years ago
  • ๐Ÿ”‹ 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)