Commit graph

261 commits

Author SHA1 Message Date
Josh Holmer
95d521c81b Version 8.0.0
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2022-12-24 09:19:15 -05:00
Josh Holmer
19be14021b Version 7.0.0
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2022-12-07 14:17:15 -05:00
andrews05
a41d7de348
New filter strategies (#461)
* Refactor filters as enum

* Include filter byte in filter output

* Add entropy filter

* Add bigrams filter

* Add bigram entropy filter

* Add brute filter

* Replace bit-vec

* Add tests and benches

* Show filters in help

* Use FxHasher in color to palette

* Use windows function for minor improvement
2022-11-19 08:49:25 -05:00
andrews05
446c788eb3
Full switch to Libdeflater (#457)
* Switch main compressor to libdeflate

* Use libdeflater in evaluate

* Use libdeflater to inflate

* Use libdeflater crc

* Tidy up

* Fix benches

* Allow libdeflater/freestanding feature

* Fix building without zopfli
2022-11-01 09:02:08 -04:00
andrews05
f688d20fe6
Allow setting libdeflate compression level (#455)
* Allow --zc with libdeflater

* Update libdeflater

* Allocate sufficient space for libdefate
2022-10-28 21:54:04 -04:00
Alejandro González
9479f5f4f5 Version 6.0.1
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2022-09-07 11:50:33 -04:00
Alejandro González
9aa27a75bd Bump dependencies. Fix Zopfli mode generating corrupt images sometimes 2022-09-07 11:50:33 -04:00
Josh Holmer
5810ae4f49
Version 6.0.0 (#448)
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2022-09-05 13:05:52 -04:00
Alejandro González
94ba8b70b3
Update and optimize dependencies (#445)
* Update and optimize dependencies

These changes update the dependencies to their latest versions, fixing
some known issues that prevented doing so in the first place.

In addition, the direct dependency on byteorder was dropped in favor
of stdlib functions that have been stabilized for some time in Rust, and
the transitive dependency on chrono, pulled by stderrlog, was also
dropped, which had been affected by security issues and improperly
maintained in the past:

- https://github.com/cardoe/stderrlog-rs/issues/31
- https://www.reddit.com/r/rust/comments/ts84n4/chrono_or_time_03/

* Run rustfmt

* Bump MSRV to 1.56.1

Updating to this patch version should not be cumbersome for end-users,
and it is required by a transitive dependency.

* Bump MSRV to 1.57.0

os_str_bytes requires it.
2022-09-05 12:37:47 -04:00
Matt Riggott
703a25efad Update stderrlog dependency to v0.5.1
Oxipng has an optional dependency on stderrlog, which itself has a
dependency on thread_local. Versions of thread_local < 1.1.4 have a
vulnerability caused by a data race in Iter and IterMut. Updating to
stderrlog v0.5.1 ensures that Oxipng uses a patched version of
thread_local.

https://rustsec.org/advisories/RUSTSEC-2022-0006.html
2022-07-05 10:28:12 -04:00
Rémi Lauzier
7ffbe1fb78 Update dependency and replace deprecated function 2022-03-14 09:21:22 -04:00
Josh Holmer
faf10c64a9 Bump edition to 2021, along with min rust version 2022-01-12 11:50:33 -05:00
Josh Holmer
ece9787822 Bump all dependencies 2022-01-12 02:47:59 -05:00
Josh Holmer
7f6fe08b06 Format cargo.toml using prettier 2022-01-12 02:41:13 -05:00
Josh Holmer
f5053f65bb Add min rust version to Cargo.toml 2022-01-12 02:40:51 -05:00
Josh Holmer
c888142bcb Version 5.0.1
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2021-11-15 11:42:06 -05:00
Josh Holmer
8053211bf4 Version 5.0.0
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2021-07-12 00:06:19 -04:00
Josh Holmer
d089176030 Bump dependencies 2021-07-11 23:42:12 -04:00
Moe
40a88f57f7
initial implementation of timestamp preservation #166 (#360)
Closes #166
2021-07-11 23:34:10 -04:00
Kornel
dac408627b bit-vec is too slow for debug mode 2021-06-16 17:37:33 -04:00
dependabot-preview[bot]
c73a6b4a83 Bump log from 0.4.13 to 0.4.14
Bumps [log](https://github.com/rust-lang/log) from 0.4.13 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.13...0.4.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-27 10:31:40 +00:00
dependabot-preview[bot]
f71ed29e96 Bump log from 0.4.11 to 0.4.13
Bumps [log](https://github.com/rust-lang/log) from 0.4.11 to 0.4.13.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 11:54:45 +00:00
dependabot-preview[bot]
9d55331980 Bump byteorder from 1.3.4 to 1.4.2
Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.3.4 to 1.4.2.
- [Release notes](https://github.com/BurntSushi/byteorder/releases)
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.4...1.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 11:41:50 +00:00
dependabot-preview[bot]
0b4221d7f3 Bump stderrlog from 0.5.0 to 0.5.1
Bumps [stderrlog](https://github.com/cardoe/stderrlog-rs) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/cardoe/stderrlog-rs/releases)
- [Changelog](https://github.com/cardoe/stderrlog-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cardoe/stderrlog-rs/compare/v0.5.0...v0.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 11:26:03 +00:00
Josh Holmer
dea23211ae Version 4.0.3
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2021-01-04 16:12:57 -05:00
dependabot-preview[bot]
17a8c79e21 Bump itertools from 0.9.0 to 0.10.0
Bumps [itertools](https://github.com/bluss/rust-itertools) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/bluss/rust-itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bluss/rust-itertools/compare/v0.9.0...v0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 08:10:23 -05:00
dependabot-preview[bot]
9c55fcfcbf Bump indexmap from 1.6.0 to 1.6.1
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.6.0...1.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 10:46:41 +00:00
dependabot-preview[bot]
257390e78c Bump bit-vec from 0.6.2 to 0.6.3
Bumps [bit-vec](https://github.com/contain-rs/bit-vec) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/contain-rs/bit-vec/releases)
- [Commits](https://github.com/contain-rs/bit-vec/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-04 15:57:50 +00:00
Josh Holmer
ff3787781e Version 4.0.2
Some checks failed
deploy / create-windows-binaries (i686) (push) Has been cancelled
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2020-11-27 13:18:48 -05:00
dependabot-preview[bot]
3460116d3b Bump libdeflater from 0.6.0 to 0.7.1
Bumps [libdeflater](https://github.com/adamkewley/libdeflater) from 0.6.0 to 0.7.1.
- [Release notes](https://github.com/adamkewley/libdeflater/releases)
- [Commits](https://github.com/adamkewley/libdeflater/compare/0.6.0...0.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-26 08:50:21 -05:00
Josh Holmer
4fb262c477 Version 4.0.1
Some checks failed
deploy / create-windows-binaries (i686) (push) Has been cancelled
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2020-11-18 16:47:28 -05:00
dependabot-preview[bot]
77fbebf893 Bump libdeflater from 0.5.0 to 0.6.0
Bumps [libdeflater](https://github.com/adamkewley/libdeflater) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/adamkewley/libdeflater/releases)
- [Commits](https://github.com/adamkewley/libdeflater/compare/0.5.0...0.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-17 08:48:56 -05:00
Josh Holmer
9ccf39b49a Version 4.0.0
Some checks failed
deploy / create-windows-binaries (i686) (push) Has been cancelled
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2020-11-11 14:43:42 -05:00
Ingvar Stepanyan
e38c759563
Switch to crossbeam-channel + rayon::spawn (#327)
* Switch to crossbeam-channel + rayon::spawn

* Remove thread_spawn for evaluation altogether

This allows to avoid a deadlock when there is only one Rayon thread, and doesn't sacrifice performance, since the caller of .get_result() had to always block on the iterator to be finished anyway, and all the messages are already sent from separate threads.

* Fix `verbose_mode` test

This one is easier to "fix", since we're in control of the rayon pool - just adding one extra thread to the default number to make sure we always can one root "spawn" call without stealing from the actual pool.
2020-11-11 12:01:13 -05:00
Anhil
adcc64c1b1
Make rayon truly optional (#318) 2020-11-06 18:48:52 -05:00
Anhil
70f911fa3e
Make libdeflater and zopfli optional (#319)
* Make `libdeflater` and `zopfli` optional
2020-11-01 20:18:15 -05:00
dependabot-preview[bot]
b848423346 Bump rustc_version from 0.2.3 to 0.3.0
Bumps [rustc_version](https://github.com/Kimundi/rustc-version-rs) from 0.2.3 to 0.3.0.
- [Release notes](https://github.com/Kimundi/rustc-version-rs/releases)
- [Commits](https://github.com/Kimundi/rustc-version-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 06:57:44 -04:00
dependabot-preview[bot]
147e0fbf5b Bump rayon from 1.4.1 to 1.5.0
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.4.1...rayon-core-v1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 10:47:39 +00:00
dependabot-preview[bot]
38e62f7ce5 Bump rayon from 1.4.0 to 1.4.1
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.4.0...rayon-core-v1.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-30 10:59:33 +00:00
dependabot-preview[bot]
d1e6264059 Bump stderrlog from 0.4.3 to 0.5.0
Bumps [stderrlog](https://github.com/cardoe/stderrlog-rs) from 0.4.3 to 0.5.0.
- [Release notes](https://github.com/cardoe/stderrlog-rs/releases)
- [Changelog](https://github.com/cardoe/stderrlog-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cardoe/stderrlog-rs/compare/v0.4.3...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 10:51:41 -04:00
dependabot-preview[bot]
99af96f74d Bump indexmap from 1.5.2 to 1.6.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.5.2...1.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 10:34:25 +00:00
dependabot-preview[bot]
1f7b493e6c Bump indexmap from 1.5.1 to 1.5.2
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.5.1...1.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 10:52:36 +00:00
dependabot-preview[bot]
7bddeb1b57 Bump rgb from 0.8.24 to 0.8.25
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.24 to 0.8.25.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 10:52:43 +00:00
dependabot-preview[bot]
983f70dc0d Bump rayon from 1.3.1 to 1.4.0
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.3.1...rayon-core-v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-25 10:50:16 +00:00
dependabot-preview[bot]
c4cddbe60a Bump rgb from 0.8.23 to 0.8.24
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.23 to 0.8.24.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 11:02:41 +00:00
dependabot-preview[bot]
f821060197 Bump clap from 2.33.2 to 2.33.3
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.2 to 2.33.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.3/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.2...v2.33.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-14 11:09:23 +00:00
dependabot-preview[bot]
bff5109144 Bump rgb from 0.8.22 to 0.8.23
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.22 to 0.8.23.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-14 10:46:12 +00:00
dependabot-preview[bot]
3202c36846 Bump rgb from 0.8.20 to 0.8.22
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.20 to 0.8.22.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-12 10:40:33 +00:00
dependabot-preview[bot]
594bf7af05 Bump indexmap from 1.5.0 to 1.5.1
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.5.0...1.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 10:48:42 +00:00
dependabot-preview[bot]
74e3bc7c2e Bump clap from 2.33.1 to 2.33.2
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.1 to 2.33.2.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 10:43:09 +00:00
Misty De Meo
1d05a8a224
Cargo.toml: set arm-always for cloudflare-zlib (#277)
Without this, cloudflare-zlib currently fails on all aarch64 CPUs.
This is one of the two solutions I proposed in #276, and it's the
option I prefer out of the two.

Fixes #276.
2020-08-04 10:48:27 -04:00
Josh Holmer
9dfea8dde0 Version 3.0.1
Some checks failed
deploy / create-binaries (windows-latest, i686-pc-windows-msvc) (push) Has been cancelled
deploy / create-binaries (macOS-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled
2020-07-21 11:15:15 -04:00
Josh Holmer
9d8028e044 Switch to thin LTO
This has about a 25% improvement on release compilation times,
at the cost of a <1% runtime performance impact.
2020-07-21 11:14:21 -04:00
dependabot-preview[bot]
12e1863a54 Bump indexmap from 1.4.0 to 1.5.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 01:21:26 +00:00
dependabot-preview[bot]
6d2756dc49 Bump log from 0.4.8 to 0.4.11
Bumps [log](https://github.com/rust-lang/log) from 0.4.8 to 0.4.11.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.8...0.4.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 10:41:22 +00:00
dependabot-preview[bot]
328e82f630 Bump miniz_oxide from 0.3.7 to 0.4.0
Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.3.7 to 0.4.0.
- [Release notes](https://github.com/Frommi/miniz_oxide/releases)
- [Changelog](https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Frommi/miniz_oxide/compare/0.3.7...0.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 11:49:39 -04:00
dependabot-preview[bot]
cea75d6aa2 Bump rgb from 0.8.18 to 0.8.20
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.18 to 0.8.20.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 11:04:24 -04:00
dependabot-preview[bot]
506e733049 Bump rayon from 1.3.0 to 1.3.1
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.3.0...v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 10:45:14 +00:00
dependabot-preview[bot]
528f17eb6a Bump libdeflater from 0.3.0 to 0.5.0
Bumps [libdeflater](https://github.com/adamkewley/libdeflater) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/adamkewley/libdeflater/releases)
- [Commits](https://github.com/adamkewley/libdeflater/compare/0.3.0...0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 10:43:22 -04:00
dependabot-preview[bot]
c444e29cbb Bump libdeflater from 0.2.0 to 0.3.0
Bumps [libdeflater](https://github.com/adamkewley/libdeflater) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/adamkewley/libdeflater/releases)
- [Commits](https://github.com/adamkewley/libdeflater/compare/0.2.0...0.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 14:49:00 -04:00
dependabot-preview[bot]
4ad586e427 Bump wild from 2.0.3 to 2.0.4
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.3 to 2.0.4.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 10:48:51 +00:00
dependabot-preview[bot]
403c80d7ca Bump rgb from 0.8.17 to 0.8.18
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.17 to 0.8.18.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 09:46:08 -04:00
dependabot-preview[bot]
50de0a6fa4 Bump indexmap from 1.3.2 to 1.4.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.3.2...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 14:29:48 +00:00
Josh Holmer
9a3a402be0 Display more useful error if Rust version too old
Closes #232
2020-05-24 20:00:01 -04:00
dependabot-preview[bot]
3038fd8c7d Bump wild from 2.0.2 to 2.0.3
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.2 to 2.0.3.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 15:09:45 +00:00
dependabot-preview[bot]
9849adcbd1 Bump clap from 2.33.0 to 2.33.1
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.0 to 2.33.1.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.1/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.0...v2.33.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 12:51:14 +00:00
dependabot-preview[bot]
2f791fe909
Bump bit-vec from 0.6.1 to 0.6.2 (#227)
Bumps [bit-vec](https://github.com/contain-rs/bit-vec) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/contain-rs/bit-vec/releases)
- [Commits](https://github.com/contain-rs/bit-vec/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-07 11:16:02 -04:00
Josh Holmer
fa11401eb1 Version 3.0.0 2020-05-06 10:11:47 -04:00
dependabot-preview[bot]
ec8ecf5a80 Bump rgb from 0.8.16 to 0.8.17
Bumps [rgb](https://github.com/kornelski/rust-rgb) from 0.8.16 to 0.8.17.
- [Release notes](https://github.com/kornelski/rust-rgb/releases)
- [Commits](https://github.com/kornelski/rust-rgb/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 11:16:34 +00:00
Ingvar Stepanyan
23ae9c302f
Switch to standard logging library (#218)
This allows to configure or compile away logging in the library from a single place in Rust apps.

For the CLI side, the usage and output remained the same, except it's now colour-coded.

Fixes #217.
2020-04-18 18:33:48 -04:00
Ingvar Stepanyan
bb332fa6d7
Don't override global rayon pool (#211)
Rayon uses a singleton global pool.

By default it's set to a regular spawn handler with number of logical CPU cores, but it can be overridden by Rust applications to customize number of threads, spawn handlers, exit handlers and other options.

Such customization should be usually done at the app level, because if a single library initialises the global pool, then Rayon will prevent any further overrides and they will error out. This can cause conflicts between libraries or library and user code and make them impossible to use together.

Hence, I've removed the `threads` option from the `Options` struct and instead moved initialisation to the CLI part of the codebase (main.rs).

Users of the library that didn't depend on custom `threads` number can keep using it as before - they'll still get same number of threads as number of logical CPU cores, while users who need fine-tuning, can do that by customizing rayon pool themselves at the top level of the app.

Note: another alternative to keep the option could've been to use `ThreadPoolBuilder::build` + `ThreadPool::install` to use a local pool just within OxiPNG, but that would ignore any customizations made by users in top-level pool and would prevent usage on targets that require custom spawn handlers like WebAssembly. As such, I've decided to avoid it.

Co-authored-by: Josh Holmer <jholmer.in@gmail.com>
2020-04-17 04:49:40 -04:00
dependabot-preview[bot]
11a7b68c4f Bump num_cpus from 1.12.0 to 1.13.0
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases)
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.12.0...v1.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-16 10:54:52 +00:00
Ingvar Stepanyan
878bbedb37
Improve performance consistency (#202)
* Improve performance consistency

Switch from HashMap / HashSet to IndexMap / IndexSet for consistent iteration order of various options and, as a result, more predictable performance.
2020-03-31 21:54:05 -04:00
Ingvar Stepanyan
121558bf5c
Add libdeflater as an option (#203)
libdeflater is a Rust wrapper around
[libdeflate](https://github.com/ebiggers/libdeflate) - an alternative
heavily optimised library for deflate/zlib/gzip compression and
decompression that is intended for situations where upper bounds of the
output are well-known.

In my benchmarks on test files in the repo it has shown to be usually
both slightly faster and providing better compressed output than
cloudflare-zlib, but in some cases showing the opposite, so rather
than swapping defaults, it's currently provided as another option,
similarly to zopfli.

Since it's not strictly better in all cases, I'm not providing median
numbers, but you can check distribution histograms for time and size
differences here (all using `oxipng -o 6 -t 6 -P`):
https://docs.google.com/spreadsheets/d/1WOKgeYZBhLkQvMGAC36snN4azilElzOFhx63RJu0EZY/edit?usp=sharing
2020-03-31 20:24:57 -04:00
dependabot-preview[bot]
6593a5f6fe Bump itertools from 0.8.2 to 0.9.0
Bumps [itertools](https://github.com/bluss/rust-itertools) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/bluss/rust-itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bluss/rust-itertools/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-19 04:03:14 +00:00
Josh Holmer
b9dc9e72bb Update image crate to 0.23 2020-03-02 01:44:53 -05:00
Josh Holmer
139d29cc9b Version 2.3.0 2019-10-07 23:34:23 -04:00
Kornel
239ca81db7 Update dependencies (#186)
* Update dependencies

* Bump Rust to 1.34
2019-08-04 12:12:08 -04:00
Josh Holmer
9408a50b1b Version 2.2.2 2019-07-03 19:21:21 -04:00
Josh Holmer
b2364d2398 Update dependencies 2019-07-03 19:14:42 -04:00
Hugo Locurcio
5b5aeaa683 Enable link-time optimization for release builds (#177)
This creates faster and smaller binaries, at the cost of longer
build times.
2019-06-26 09:09:26 -04:00
Josh Holmer
3809421de7 Use image 0.21.2 with bugfixes from crates.io 2019-06-19 15:21:41 -04:00
Josh Holmer
9c6190c1ff Version 2.2.1 2019-03-26 14:19:34 -04:00
Josh Holmer
7bd7c0cfc9 Bump image crate to handle large images
Closes #167 and #168
2019-03-26 14:14:01 -04:00
Josh Holmer
bd6e7dbbb1 Version 2.2.0 2019-02-01 17:30:16 -05:00
Josh Holmer
d86bc80f43 Prepare for next release 2019-02-01 17:27:03 -05:00
Josh Holmer
c92b03d908 Remove unused features 2019-02-01 16:42:00 -05:00
Kornel
9af874d21b Make reductions return a new uncompressed image (#158)
* Fix verbose message

* No cloning when restoring original data

* Make reductions return a new uncompressed image

Partially fixes #145

* Async reduction evaluator

* Assert

* Faster bit depth check

* Also try 4-bit depth for small-depth images

* Skip test when using miniz

* Ensure palette is trimmed after depth reduction

Fixes #159

* Fudge factor for reductions to prefer better reductions even if gzip estimation says otherwise
2019-01-27 03:22:49 -05:00
Josh Holmer
d91fc890cd 2.1.8 2018-12-02 00:14:43 -05:00
Josh Holmer
565d08ed72 Version 2.1.7 2018-11-27 22:34:58 -05:00
Kornel
ff7a9547c3 Nicer wrapper for cfzlib (#149) 2018-11-25 03:29:30 -05:00
Kornel
686adcdebd Optimize RGB/A to palette conversion (#148) 2018-11-22 21:52:02 -05:00
Josh Holmer
d82406a959 Version 2.1.6 2018-11-17 18:02:16 -05:00
Joshua Holmer
88035ccbae Version 2.1.5 2018-10-11 08:41:11 -04:00
Josh Holmer
903f962f29 Version 2.1.4 2018-09-28 21:05:58 -04:00
Josh Holmer
a4e0a34357 Bump version to 2.1.3 2018-09-16 23:21:51 -04:00
Josh Holmer
edd4966cea
Fix compilation error on i686 due to cfzlib incompat (#138)
Closes #137
2018-09-16 14:43:08 -04:00
Josh Holmer
df07d10a5c Version 2.1.2 2018-08-11 23:35:57 -04:00
Josh Holmer
7895e42687 Version 2.1.1 2018-08-11 20:34:04 -04:00
Josh Holmer
4ea310fa68 Version 2.1.0 2018-08-04 23:28:14 -04:00