sharkdp/fd (sharkdp/fd)
### [`v10.1.0`](https://togithub.com/sharkdp/fd/releases/tag/v10.1.0)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v10.0.0...v10.1.0)
#### 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](https://togithub.com/sharkdp/fd/issues/1043))
#### Bugfixes
- Fix aarch64 page size again. This time it should actually work. ([#1085](https://togithub.com/sharkdp/fd/issues/1085), [#1549](https://togithub.com/sharkdp/fd/issues/1549)) ([@tavianator](https://togithub.com/tavianator))
#### Other
- aarch64-apple-darwin target added to builds on the release page. Note that this is a tier 2 rust target.
### [`v10.0.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v1000)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v9.0.0...v10.0.0)
#### Features
- Add `dir` as an alias to `directory` when using `-t` \ `--type`, see [#1460](https://togithub.com/sharkdp/fd/issues/1460) and [#1464](https://togithub.com/sharkdp/fd/issues/1464) ([@Ato2207](https://togithub.com/Ato2207)).
- Add support for @%s date format in time filters similar to GNU date (seconds since Unix epoch for --older/--newer), see [#1493](https://togithub.com/sharkdp/fd/issues/1493) ([@nabellows](https://togithub.com/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](https://togithub.com/sharkdp/fd/issues/1457).
#### Bugfixes
- Respect NO_COLOR environment variable with `--list-details` option. ([#1455](https://togithub.com/sharkdp/fd/issues/1455))
- Fix bug that would cause hidden files to be included despite gitignore rules
if search path is "." ([#1461](https://togithub.com/sharkdp/fd/issues/1461), [BurntSushi/ripgrep#2711](https://togithub.com/BurntSushi/ripgrep/issues/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](https://togithub.com/sharkdp/fd/issues/1547))
- Address [CVE-2024-24576](https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html), by increasing minimum rust version.
#### Changes
- Minimum supported rust version is now 1.77.2
### [`v9.0.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v900)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.7.1...v9.0.0)
#### Performance
- Performance has been *significantly improved*, both due to optimizations in the underlying `ignore`
crate ([#1429](https://togithub.com/sharkdp/fd/issues/1429)), and in `fd` itself ([#1422](https://togithub.com/sharkdp/fd/issues/1422), [#1408](https://togithub.com/sharkdp/fd/issues/1408), [#1362](https://togithub.com/sharkdp/fd/issues/1362)) - [@tavianator](https://togithub.com/tavianator).
[Benchmarks results](https://gist.github.com/tavianator/32edbe052f33ef60570cf5456b59de81) 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](https://togithub.com/sharkdp/fd/issues/1203), [#1410](https://togithub.com/sharkdp/fd/issues/1410), [#1412](https://togithub.com/sharkdp/fd/issues/1412), [#1431](https://togithub.com/sharkdp/fd/issues/1431)) - [@tmccombs](https://togithub.com/tmccombs) and [@tavianator](https://togithub.com/tavianator)
- New flushing behavior when writing output to stdout, providing better performance for TTY and non-TTY
use cases, see [#1452](https://togithub.com/sharkdp/fd/issues/1452) and [#1313](https://togithub.com/sharkdp/fd/issues/1313) ([@tavianator](https://togithub.com/tavianator)).
#### Features
- Support character and block device file types, see [#1213](https://togithub.com/sharkdp/fd/issues/1213) and [#1336](https://togithub.com/sharkdp/fd/issues/1336) ([@cgzones](https://togithub.com/cgzones))
- Breaking: `.git/` is now ignored by default when using `--hidden` / `-H`, use `--no-ignore` / `-I` or
`--no-ignore-vcs` to override, see [#1387](https://togithub.com/sharkdp/fd/issues/1387) and [#1396](https://togithub.com/sharkdp/fd/issues/1396) ([@skoriop](https://togithub.com/skoriop))
#### Bugfixes
- Fix `NO_COLOR` support, see [#1421](https://togithub.com/sharkdp/fd/issues/1421) ([@acuteenvy](https://togithub.com/acuteenvy))
#### Other
- Fixed documentation typos, see [#1409](https://togithub.com/sharkdp/fd/issues/1409) ([@marcospb19](https://togithub.com/marcospb19))
#### Thanks
Special thanks to [@tavianator](https://togithub.com/tavianator) for his incredible work on performance in the `ignore` crate and `fd` itself.
### [`v8.7.1`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v871)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.7.0...v8.7.1)
#### 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`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v870)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.6.0...v8.7.0)
#### Features
- Add flag --no-require-git to always respect gitignore files, see [#1216](https://togithub.com/sharkdp/fd/issues/1216) ([@vegerot](https://togithub.com/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](https://togithub.com/sharkdp/fd/issues/1209)
### [`v8.6.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v860)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.5.3...v8.6.0)
#### Features
- New `--and ` option to add additional patterns that must also be matched. See [#315](https://togithub.com/sharkdp/fd/issues/315)
and [#1139](https://togithub.com/sharkdp/fd/issues/1139) ([@Uthar](https://togithub.com/Uthar))
- Added `--changed-after` as alias for `--changed-within`, to have a name consistent with `--changed-before`.
#### Changes
- Breaking: On Unix-like systems, `--type executable` now additionally checks if
the file is executable by the current user, see [#1106](https://togithub.com/sharkdp/fd/issues/1106) and [#1169](https://togithub.com/sharkdp/fd/issues/1169) ([@ptipiak](https://togithub.com/ptipiak))
#### Bugfixes
- Use fd instead of fd.exe for Powershell completions (when completions are generated on windows)
#### Other
### [`v8.5.3`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v853)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.5.2...v8.5.3)
#### Bugfixes
- Fix completion generation to not include full path of fd command
- Fix build error if completions feature is disabled
### [`v8.5.2`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v852)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.5.1...v8.5.2)
#### Bugfixes
- Fix --owner option value parsing, see [#1163](https://togithub.com/sharkdp/fd/issues/1163) and [#1164](https://togithub.com/sharkdp/fd/issues/1164) ([@tmccombs](https://togithub.com/tmccombs))
### [`v8.5.1`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v851)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.5.0...v8.5.1)
#### Bugfixes
- Fix --threads/-j option value parsing, see [#1160](https://togithub.com/sharkdp/fd/issues/1160) and [#1162](https://togithub.com/sharkdp/fd/issues/1162) ([@sharkdp](https://togithub.com/sharkdp))
### [`v8.5.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v850)
[Compare Source](https://togithub.com/sharkdp/fd/compare/v8.4.0...v8.5.0)
#### Features
- `--type executable`/`-t` now works on Windows, see [#1051](https://togithub.com/sharkdp/fd/issues/1051) and [#1061](https://togithub.com/sharkdp/fd/issues/1061) ([@tavianator](https://togithub.com/tavianator))
#### Bugfixes
- Fixed differences between piped / non-piped output. This changes `fd`s 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](https://togithub.com/sharkdp/fd/issues/1046), [#1115](https://togithub.com/sharkdp/fd/issues/1115), and [#1121](https://togithub.com/sharkdp/fd/issues/1121) ([@tavianator](https://togithub.com/tavianator))
- `fd` could previously crash with a panic due to a race condition in Rusts standard library
([https://github.com/rust-lang/rust/issues/39364](https://togithub.com/rust-lang/rust/issues/39364)9364). This has been fixed by switching to a different
message passing implementation, see [#1060](https://togithub.com/sharkdp/fd/issues/1060) and [#1146](https://togithub.com/sharkdp/fd/issues/1146) ([@tavianator](https://togithub.com/tavianator))
- `fd`s memory usage will not grow unboundedly on huge directory trees, see [#1146](https://togithub.com/sharkdp/fd/issues/1146) ([@tavianator](https://togithub.com/tavianator))
- fd returns an error when current working directory does not exist while a search path is
specified, see [#1072](https://togithub.com/sharkdp/fd/issues/1072) ([@vijfhoek](https://togithub.com/vijfhoek))
- Improved "command not found" error message, see [#1083](https://togithub.com/sharkdp/fd/issues/1083) and [#1109](https://togithub.com/sharkdp/fd/issues/1109) ([@themkat](https://togithub.com/themkat))
- Preserve command exit codes when using `--exec-batch`, see [#1136](https://togithub.com/sharkdp/fd/issues/1136) and [#1137](https://togithub.com/sharkdp/fd/issues/1137) ([@amesgen](https://togithub.com/amesgen))
#### Changes
- No leading `./` prefix for non-interactive results, see above.
- fd now colorizes paths in parallel, significantly improving performance, see [#1148](https://togithub.com/sharkdp/fd/issues/1148) ([@tavianator](https://togithub.com/tavianator))
- fd can now avoid `stat` syscalls even when colorizing paths, as long as the color scheme doesn't
require metadata, see [#1148](https://togithub.com/sharkdp/fd/issues/1148) ([@tavianator](https://togithub.com/tavianator))
- The statically linked `musl` versions of `fd` now use `jmalloc`, leading to a significant performance
improvement, see [#1062](https://togithub.com/sharkdp/fd/issues/1062) ([@tavianator](https://togithub.com/tavianator))
#### Other
- Added link back to GitHub in man page and `--help` text, see [#1086](https://togithub.com/sharkdp/fd/issues/1086) ([@scottchiefbaker](https://togithub.com/scottchiefbaker))
- Major update in how `fd` handles command line options internally, see [#1067](https://togithub.com/sharkdp/fd/issues/1067) ([@tmccombs](https://togithub.com/tmccombs))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[x] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
8.4.0
->10.1.0
Release Notes
sharkdp/fd (sharkdp/fd)
### [`v10.1.0`](https://togithub.com/sharkdp/fd/releases/tag/v10.1.0) [Compare Source](https://togithub.com/sharkdp/fd/compare/v10.0.0...v10.1.0) #### 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](https://togithub.com/sharkdp/fd/issues/1043)) #### Bugfixes - Fix aarch64 page size again. This time it should actually work. ([#1085](https://togithub.com/sharkdp/fd/issues/1085), [#1549](https://togithub.com/sharkdp/fd/issues/1549)) ([@tavianator](https://togithub.com/tavianator)) #### Other - aarch64-apple-darwin target added to builds on the release page. Note that this is a tier 2 rust target. ### [`v10.0.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v1000) [Compare Source](https://togithub.com/sharkdp/fd/compare/v9.0.0...v10.0.0) #### Features - Add `dir` as an alias to `directory` when using `-t` \ `--type`, see [#1460](https://togithub.com/sharkdp/fd/issues/1460) and [#1464](https://togithub.com/sharkdp/fd/issues/1464) ([@Ato2207](https://togithub.com/Ato2207)). - Add support for @%s date format in time filters similar to GNU date (seconds since Unix epoch for --older/--newer), see [#1493](https://togithub.com/sharkdp/fd/issues/1493) ([@nabellows](https://togithub.com/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](https://togithub.com/sharkdp/fd/issues/1457). #### Bugfixes - Respect NO_COLOR environment variable with `--list-details` option. ([#1455](https://togithub.com/sharkdp/fd/issues/1455)) - Fix bug that would cause hidden files to be included despite gitignore rules if search path is "." ([#1461](https://togithub.com/sharkdp/fd/issues/1461), [BurntSushi/ripgrep#2711](https://togithub.com/BurntSushi/ripgrep/issues/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](https://togithub.com/sharkdp/fd/issues/1547)) - Address [CVE-2024-24576](https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html), by increasing minimum rust version. #### Changes - Minimum supported rust version is now 1.77.2 ### [`v9.0.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v900) [Compare Source](https://togithub.com/sharkdp/fd/compare/v8.7.1...v9.0.0) #### Performance - Performance has been *significantly improved*, both due to optimizations in the underlying `ignore` crate ([#1429](https://togithub.com/sharkdp/fd/issues/1429)), and in `fd` itself ([#1422](https://togithub.com/sharkdp/fd/issues/1422), [#1408](https://togithub.com/sharkdp/fd/issues/1408), [#1362](https://togithub.com/sharkdp/fd/issues/1362)) - [@tavianator](https://togithub.com/tavianator). [Benchmarks results](https://gist.github.com/tavianator/32edbe052f33ef60570cf5456b59de81) 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](https://togithub.com/sharkdp/fd/issues/1203), [#1410](https://togithub.com/sharkdp/fd/issues/1410), [#1412](https://togithub.com/sharkdp/fd/issues/1412), [#1431](https://togithub.com/sharkdp/fd/issues/1431)) - [@tmccombs](https://togithub.com/tmccombs) and [@tavianator](https://togithub.com/tavianator) - New flushing behavior when writing output to stdout, providing better performance for TTY and non-TTY use cases, see [#1452](https://togithub.com/sharkdp/fd/issues/1452) and [#1313](https://togithub.com/sharkdp/fd/issues/1313) ([@tavianator](https://togithub.com/tavianator)). #### Features - Support character and block device file types, see [#1213](https://togithub.com/sharkdp/fd/issues/1213) and [#1336](https://togithub.com/sharkdp/fd/issues/1336) ([@cgzones](https://togithub.com/cgzones)) - Breaking: `.git/` is now ignored by default when using `--hidden` / `-H`, use `--no-ignore` / `-I` or `--no-ignore-vcs` to override, see [#1387](https://togithub.com/sharkdp/fd/issues/1387) and [#1396](https://togithub.com/sharkdp/fd/issues/1396) ([@skoriop](https://togithub.com/skoriop)) #### Bugfixes - Fix `NO_COLOR` support, see [#1421](https://togithub.com/sharkdp/fd/issues/1421) ([@acuteenvy](https://togithub.com/acuteenvy)) #### Other - Fixed documentation typos, see [#1409](https://togithub.com/sharkdp/fd/issues/1409) ([@marcospb19](https://togithub.com/marcospb19)) #### Thanks Special thanks to [@tavianator](https://togithub.com/tavianator) for his incredible work on performance in the `ignore` crate and `fd` itself. ### [`v8.7.1`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v871) [Compare Source](https://togithub.com/sharkdp/fd/compare/v8.7.0...v8.7.1) #### 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`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v870) [Compare Source](https://togithub.com/sharkdp/fd/compare/v8.6.0...v8.7.0) #### Features - Add flag --no-require-git to always respect gitignore files, see [#1216](https://togithub.com/sharkdp/fd/issues/1216) ([@vegerot](https://togithub.com/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](https://togithub.com/sharkdp/fd/issues/1209) ### [`v8.6.0`](https://togithub.com/sharkdp/fd/blob/HEAD/CHANGELOG.md#v860) [Compare Source](https://togithub.com/sharkdp/fd/compare/v8.5.3...v8.6.0) #### Features - New `--andConfiguration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.