Skip to content

Releases: sharkdp/fd

v10.4.2

10 Mar 07:33
7027d45

Choose a tag to compare

Bugfixes

  • Fixed performance regression due to --ignore-contain; see #1913 and #1914

v10.4.1

08 Mar 08:41
4ea110d

Choose a tag to compare

This is just a re-release of 10.4.0 due to an issue with the 10.4.0 release.

v10.4.0

07 Mar 07:04
ff1f66c

Choose a tag to compare

Features

  • Add --ignore-contain option to ignore directories containing a named entry (e.g. to ignore CACHEDIR.TAG); see #1727 (@fischman).

Bugfixes

  • Fix Windows hyperlink generation for paths with spaces. (#1872)

  • --print0 combined with --exec will now print a \0 between the output of each entry. Note that if there are multiple instances
    of --exec, the \0 will be between each set of commands, not between each individual command run. Fixes #1797.

  • Several bugs were fixed by an update to the ignore library used for handling ignore rules

Changes

  • Minimum required rust version has been increased to 1.90.0. Notably, this means dropping fully support for intel Mac and Windows 7.
  • Statically link the CRT for MSVC builds via Cargo config to avoid runtime DLL dependencies, see #1874 (@FidelSch)

v10.3.0

26 Aug 08:18
d38148f

Choose a tag to compare

Features

  • Add a hidden --mindepth alias for --min-depth. (#1617)

Bugfixes

Changes

  • Replace humantime crate and chrono crate with jiff crate, see #1690 (@sorairolake). This has some small changes to the
    way dates given to options such --changed-within and --changed-before including:
    • 'M' no longer means "month", as that could be confusing with minutes. Use "mo", "mos", "month" or "months" instead.
    • month and year now account for variability in the calander rather than being a hard-coded number of seconds. That is probably
      what you would expect, but it is a slight change in behavior.
  • aarch64 Windows was added to CI and release artifacts
  • Many dependencies were updated
  • Better support building on Illumos (there is no automated testing, but some known issues were fixed)

Other

This will be the last release that has been tested on x86_64 Mac OS, since GitHub is
dropping support for runners with that hardware.

It may also be the last release to use a version of Rust with tier-1 support for
x86_64/intel Macs and Windows 7.

v10.2.0

23 Aug 06:36
b191368

Choose a tag to compare

Features

  • Add --hyperlink option to add OSC 8 hyperlinks to output

Changes

  • Build windows releases with rust 1.77 so windows 7 is still supported
  • Deb packages now include symlink for fdfind to be more consistent with official packages

New Contributors

Full Changelog: v10.1.0...v10.2.0

v10.1.0

08 May 06:41
289a68b

Choose a tag to compare

Features

  • Allow passing an optional argument to --strip-cwd-prefix of "always", "never", or "auto". to force whether the cwd prefix is stripped or not.
  • Add a --format option which allows using a format template for direct ouput similar to the template used for --exec. (#1043)

Bugfixes

Other

  • aarch64-apple-darwin target added to builds on the release page. Note that this is a tier 2 rust target.

v10.0.0

06 May 06:05
8acd772

Choose a tag to compare

Features

  • Add dir as an alias to directory when using -t \ --type, see #1460 and #1464 (@Ato2207).
  • Add support for @%s date format in time filters similar to GNU date (seconds since Unix epoch for --older/--newer), see #1493 (@nabellows)
  • Breaking: No longer automatically ignore .git when using --hidden with vcs ignore enabled. This reverts the change in v9.0.0. While this feature
    was often useful, it also broke some existing workflows, and there wasn't a good way to opt out of it. And there isn't really a good way for us to add
    a way to opt out of it. And you can easily get similar behavior by adding .git/ to your global fdignore file.
    See #1457.

Bugfixes

  • Respect NO_COLOR environment variable with --list-details option. (#1455)
  • Fix bug that would cause hidden files to be included despite gitignore rules
    if search path is "." (#1461, BurntSushi/ripgrep#2711).
  • aarch64 builds now use 64k page sizes with jemalloc. This fixes issues on some systems, such as ARM Macs that
    have a larger system page size than the system that the binary was built on. (#1547)
  • Address CVE-2024-24576, by increasing minimum rust version.

Changes

  • Minimum supported rust version is now 1.77.2

v9.0.0

19 Dec 10:31

Choose a tag to compare

Performance

  • This release is all about performance, which has been significantly improved, both due to optimizations in the underlying ignore crate (#1429 by @tavianator), and in fd itself (#1422, #1408, #1362 by @tavianator). Benchmark results show gains of 6-8x for full traversals of smaller directories (100k files) and up to 13x for larger directories (1M files).

  • The default number of threads is now constrained to be at most 64. This should improve startup time on systems with many CPU cores. (#1203, #1410, #1412, #1431) - @tmccombs and @tavianator

  • New flushing behavior when writing output to stdout, providing better performance for TTY and non-TTY use cases, see #1452 and #1313 (@tavianator).

Features

  • Support character and block device file types, see #1213 and #1336 (@cgzones)
  • Breaking: .git/ is now ignored by default when using --hidden / -H, use --no-ignore / -I or --no-ignore-vcs to override, see #1387 and #1396 (@skoriop)

Bugfixes

Other

Thanks

Special thanks to @tavianator for his incredible work on performance in the ignore crate and fd itself.

8.7.1

21 Oct 04:29
6b5fe1c

Choose a tag to compare

Bugfixes

  • -1 properly conflicts with the exec family of options.
  • --max-results overrides -1
  • --quiet properly conflicts with the exec family of options. This used to be the case, but broke during the switch to clap-derive
  • --changed-within now accepts a space as well as a "T" as the separator between date and time (due to update of chrono dependency)

Other

  • Many dependencies were updated
  • Some documentation was updated and fixed

v8.7.0

24 Feb 08:25

Choose a tag to compare

Features

  • Add flag --no-require-git to always respect gitignore files, see #1216 (@vegerot)

Bugfixes

  • Fix logic for when to use global ignore file. There was a bug where the only case where the
    global ignore file wasn't processed was if --no-ignore was passed, but neither --unrestricted
    nor --no-global-ignore-file is passed. See #1209