Releases: sharkdp/fd
v7.5.0
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 whichfd
is run, see #509 and #475 (@hajdamak). fd
will not use colored output if theNO_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
- Fixed 'command not found' error when using zsh completion, see #487 (@barskern).
fd -L
should include broken symlinks, see #357 and #497 (@tommilligan, @neersighted and @sharkdp)- Display directories even if we don't have permission to enter, see #437 (@sharkdp)
Changes
v7.4.0
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 toalias fd="fd --glob"
. See #284 - Added a new
--path-separator <sep>
option which can be useful for Windows users who
want/needfd
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 forarmhf
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)
v7.3.0
Features
- New
--exec-batch <cmd>
/-X <cmd>
option for batch execution of commands, see #360 (@kimsnj).
This allows you to do things like:fd … -X vim # open all search results in vim (or any other editor) fd … -X ls -l # view detailed stats about the search results with 'ls' fd -e svg -X inkscape # open all SVG files in Inkscape
- Support for 24-bit color codes (when specified via
LS_COLORS
) as well as
different font styles (bold, italic, underline).
Changes
- A few performance improvements, in particular when printing lots of colorized
results to the console, see #370 - The
LS_COLORS
handling has been "outsourced" to a separate crate (https://github.com/sharkdp/lscolors) that is now being used by other tools as well: fselect, lsd. For details, see #363.
Other
fd
will be available in Ubuntu Disco DIngo (19.04), see #373 (@sylvestre)- This release should come with a static ARM binary (
arm-unknown-linux-musleabihf
), see #320 (@duncanfinney) - Various documentation improvements, see #389
Thanks
Special thanks to @alexmaco for his awesome work on refactoring and code improvements! (see #401, #398, and #383)
v7.2.0
Features
- Added support for filtering by file modification time by adding two new options
--changed-before <date|duration>
and--changed-within <..>
. For more details, see the--help
text, the man page, the relevant issue #165 and the PR #339 (@kimsnj) - Added
--show-errors
option to enable the display of filesystem error messages such as "permission denied", see #311 (@psinghal20 and @majecty) - Added
--maxdepth
as a (hidden) alias for--max-depth
, see #323 (@mqudsi) - Added
--search-path
option which can be supplied to replace the positionalpath
argument at any position.
Changes
- Loosen strict handling of missing
--ignore-file
, see #280 (@psinghal20) - Re-enabled
.ignore
files, see #156.
Bugfixes
fd
could previously get stuck when run from the root directory in the
presence of zombie processes. This curious bug has been fixed in Rust 1.29 and higher. For more details, see #288, rust-lang/rust#50619 and the fix
Other
fd
has officially landed in Debian! See #345 for details. Thanks goes to @sylvestre, @paride and possibly others I don't know about.- Added Chinese translation of README (@chinanf-boy)
Thanks
A special thanks goes to @joshleeb for his amazing improvements throughout
the code base (new tests, refactoring work and various other things)!
v7.1.0
Features
- Added
--size
filter option, see #276 (@stevepentland, @JonathanxD and @alexmaco) - Added
--type empty
(or-t e
) to search for empty files and/or directories, see #273
Changes
- With the new version,
.gitignore
files will only be respected in Git repositories, not outside. - A few performance improvements for
--type
searches, see 641976c and 50a2bab
Other
v7.0.0
Features
- Added
--type executable
(or-t x
) to search for executable files only, see #246 (@PramodBisht) - Added support for
.fdignore
files, see #156 and #241. - Added
--ignore-file
option to add custom ignore files, see #156. - Suggest
--fixed-strings
on invalid regular expressions, see #234 (@PramodBisht) - Detect when user supplied path instead of pattern, see #235.
Changes
.ignore
and.rgignore
files are not parsed anymore. Use.fdignore
files
or add custom files via--ignore-file
instead.- Updated to
regex-syntax
0.5 (@cuviper)
Bugfixes
- Properly normalize absolute paths, see #268
- Invalid utf8 filenames displayed when
-e
is used, see #250 - If
--type
is used, fifos/sockets/etc. are always shown, see #260
Other
- Packaging:
- The Arch Linux package is now simply called
fd
. - There is now a
fd
ebuild for Gentoo Linux. - There is a
scoop
package forfd
(Windows). - There is a
Chocolatey
package forfd
(Windows). - There is a Fedora
copr
package forfd
.
- The Arch Linux package is now simply called
v6.3.0
Features
-
Files with multiple extensions can now be found via
--extension
/-e
, see #214 (@althonos)> fd -e tar.gz
-
Added new
-F
/--fixed-strings
/--literal
option that treats the pattern as a literal string instead of a regular expression, see #157> fd -F 'file(1).txt'
-
Allow
-exec
to work as--exec
, see #226 (@stevepentland)
Bugfixes
-
Fixed
Ctrl-C
handling when using--exec
, see #224 (@Doxterpepper) -
Fixed wrong file owner for files in deb package, see #213
Other
- Replaced old gif by a fancy new SVG screencast (@marionebl)
- Updated benchmark results (fd has become faster in the meantime!). There is a new repository that hosts several benchmarking scripts for fd: https://github.com/sharkdp/fd-benchmarks
v6.2.0
Features
-
Support for filtering by multiple file extensions and multiple file types, see #199 and #177
(@tkadur).For example, it's possible to search for C++ source or header files:
> fd -e cpp -e c -e cxx -e h pattern
Changes
- The size of the output buffer (for sorting search results) is now limited to 1000 entries. This
improves the search speed significantly if there are a lot of results, see #191 (@sharkdp).
Bugfixes
- Fix a bug where long-running searches could not be killed via Ctrl-C, see #210 (@Doxterpepper)
- fd's exit codes are now in accordance with Unix standards, see #201 (@Doxterpepper)
Other
v6.1.0
Features
- Support for multiple search paths, see #166 (@Doxterpepper)
- Added
--no-ignore-vcs
option to disable.gitignore
and other VCS ignore files,
without disabling.ignore
files - see #156 (@ptzz).
Bugfixes
- Handle terminal signals, see #128 (@Doxterpepper)
- Fixed hang on
--exec
when user input was required, see #178 and #193 (@reima)
Other
- Debian packages are now created via Travis CI and should be available for this and all
future releases (@tmccombs). - fd is now available on Void Linux (@maxice8)
- The minimum required Rust version is now 1.20
Thanks
@Doxterpepper deserves a special mention for his great work that is included in this release and
for the support in ticket discussions and concerning Travis CI fixes. Thank you very much!
Thanks also go out to @tmccombs for the work on Debian packages and for reviewing a lot of pull requests!
v6.0.0
Changes
- The
--exec
/-x
option does not spawn an intermediate shell anymore. This improves the
performance of parallel command execution and fixes a whole class of (present and potentially
future) problems with shell escaping. The drawback is that shell commands cannot directly be
called with--exec
. See #155 for the full discussion. These changes have been implemented by
@reima (Thanks!).
Bugfixes
--exec
does not escape cmd.exe metacharacters on Windows (see #155, as above).
Other
- fd is now available in the FreeBSD ports (@andoriyu)
- The minimal
rustc
version is now checked when building withcargo
, see #164 (@matematikaadit) - The output directory for the shell completion files is created if it does not exist (@andoriyu)