diff --git a/CHANGELOG.md b/CHANGELOG.md index 8da7ee74..989418c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,14 @@ -### Version 0.20.0 (unreleased) - - Refactor of internal code. - - Implement unix-specific permissions copying for `-p` option - - Performance optimizations +### Version 1.0.0 - Remove the C dependency on miniz, and replace it with a Rust version ([#57](https://github.com/shssoichiro/oxipng/issues/57)) - This improves decompression speed by 15%. Compression speed is not affected. - [SEMVER_MAJOR] This also obsoletes the `-zm` command line option and the `memory` key on the `Options` struct. - Presets will be updated automatically. This means that presets 3 and higher will run significantly more quickly. - - Adjust the presets, now that memory is no longer an option. + - [SEMVER_MAJOR] Adjust the presets, now that `-zm` is no longer an option. - `-o3` now tests all filter types. This will result in 50% more trials than before, but may give up to 10% more compression gain. - - `-o4` and higher now test all alpha optimization types. This adds 5 trials specific to the alpha channel. Only transparent images are affected. + - `-o4` and higher now test all alpha optimization types. This adds 5 trials specific to the alpha channel. Only transparent images are affected. + - Implement unix-specific permissions copying for `-p` option + - Performance optimizations + - Refactor of internal code ### Version 0.19.0 - [SEMVER_MAJOR] Default to overwriting the input file if `out_file` is not set. diff --git a/Cargo.lock b/Cargo.lock index 86008435..f0c74309 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,7 +318,7 @@ dependencies = [ [[package]] name = "oxipng" -version = "0.19.0" +version = "1.0.0" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index 6ce82f31..485b6af8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ homepage = "https://github.com/shssoichiro/oxipng" license = "MIT" name = "oxipng" repository = "https://github.com/shssoichiro/oxipng" -version = "0.19.0" +version = "1.0.0" [[bin]] doc = false diff --git a/README.md b/README.md index 55d46ad9..fb116ec1 100644 --- a/README.md +++ b/README.md @@ -94,31 +94,31 @@ Oxipng is open-source software, distributed under the MIT license. ## Benchmarks -Tested oxipng 0.19.0 (compiled on rustc 1.25.0-nightly (f62f77403 2018-01-10)) against OptiPNG version 0.7.7 on Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz with 8 logical cores +Tested oxipng 1.0.0 (compiled on rustc 1.25.0-nightly (def3269a7 2018-01-30)) against OptiPNG version 0.7.7 on Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz with 8 logical cores Benchmark #1: ./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 137.7 ms ± 3.3 ms + Time (mean ± σ): 138.6 ms ± 4.5 ms [User: 251.7 ms, System: 18.0 ms] - Range (min … max): 131.8 ms … 144.2 ms + Range (min … max): 133.4 ms … 146.9 ms Benchmark #2: optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 293.7 ms ± 7.0 ms + Time (mean ± σ): 286.3 ms ± 4.0 ms [User: 286.4 ms, System: 0.7 ms] - Range (min … max): 286.0 ms … 310.2 ms + Range (min … max): 280.6 ms … 296.0 ms Benchmark #1: ./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 255.6 ms ± 5.3 ms + Time (mean ± σ): 225.1 ms ± 6.1 ms [User: 735.0 ms, System: 30.3 ms] - Range (min … max): 245.7 ms … 261.1 ms + Range (min … max): 216.8 ms … 240.5 ms Benchmark #2: optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png - Time (mean ± σ): 1.001 s ± 0.013 s + Time (mean ± σ): 969.1 ms ± 10.2 ms [User: 967.7 ms, System: 1.6 ms] - Range (min … max): 0.982 s … 1.017 s + Range (min … max): 954.4 ms … 985.8 ms