Commit graph

171 commits

Author SHA1 Message Date
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