# fd: what changed from 9 to 10 - Product: fd (https://whatsnew.fyi/product/fd) - Vendor: David Peter - Range: changelog entries numbered after v9.0.0 up to and including v10.5.0, stable releases only - Entries below: 8 releases (newest first) - Resolved: 9 is v9.0.0 and 10 is v10.5.0, the newest stable release of each major we track - Carrying security changes: 2 · CVEs mentioned: 1 · Mentioning breaking changes: 0 · Removing or deprecating something: 0 - Page: https://whatsnew.fyi/product/fd/compare/9...10 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (37 changes, grouped by kind) ### Added #### v10.5.0 (2026-08-26) - Add `--ignore-parent` option to override `--no-ignore-parent` - Add `--exact` option to match the entire filename exactly (literal, non-substring) #### v10.4.0 (2026-03-07) - Add `--ignore-contain` option to ignore directories containing a named entry #### v10.3.0 (2025-08-26) - Add a hidden --mindepth alias for --min-depth #### v10.2.0 (2024-08-23) - Add --hyperlink option to add OSC 8 hyperlinks to output #### v10.1.0 (2024-05-08) - 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 output similar to the template used for --exec #### v10.0.0 (2024-05-06) - Add `dir` as an alias to `directory` when using `-t` or `--type` - Add support for @%s date format in time filters to specify seconds since Unix epoch for --older/--newer ### Changed #### v10.5.0 (2026-08-26) - Reject a placeholder as the executable for `--exec-batch`, while still allowing it for `--exec` #### v10.4.0 (2026-03-07) - Minimum required rust version has been increased to 1.90.0 - Statically link the CRT for MSVC builds via Cargo config to avoid runtime DLL dependencies #### v10.3.0 (2025-08-26) - Replace humantime crate and chrono crate with jiff crate - 'M' no longer means "month" in date parsing; use "mo", "mos", "month" or "months" instead - Month and year in date parsing now account for variability in the calendar rather than being hard-coded number of seconds - Add aarch64 Windows to CI and release artifacts - Improve support building on Illumos #### v10.2.0 (2024-08-23) - 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 #### v10.1.0 (2024-05-08) - aarch64-apple-darwin target added to builds on the release page #### v10.0.0 (2024-05-06) - No longer automatically ignore `.git` when using `--hidden` with vcs ignore enabled - Minimum supported rust version is now 1.77.2 ### Fixed #### v10.5.0 (2026-08-26) - Handle invalid working directories gracefully when using `--full-path` - Fire the "search pattern contains a path separator" diagnostic for any pattern containing `/`, not just patterns that happen to name an existing directory - Fire the "search pattern contains a path separator" diagnostic for `--and` patterns, not only the primary positional pattern - Fix bug where passing "-" as a directory argument didn't actually search that directory - Fix panic when `--changed-before`/`--changed-within` is given an out-of-range `@` Unix timestamp; the value is now rejected gracefully #### v10.4.2 (2026-03-10) - Fixed performance regression due to --ignore-contain #### v10.4.0 (2026-03-07) - Fix Windows hyperlink generation for paths with spaces - `--print0` combined with `--exec` will now print a `\0` between the output of each entry - Fix bugs in the `ignore` library used for handling ignore rules #### v10.1.0 (2024-05-08) - Fix aarch64 page size #### v10.0.0 (2024-05-06) - Respect NO_COLOR environment variable with `--list-details` option - Fix bug that would cause hidden files to be included despite gitignore rules if search path is "." - aarch64 builds now use 64k page sizes with jemalloc to fix issues on systems with larger page sizes ### Security #### v10.5.0 (2026-08-26) - Sanitize control characters and bidirectional override characters in filenames when output goes to a terminal to prevent terminal escape-sequence injection #### v10.0.0 (2024-05-06) - Address CVE-2024-24576 by increasing minimum rust version _One release carries no categorized changes yet: v10.4.1._ ## Release notes ### v10.5.0 — 10.5.0 - Date: 2026-08-26 - Version: v10.5.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.5.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.5.0 - **added** — Add `--ignore-parent` option to override `--no-ignore-parent` - **added** — Add `--exact` option to match the entire filename exactly (literal, non-substring) - **security** — Sanitize control characters and bidirectional override characters in filenames when output goes to a terminal to prevent terminal escape-sequence injection - **changed** — Reject a placeholder as the executable for `--exec-batch`, while still allowing it for `--exec` - **fixed** — Handle invalid working directories gracefully when using `--full-path` - **fixed** — Fire the "search pattern contains a path separator" diagnostic for any pattern containing `/`, not just patterns that happen to name an existing directory - **fixed** — Fire the "search pattern contains a path separator" diagnostic for `--and` patterns, not only the primary positional pattern - **fixed** — Fix bug where passing "-" as a directory argument didn't actually search that directory - **fixed** — Fix panic when `--changed-before`/`--changed-within` is given an out-of-range `@` Unix timestamp; the value is now rejected gracefully ##### Features - Add `--ignore-parent` option to override `--no-ignore-parent`, see #1958 (@tmchow) - Add `--exact` option to match the entire filename exactly (literal, non-substring). ##### Bugfixes - Sanitize control characters and bidirectional override characters in filenames when output goes to a terminal, to prevent terminal escape-sequence injection. Also reject a placeholder as the executable for `--exec-batch`, while still allowing it for `--exec`. - Handle invalid working directories gracefully when using `--full-path`, see #1900 (@Xavrir). - Fire the "search pattern contains a path separator" diagnostic for any pattern containing `/`, not just patterns that happen to name an existing directory. Preserves the legacy Windows behaviour that also flags native `\` separators when the pattern resolves to a real directory. See #1873. - Also fire the "search pattern contains a path separator" diagnostic for `--and` patterns, not only the primary positional pattern. `--and` patterns are matched against the file name just like the primary pattern, so a path separator in them silently returned zero results. See #1873. - Fix bug where passing "-" as a directory argument didn't actually search that directory, see #849 (@Sean-Kenneth-Doherty). - Fix panic when `--changed-before`/`--changed-within` is given an out-of-range `@` Unix timestamp; the value is now rejected gracefully, see #2081 (@nikolauspschuetz). ##### New Contributors * @liruiluo made their first contribution in https://github.com/sharkdp/fd/pull/1924 * @Xavrir made their first contribution in https://github.com/sharkdp/fd/pull/1917 * @rexkirshner made their first contribution in https://github.com/sharkdp/fd/pull/1921 * @Rohan5commit made their first contribution in https://github.com/sharkdp/fd/pull/1934 * @tmchow made their first contribution in https://github.com/sharkdp/fd/pull/1959 * @YoshKoz made their first contribution in https://github.com/sharkdp/fd/pull/1979 * @SAY-5 made their first contribution in https://github.com/sharkdp/fd/pull/1975 * @skane-lukas made their first contribution in https://github.com/sharkdp/fd/pull/1889 * @Sean-Kenneth-Doherty made their first contribution in https://github.com/sharkdp/fd/pull/2006 * @stevenwalton made their first contribution in https://github.com/sharkdp/fd/pull/2011 * @DeflateAwning made their first contribution in https://github.com/sharkdp/fd/pull/1983 * @wyf027 made their first contribution in https://github.com/sharkdp/fd/pull/2001 * @bonanza127 made their first contribution in https://github.com/sharkdp/fd/pull/2040 * @mahirhir made their first contribution in https://github.com/sharkdp/fd/pull/2036 * @parneetsingh022 made their first contribution in https://github.com/sharkdp/fd/pull/2037 * @curious-rabbit made their first contribution in https://github.com/sharkdp/fd/pull/1976 * @WilliamLeony made their first contribution in https://github.com/sharkdp/fd/pull/2064 * @kobihikri made their first contribution in https://github.com/sharkdp/fd/pull/2063 * @cmelaro made their first contribution in https://github.com/sharkdp/fd/pull/2075 * @nikolauspschuetz made their first contribution in https://github.com/sharkdp/fd/pull/2082 **Full Changelog**: https://github.com/sharkdp/fd/compare/v10.4.2...v10.5.0 ### v10.4.2 - Date: 2026-03-10 - Version: v10.4.2 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.4.2 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.4.2 - **fixed** — Fixed performance regression due to --ignore-contain ##### Bugfixes - Fixed performance regression due to `--ignore-contain`; see #1913 and #1914 ### v10.4.1 - Date: 2026-03-08 - Version: v10.4.1 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.4.1 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.4.1 This is just a re-release of 10.4.0 due to an issue with the 10.4.0 release. ### v10.4.0 - Date: 2026-03-07 - Version: v10.4.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.4.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.4.0 - **added** — Add `--ignore-contain` option to ignore directories containing a named entry - **fixed** — Fix Windows hyperlink generation for paths with spaces - **fixed** — `--print0` combined with `--exec` will now print a `\0` between the output of each entry - **fixed** — Fix bugs in the `ignore` library used for handling ignore rules - **changed** — Minimum required rust version has been increased to 1.90.0 - **changed** — Statically link the CRT for MSVC builds via Cargo config to avoid runtime DLL dependencies ##### Features - Add `--ignore-contain` option to ignore directories containing a named entry (e.g. to ignore [`CACHEDIR.TAG`](https://bford.info/cachedir/)); 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 - #1506 - #1667 - #1813 ##### 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 - Date: 2025-08-26 - Version: v10.3.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.3.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.3.0 - **added** — Add a hidden --mindepth alias for --min-depth - **changed** — Replace humantime crate and chrono crate with jiff crate - **changed** — 'M' no longer means "month" in date parsing; use "mo", "mos", "month" or "months" instead - **changed** — Month and year in date parsing now account for variability in the calendar rather than being hard-coded number of seconds - **changed** — Add aarch64 Windows to CI and release artifacts - **changed** — Improve support building on Illumos ##### 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 - Date: 2024-08-23 - Version: v10.2.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.2.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.2.0 - **added** — Add --hyperlink option to add OSC 8 hyperlinks to output - **changed** — Build windows releases with rust 1.77 so windows 7 is still supported - **changed** — Deb packages now include symlink for fdfind to be more consistent with official packages ##### 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 * @bryanhonof made their first contribution in https://github.com/sharkdp/fd/pull/1574 * @JCHacking made their first contribution in https://github.com/sharkdp/fd/pull/1602 * @RossSmyth made their first contribution in https://github.com/sharkdp/fd/pull/1596 **Full Changelog**: https://github.com/sharkdp/fd/compare/v10.1.0...v10.2.0 ### v10.1.0 - Date: 2024-05-08 - Version: v10.1.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.1.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.1.0 - **added** — Allow passing an optional argument to --strip-cwd-prefix of "always", "never", or "auto" to force whether the cwd prefix is stripped or not - **added** — Add a --format option which allows using a format template for direct output similar to the template used for --exec - **fixed** — Fix aarch64 page size - **changed** — aarch64-apple-darwin target added to builds on the release page ##### 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 - Fix aarch64 page size again. This time it should actually work. (#1085, #1549) (@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 - Date: 2024-05-06 - Version: v10.0.0 - Original notes: https://github.com/sharkdp/fd/releases/tag/v10.0.0 - Permalink: https://whatsnew.fyi/product/fd/releases/v10.0.0 - **added** — Add `dir` as an alias to `directory` when using `-t` or `--type` - **added** — Add support for @%s date format in time filters to specify seconds since Unix epoch for --older/--newer - **changed** — No longer automatically ignore `.git` when using `--hidden` with vcs ignore enabled - **fixed** — Respect NO_COLOR environment variable with `--list-details` option - **fixed** — Fix bug that would cause hidden files to be included despite gitignore rules if search path is "." - **fixed** — aarch64 builds now use 64k page sizes with jemalloc to fix issues on systems with larger page sizes - **security** — Address CVE-2024-24576 by increasing minimum rust version - **changed** — Minimum supported rust version is now 1.77.2 ##### 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](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