From b1d8a4d6c98405b89574bc3358a3875446a8af9e Mon Sep 17 00:00:00 2001 From: David Peter Date: Tue, 19 Dec 2023 10:46:26 +0100 Subject: [PATCH] Preprations for fd 9 release --- CHANGELOG.md | 32 +++++++++++++++++++++++--------- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 8 ++++---- doc/release-checklist.md | 2 +- 5 files changed, 30 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31ca18f..2da02ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,21 @@ -# Upcoming release +# v9.0.0 + +## Performance + +- Performance has been *significantly improved*, both due to optimizations in the underlying `ignore` + crate (#1429), and in `fd` itself (#1422, #1408, #13620) - @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, #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) @@ -9,16 +23,16 @@ - Fix `NO_COLOR` support, see #1421 (@acuteenvy) -## Changes - -- Performance has been significantly improved, both due to optimizations in the underlying `ignore` - crate (#1429), and in `fd` itself (#1422). - -- 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, #1412, #1431) - ## Other +- Fixed documentation typos, see #1409 (@marcospb19) + +## Thanks + +Special thanks to @tavianator for his incredible work on performance in the `ignore` crate and `fd` itself. + + + # v8.7.1 ## Bugfixes diff --git a/Cargo.lock b/Cargo.lock index c28b0eb..cb159cb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -313,7 +313,7 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fd-find" -version = "8.7.1" +version = "9.0.0" dependencies = [ "aho-corasick", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 77c1d09..6ca9f90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ license = "MIT OR Apache-2.0" name = "fd-find" readme = "README.md" repository = "https://github.com/sharkdp/fd" -version = "8.7.1" +version = "9.0.0" edition= "2021" rust-version = "1.70.0" diff --git a/README.md b/README.md index 3611e87..d8e1327 100644 --- a/README.md +++ b/README.md @@ -314,8 +314,8 @@ Options: -d, --max-depth Set maximum search depth (default: none) -E, --exclude Exclude entries that match the given glob pattern -t, --type Filter by type: file (f), directory (d), symlink (l), - executable (x), empty (e), socket (s), pipe (p), - block-device (b), char-device (c) + executable (x), empty (e), socket (s), pipe (p), char-device + (c), block-device (b) -e, --extension Filter by file extension -S, --size Limit results based on the size of files --changed-within Filter by file modification time (newer than) @@ -543,7 +543,7 @@ Make sure that `$HOME/.local/bin` is in your `$PATH`. If you use an older version of Ubuntu, you can download the latest `.deb` package from the [release page](https://github.com/sharkdp/fd/releases) and install it via: ``` bash -sudo dpkg -i fd_8.7.1_amd64.deb # adapt version number and architecture +sudo dpkg -i fd_9.0.0_amd64.deb # adapt version number and architecture ``` ### On Debian @@ -677,7 +677,7 @@ With Rust's package manager [cargo](https://github.com/rust-lang/cargo), you can ``` cargo install fd-find ``` -Note that rust version *1.64.0* or later is required. +Note that rust version *1.70.0* or later is required. `make` is also needed for the build. diff --git a/doc/release-checklist.md b/doc/release-checklist.md index b11e75d..0a20802 100644 --- a/doc/release-checklist.md +++ b/doc/release-checklist.md @@ -9,7 +9,7 @@ necessary changes for the upcoming release. - [ ] Update version in `Cargo.toml`. Run `cargo build` to update `Cargo.lock`. Make sure to `git add` the `Cargo.lock` changes as well. - [ ] Find the current min. supported Rust version by running - `grep '^\s*MIN_SUPPORTED_RUST_VERSION' .github/workflows/CICD.yml`. + `grep rust-version Cargo.toml`. - [ ] Update the `fd` version and the min. supported Rust version in `README.md`. - [ ] Update `CHANGELOG.md`. Change the heading of the *"Upcoming release"* section to the version of this release.