From 8053211bf41a276928855031a2afc0211523a0a5 Mon Sep 17 00:00:00 2001 From: Josh Holmer Date: Mon, 12 Jul 2021 00:06:19 -0400 Subject: [PATCH] Version 5.0.0 --- CHANGELOG.md | 9 +++++++++ Cargo.lock | 4 +++- Cargo.toml | 2 +- README.md | 22 +++++++++++----------- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 813a9bc1..c82bb096 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +### Version 5.0.0 +- [Breaking] Bump minimum Rust version to 1.46.0 +- [Bugfix] Avoid many panics that may occur on broken files +- [Bugfix] Fix race condition that may cause tests to fail +- [Performance] Optimizations to unfiltering and copying +- [Feature] Add `--ng` option to skip grayscale reduction +- [Feature] Also preserve timestamps when using `--preserve` +- [Misc] Bump `crc` to 2.x + ### Version 4.0.3 - Bump itertools to 0.10.x - Temporarily disable i686 releases, which were failing due to an odd linker issue, diff --git a/Cargo.lock b/Cargo.lock index 639a508f..698b9550 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "adler" version = "1.0.2" @@ -413,7 +415,7 @@ dependencies = [ [[package]] name = "oxipng" -version = "4.0.3" +version = "5.0.0" dependencies = [ "bit-vec", "byteorder", diff --git a/Cargo.toml b/Cargo.toml index 209f7599..6facd7cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ license = "MIT" name = "oxipng" repository = "https://github.com/shssoichiro/oxipng" build = "build.rs" -version = "4.0.3" +version = "5.0.0" [badges] travis-ci = { repository = "shssoichiro/oxipng", branch = "master" } diff --git a/README.md b/README.md index 13845c76..e4170761 100644 --- a/README.md +++ b/README.md @@ -97,36 +97,36 @@ Oxipng is open-source software, distributed under the MIT license. ## Benchmarks -Tested oxipng 4.0.0 (compiled on rustc 1.47.0 (18bf6b4f0 2020-10-07)) against OptiPNG version 0.7.7 on AMD Ryzen 7 4800H with Radeon Graphics with 16 logical cores +Tested oxipng 5.0.0 (compiled on rustc 1.55.0-nightly (7a16cfcff 2021-07-11)) against OptiPNG version 0.7.7 on AMD Ryzen 7 4800H with Radeon Graphics with 16 logical cores ``` Benchmark #1: ./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 125.8 ms ± 16.7 ms [User: 296.4 ms, System: 19.5 ms] - Range (min … max): 99.4 ms … 154.2 ms 24 runs + Time (mean ± σ): 128.8 ms ± 14.2 ms [User: 296.0 ms, System: 14.3 ms] + Range (min … max): 98.8 ms … 152.3 ms 21 runs Benchmark #2: optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 248.8 ms ± 20.5 ms [User: 247.6 ms, System: 1.6 ms] - Range (min … max): 210.6 ms … 267.5 ms 12 runs + Time (mean ± σ): 254.2 ms ± 16.0 ms [User: 252.8 ms, System: 1.2 ms] + Range (min … max): 208.4 ms … 263.8 ms 14 runs Summary './target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran - 1.98 ± 0.31 times faster than 'optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png' + 1.97 ± 0.25 times faster than 'optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png' Benchmark #1: ./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 140.5 ms ± 20.4 ms [User: 648.5 ms, System: 24.9 ms] - Range (min … max): 72.7 ms … 175.7 ms 38 runs + Time (mean ± σ): 141.4 ms ± 14.9 ms [User: 611.7 ms, System: 21.1 ms] + Range (min … max): 100.2 ms … 160.4 ms 23 runs Benchmark #2: optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 743.3 ms ± 21.3 ms [User: 741.7 ms, System: 1.8 ms] - Range (min … max): 718.8 ms … 769.6 ms 10 runs + Time (mean ± σ): 730.0 ms ± 25.9 ms [User: 728.0 ms, System: 1.2 ms] + Range (min … max): 713.3 ms … 768.2 ms 10 runs Summary './target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran - 5.29 ± 0.78 times faster than 'optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png' + 5.16 ± 0.58 times faster than 'optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png' ```