Skip to content

Releases: sharkdp/fd

v8.5.1

02 Nov 12:48
Compare
Choose a tag to compare

Bugfixes

v8.5.0

01 Nov 20:34
Compare
Choose a tag to compare

Features

Bugfixes

  • Fixed differences between piped / non-piped output. This changes fds behavior back to what we
    had before 8.3.0, i.e. there will be no leading ./ prefixes, unless --exec/-x,
    --exec-batch/-X, or --print0/-0 are used. --strip-cwd-prefix can be used to strip that
    prefix in those cases. See #1046, #1115, and #1121 (@tavianator)
  • fd could previously crash with a panic due to a race condition in Rusts standard library
    (see rust-lang/rust#39364). This has been fixed by switching to a different
    message passing implementation, see #1060 and #1146 (@tavianator)
  • fds memory usage will not grow unboundedly on huge directory trees, see #1146 (@tavianator)
  • fd returns an error when current working directory does not exist while a search path is
    specified, see #1072 (@vijfhoek)
  • Improved "command not found" error message, see #1083 and #1109 (@themkat)
  • Preserve command exit codes when using --exec-batch, see #1136 and #1137 (@amesgen)

Changes

  • No leading ./ prefix for non-interactive results, see above.
  • fd now colorizes paths in parallel, significantly improving performance, see #1148 (@tavianator)
  • fd can now avoid stat syscalls even when colorizing paths, as long as the color scheme doesn't
    require metadata, see #1148 (@tavianator)
  • The statically linked musl versions of fd now use jmalloc, leading to a significant performance
    improvement, see #1062 (@tavianator)

Other

v8.4.0

29 May 09:29
Compare
Choose a tag to compare

Features

Bugfixes

  • "Argument list too long" errors can not appear anymore when using --exec-batch/-X, as the command invocations are automatically batched at the maximum possible size, even if --batch-size is not given. See #410 and #1020 (@tavianator)

Changes

  • Directories are now printed with an additional path separator at the end: foo/bar/, see #436 and #812 (@yyogo)
  • The -u flag was changed to be equivalent to -HI (previously, a single -u was only equivalent to -I). Additional -u flags are still allowed, but ignored. See #840 and #986 (@jacksontheel)

Other

  • Added installation instructions for RHEL8, see #989 (@ethsol)

v8.3.2

29 Jan 15:57
Compare
Choose a tag to compare

Bufixes

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

v8.3.1

06 Jan 13:20
Compare
Choose a tag to compare

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 (@tavianator)
  • fd -h does not panic anymore when stdout is closed, see #897

Changes

v8.3.0

26 Nov 21:21
Compare
Choose a tag to compare

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

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

07 Dec 18:03
Compare
Choose a tag to compare

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

v8.2.0

06 Dec 15:06
Compare
Choose a tag to compare

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

25 May 13:39
Compare
Choose a tag to compare

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

19 May 16:51
Compare
Choose a tag to compare

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 john
    fd exercise --type file --owner john
    
    # files/directories that are not owned by john
    fd --owner '!john'
    
    # … owned by the 'students' group
    fd --owner ':students'
    
    # … owned by the 'students' group, but not by john
    fd --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