All Versions
28
Latest Version
Avg Release Cycle
72 days
Latest Release
-

Changelog History
Page 1

  • v8.3.2 Changes

    🛠 Bugfixes

    • 🏁 Invalid absolute path on windows when searching from the drive root, see #931 and #936 (@gbarta)
  • v8.3.1 Changes

    🛠 Bugfixes

    • 👀 Stop implying --no-ignore-parent when --no-vcs-ignore is supplied, see #907, #901, #908 (@tmccombs)
    • fd no longer waits for the whole traversal if the only matches arrive within max_buffer_time, see #868 and #895 (@tavianator)
    • 👀 --max-results=1 now immediately quits after the first result, see #867
    • 👀 fd -h does not panic anymore when stdout is closed, see #897

    🔄 Changes

    • 👀 Disable jemalloc on FreeBSD, see #896 (@xanderio)
    • ⚡️ Updated man page, see #912 (@rlue)
    • ⚡️ Updated zsh completions, see #932 (@tmccombs)
  • v8.3.0 Changes

    🐎 Performance improvements

    • 👀 Colorized output is now significantly faster, see #720 and #853 (@tavianator)
    • 🐎 Writing to stdout is now buffered if the output does not go to a TTY. This increases performance when the output of fd is piped to another program or to a file, see #885 (@tmccombs, original implementation by @sourlemon207)
    • 📇 File metadata is now cached between the different filters that require it (e.g. --owner, --size), reducing the number of stat syscalls when multiple filters are used; see #863 (@tavianator, original implementation by @alexmaco)

    🔋 Features

    • 👀 Don't buffer command output from --exec when using a single thread. See #522
    • ➕ Add new -q, --quiet flag, see #303 (@Asha20)
    • ➕ Add new --no-ignore-parent flag, see #787 (@will459)
    • ➕ Add new --batch-size flag, see #410 (@devonhollowood)
    • ➕ Add opposing command-line options, see #595 (@Asha20)
    • ➕ Add support for more filesystem indicators in LS_COLORS, see https://github.com/sharkdp/lscolors/pull/35 (@tavianator)

    🛠 Bugfixes

    • 👀 Always show the ./ prefix for search results unless the output is a TTY or --strip-cwd-prefix is set, see #760 and #861 (@jcaplan)
    • 👀 Set default path separator to / in MSYS, see #537 and #730 (@aswild)
    • 👀 fd cannot search files under a RAM disk, see #752
    • 🏁 fd doesn't show substituted drive on Windows, see #365
    • 👀 Properly handle write errors to devices that are full, see #737
    • 👀 Use local time zone for time functions (--change-newer-than, --change-older-than), see #631 (@jacobmischka)
    • 👌 Support --list-details on more platforms (like BusyBox), see #783
    • The filters --owner, --size, and --changed-{within,before} now apply to symbolic links themselves, rather than the link target, except when --follow is specified; see #863
    • 🔄 Change time comparisons to be exclusive, see #794 (@jacobmischka)

    🔄 Changes

    • 👀 Apply custom --path-separator to commands run with --exec(-batch) and --list-details, see #697 (@aswild)

    Other

    • 📚 Many documentation updates
  • v8.2.1 Changes

    December 07, 2020

    🛠 No functional changes with respect to v8.2.0. Bugfix in the release process.

  • v8.2.0 Changes

    December 06, 2020

    🔋 Features

    • ➕ Add new --prune flag, see #535 (@reima)
    • 👌 Improved the usability of the time-based options, see #624 and #645 (@gorogoroumaru)
    • ➕ Add support for exact file sizes in the --size filter, see #669 and #696 (@Rogach)
    • 🖨 fd now prints an error message if the search pattern requires a leading dot but
      👀 --hidden is not enabled (Unix only), see #615

    🛠 Bugfixes

    • 👀 Avoid panic when performing limited searches in directories with restricted permissions, see #678
    • 👀 Invalid numeric command-line arguments are silently ignored, see #675
    • 👀 Disable jemalloc on Android, see #662
    • 👀 The --help text will be colorless if NO_COLOR has been set, see #600 (@xanonid)

    🔄 Changes

    • 🏁 If LS_COLORS is not set (e.g. on Windows), we now provide a more comprehensive default which
      👀 includes much more filetypes, see #604 and #682 (mjsir911).

    Other

  • v8.1.1 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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)