Releases: sharkdp/fd
Releases · sharkdp/fd
v8.2.0
Features
- Add new
--pruneflag, see #535 (@reima) - Improved the usability of the time-based options, see #624 and #645 (@gorogoroumaru)
- Add support for exact file sizes in the
--sizefilter, see #669 and #696 (@Rogach) fdnow prints an error message if the search pattern requires a leading dot but
--hiddenis 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
--helptext will be colorless ifNO_COLORhas been set, see #600 (@xanonid)
Changes
- If
LS_COLORSis 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
v8.1.0
Features
- Add new
--owner [user][:group]command-line option See #307 (pull #581) (@alexmaco)
This can be used to filter results by ownership:Note that the new option is currently not available on Windows.# 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'
- Add support for a global ignore file (
~/.config/fd/ignoreon 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
--globbehavior with empty pattern, see #579 (@SeamusConnor) - Fix
--list-detailson FreeBSD, DragonFly BSD, OpenBSD and NetBSD. See #573 (@t6)
Changes
- Updated documentation for
--size, see #584
v8.0.0
Features
- Add a new
-l/--list-detailsoption to show more details about the search results. This is
basically an alias for--exec-batch ls -lwith some additionallsoptions.
This can be used in order to: - 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 tohead -n <count>wherefdcan only
exit when it finds the search results<count> + 1. - Add the alias
-1for--max-results=1, see #561. (@SimplyDanny). - Add new
--type socketand--type pipefilters, 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-batchor--list-details. Infd's output, we replace non-UTF-8
sequences with the "�" character. However, if the output offdgoes to another process, we
print the actual bytes of the filename. For more details, see #558 and #295. LS_COLORSentries 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 aliasfd="fd --color=never"to
continue usingfdwithout colors. There is no change of behavior for
Windows 10. See #469. - When using
--globin 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. Usefd -xor
fd --execinstead. - Overall improved error handling and error messages.
Other
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-directoryto change the working directory in whichfdis run, see #509 and #475 (@hajdamak). fdwill not use colored output if theNO_COLORenvironment variable is set, see #550 and #551 (@metadave).fd --execwill 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 -Lshould 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
statsyscalls, 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/--globoption to switch to glob-based searches (instead of regular expression
based searches). This is accompanied by a new--regexoption 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/needfdto use/instead of\, see #428 and #153 (@mookid) - Added support for hidden files on Windows, see #379
- When
fdis run with the--exec-batch/-Xoption, 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-beforework for directories, see #470
Other
- Pre-built
fdbinaries should now be available forarmhftargets, see #457 (@detly) fdis now available on Alpine Linux, see #451 (@5paceToast)fdis 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)
fdcan 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_COLORShandling 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
fdwill 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--helptext, the man page, the relevant issue #165 and the PR #339 (@kimsnj) - Added
--show-errorsoption to enable the display of filesystem error messages such as "permission denied", see #311 (@psinghal20 and @majecty) - Added
--maxdepthas a (hidden) alias for--max-depth, see #323 (@mqudsi) - Added
--search-pathoption which can be supplied to replace the positionalpathargument at any position.
Changes
- Loosen strict handling of missing
--ignore-file, see #280 (@psinghal20) - Re-enabled
.ignorefiles, see #156.
Bugfixes
fdcould 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
fdhas 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
--sizefilter 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,
.gitignorefiles will only be respected in Git repositories, not outside. - A few performance improvements for
--typesearches, 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
.fdignorefiles, see #156 and #241. - Added
--ignore-fileoption to add custom ignore files, see #156. - Suggest
--fixed-stringson invalid regular expressions, see #234 (@PramodBisht) - Detect when user supplied path instead of pattern, see #235.
Changes
.ignoreand.rgignorefiles are not parsed anymore. Use.fdignorefiles
or add custom files via--ignore-fileinstead.- Updated to
regex-syntax0.5 (@cuviper)
Bugfixes
- Properly normalize absolute paths, see #268
- Invalid utf8 filenames displayed when
-eis used, see #250 - If
--typeis used, fifos/sockets/etc. are always shown, see #260
Other
- Packaging:
- The Arch Linux package is now simply called
fd. - There is now a
fdebuild for Gentoo Linux. - There is a
scooppackage forfd(Windows). - There is a
Chocolateypackage forfd(Windows). - There is a Fedora
coprpackage forfd.
- The Arch Linux package is now simply called