diff --git a/CHANGELOG.md b/CHANGELOG.md index de2cb35..5edd7a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +# v1.21.0 + +## Features + +- Add support for minutes and hours in `--time-unit`, as well as short and plural aliases such as `ms`, `seconds`, and `min`, see #960 (@sharkdp) +- Expose `$HYPERFINE_ITERATION` to `--prepare` and `--conclude` commands, see #781 and #807 (@willcl-ark) +- Show elapsed time during the initial benchmark run, see #416 and #581 (@devonhollowood) +- Add colors to `--help` output, see #841 (@starsep) + +## Changes + +- Format times in CSV exports with six decimal places, see #966 and #972 (@sharkdp) +- Update dependencies and raise the minimum supported Rust version to 1.97, see #934 (@sharkdp) + +## Bugfixes + +- Reject zero values for `--runs`, `--min-runs`, and `--max-runs` instead of allowing invalid run counts, see #923 (@VXNCXNX, @sharkdp) +- Reject negative parameter-scan steps before expanding ranges, avoiding hangs and excessive memory use, see #951 (@Likio3000) +- Preserve existing export files when command options are invalid, see #950 (@Likio3000) +- Truncate export files when rewriting results to avoid leaving trailing bytes, see #970 (@sharkdp) +- Preserve backticks in command names in Markdown exports, see #947 (@Likio3000) +- Handle broken output pipes gracefully instead of panicking, see #932 (@Mathjk) +- Collect peak memory usage separately for each command on Unix, so commands no longer inherit the peak memory usage of earlier commands, see #965 (@sharkdp) +- Preserve 100-nanosecond precision in Windows CPU times, see #964 (@sharkdp) +- Python scripts: Correct the interpretation of Welch's t-test results, see #943 (@sharkdp) + +## Other + +- Build binaries for Windows ARM64 and Linux ARM64 musl, see #922 and #924 (@meop) +- Refactor measurement, statistics, and formatting code to use typed quantities, see #954, #958, #961, #967, #969, #971, and #976 (@sharkdp) +- Improve documentation and examples, including comparisons across Git branches, iteration variables, reference commands, and selective failure handling, see #899, #900, #929, and #940 (@xfocus3, @ded-furby, @Likio3000, @sharkdp) + # v1.20.0 ## Features diff --git a/CITATION.cff b/CITATION.cff index 96b1e68..3bccc3f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -13,5 +13,5 @@ authors: repository-code: 'https://github.com/sharkdp/hyperfine' abstract: A command-line benchmarking tool. license: MIT -version: 1.20.0 -date-released: '2025-11-18' +version: 1.21.0 +date-released: '2026-10-05' diff --git a/Cargo.lock b/Cargo.lock index 5b93f7a..0010ab9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -371,7 +371,7 @@ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "hyperfine" -version = "1.20.0" +version = "1.21.0" dependencies = [ "anyhow", "approx", diff --git a/Cargo.toml b/Cargo.toml index cf2050b..e0e33e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" name = "hyperfine" readme = "README.md" repository = "https://github.com/sharkdp/hyperfine" -version = "1.20.0" +version = "1.21.0" edition = "2018" build = "build.rs" rust-version = "1.97.0" diff --git a/README.md b/README.md index ca4f06c..dc6d655 100644 --- a/README.md +++ b/README.md @@ -188,8 +188,8 @@ apt install hyperfine Alternatively, for the latest version, you can download the appropriate `.deb` package from the [Release page](https://github.com/sharkdp/hyperfine/releases) and install it via `dpkg`: ``` -wget https://github.com/sharkdp/hyperfine/releases/download/v1.20.0/hyperfine_1.20.0_amd64.deb -sudo dpkg -i hyperfine_1.20.0_amd64.deb +wget https://github.com/sharkdp/hyperfine/releases/download/v1.21.0/hyperfine_1.21.0_amd64.deb +sudo dpkg -i hyperfine_1.21.0_amd64.deb ``` ### On Fedora