Commit graph

228 commits

Author SHA1 Message Date
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
Josh Holmer
3b42f42491 Revert "Revert "Make cfzlib the default on platforms that support it""
This reverts commit ff0e3df948.
2018-08-04 23:08:30 -04:00
Josh Holmer
2241fd2c3b Version 2.0.2 2018-07-27 23:07:05 -04:00
Josh Holmer
b948264c32 Version 2.0.1 2018-07-21 00:40:48 -04:00
Josh Holmer
ff0e3df948 Revert "Make cfzlib the default on platforms that support it"
This reverts commit 2702145f3f.

cfzlib seems to have a MASSIVE memory leak in it. Trying to use it
when processing many files at once will cause your system to run out
of memory.

Closes #125
2018-07-21 00:37:57 -04:00
Josh Holmer
d110949d2a Version 2.0.0 2018-07-20 19:19:20 -04:00
Josh Holmer
2702145f3f Make cfzlib the default on platforms that support it
Raises the minimum Rust version to 1.27.0
2018-07-20 19:03:17 -04:00
Josh Holmer
b235e5601f Remove deprecated clippy plugin, use rustup clippy now 2018-07-20 18:50:27 -04:00
myfreeweb
ae65e4be8d Make Rayon an optional dependency (#112)
On WebAssembly, Rayon does not work (thread pool fails to initialize since threads are stubbed out).
2018-07-06 10:50:36 -04:00
Kornel
2d303f5dc2 Avoid double glob processing on unix (#111) 2018-07-06 08:11:42 -04:00
magicgoose
5570a24781 allow listing more than 2 filters (#105)
Closes #101
2018-06-06 21:10:20 -04:00
Kornel
e472c82876 Option to use Cloudflare's zlib for compression (#103)
Behind the nightly feature flag for now--stable ASM is coming in Rust 1.27
2018-06-04 15:39:51 -04:00
Kornel Lesiński
a846f9da53 Disallow building of broken binary 2018-05-31 15:18:04 +01:00
Josh Holmer
cff34358d7 Bump dependencies for 1.0.4 2018-05-01 20:52:32 -04:00
Josh Holmer
8a2bdcd133 Version 1.0.3 2018-04-03 19:03:15 -04:00
Josh Holmer
4e6188919f Bump dependencies 2018-04-03 18:56:43 -04:00
Josh Holmer
d7369707ba Fix a change that breaks itertools with newer versions of Rust nightly 2018-03-04 23:47:06 -05:00
Josh Holmer
88636d269d Actually these need to be under the badges section 2018-02-23 21:45:01 -05:00
Josh Holmer
4a0445b663 Add a couple of new Cargo tags 2018-02-23 20:56:00 -05:00
Josh Holmer
10123daad2 Version 1.0.1 2018-02-21 18:36:56 -05:00
Josh Stone
6f123c6382 Update to rayon 1.0 2018-02-20 14:14:45 -08:00
Josh Holmer
27e6dfeaab Version 1!
There should not be any more breaking changes for a long time.
2018-01-31 18:57:52 -05:00
Josh Holmer
66c1662537 Remove unused libc dependency 2018-01-30 23:54:30 -05:00
Josh Holmer
fe9cd01b82 Replace miniz_sys with miniz_oxide, a Rust implementation of miniz
This also improves decompression performance by 15%, and obsoletes the
`--zm` parameter.

Closes #57
2018-01-30 23:52:37 -05:00
Josh Holmer
8270254823 Version 0.19.0 2018-01-10 20:56:23 -05:00
Josh Holmer
9bb60794da Release version 0.18.3 2017-12-27 17:23:28 -05:00
Josh Holmer
30ecc0cc05 Version 0.18.2 2017-12-23 00:43:23 -05:00
Josh Holmer
833611ba2f Bump image 2017-12-22 23:22:25 -05:00
Josh Holmer
ce5f83ac6c Version 0.18.1 2017-11-21 12:58:43 -05:00
Josh Holmer
c36cc240e2 Upgrade dependencies 2017-11-21 12:37:06 -05:00
Josh Holmer
91b3772e7d Version 0.18.0 2017-11-08 14:06:10 -05:00
Josh Holmer
9c7fdfd9d1 Fix parsing of glob paths on Windows
Closes #90
2017-11-06 19:01:18 -05:00
Josh Holmer
fa334e0750 Update dependencies 2017-11-06 18:50:10 -05:00
Josh Holmer
55a147143b Version 0.17.2 2017-09-30 22:52:18 -04:00
Josh Holmer
de7f93d98b Bump dependencies 2017-09-30 22:46:07 -04:00
Josh Holmer
37deccd8d3 Version 0.17.1 2017-09-12 18:06:26 -04:00
Josh Holmer
c084a94138 Release version 0.17.0 2017-09-11 18:28:51 -04:00
Josh Holmer
6d1005d199 Update dependencies 2017-09-10 23:32:26 -04:00
Josh Holmer
d0c167347d Version 0.16.3 2017-07-01 10:12:43 -04:00
Josh Holmer
55154564df Version 0.16.2 2017-06-20 07:19:42 -04:00
Josh Holmer
aa240f1f7b Rayon broke stuff in a point release. Seriously... 2017-06-15 08:01:32 -04:00
Josh Holmer
5f4ddbb8f4 Upgrade dependencies 2017-06-14 18:28:07 -04:00
Josh Holmer
2925358856 Release version 0.15.2 2017-05-02 19:32:06 -04:00
Josh Holmer
ed3b843dd2 Update rayon and itertools dependencies 2017-05-02 19:29:20 -04:00
Greg V
8118a29493 Upgrade image to 0.13 2017-05-02 14:18:45 -04:00
Josh Holmer
d665c61645 Version 0.15.1 2017-03-08 10:14:54 -05:00
Josh Holmer
a7c2c9d9df Release version 0.15.0 2017-03-07 11:03:54 -05:00
Josh Holmer
6c8e7d253d Verify images are correct before outputting them, and fix a bug in certain images
Closes #60
2017-03-06 20:16:28 -05:00
Josh Holmer
c79ba3ab8a Version 0.14.4 2017-02-26 22:53:23 -05:00
Josh Holmer
87810829ce Fix issues in transparency palette reduction and release version 0.14.3 2017-02-25 23:33:55 -05:00
Josh Holmer
44818a854b Fix two bugs in reducing palette and release version 0.14.2 2017-02-22 15:45:46 -05:00
Joshua Holmer
8e02aa8294 Remove zlib dependency, which broke with the new version of zlib 2017-02-21 21:45:53 -05:00
Josh Holmer
f5ab197b4f Release 0.14.0 2017-01-20 13:32:31 -05:00
Josh Holmer
1b315b5eb5 Update dependencies 2017-01-10 08:39:33 -05:00
Josh Holmer
b95c562651 Bump version 2017-01-02 13:22:18 -05:00
Josh Holmer
ac1620c072 Update dependencies 2017-01-01 23:42:48 -05:00
Josh Holmer
7261fa3398 Release 0.13.0 2016-12-12 13:54:18 -05:00
Josh Holmer
bfdb36d674 Update dependencies 2016-12-12 13:51:31 -05:00
Joshua Holmer
8286c3ab85 Bump to 0.12.0 2016-12-01 22:51:43 -05:00
Josh Holmer
6d49d7b8f9 Implement zopfli compression, available as a CLI flag (-Z)
Improves compression by about 10% over DEFLATE, but takes a very long
time at the moment, so it is off by default.
2016-12-01 12:51:30 -05:00
Josh Holmer
4977dd0948 Replace current Mutex-based threading with Rayon 2016-09-17 18:16:26 -04:00
Josh Holmer
03c5098730 Version 0.11.0 2016-09-13 07:44:05 -04:00
Josh Holmer
6d24cbfb3c Downgrade clap for compatibility with rustc 1.9 2016-09-12 17:55:41 -04:00
Josh Holmer
77d3191170 Use docs.rs for documentation 2016-09-09 22:10:11 -04:00
Josh Holmer
f654cbeac4 Various minor changes 2016-09-09 21:55:47 -04:00
Josh Holmer
9d018a3f3b Move clippy to a new "dev" feature 2016-08-19 22:48:23 -04:00
Josh Holmer
3166285150 Allow using optimization presets from crate
Closes #43
2016-08-14 11:31:46 -04:00
Josh Holmer
d095cc1684 Bump minimum rust version to 1.8 2016-08-03 08:40:56 -04:00
Josh Holmer
37c32b80ef Remove quickcheck, as it breaks tests against 1.6.0 2016-08-03 08:15:01 -04:00
Josh Holmer
64edc9110e Start using quickcheck and add inline hints 2016-07-30 23:14:36 -04:00
Josh Holmer
c950a68bfe Update dependencies 2016-07-30 21:50:33 -04:00
Josh Holmer
99da13bd8e Version 0.10.0 [ci skip] 2016-07-26 12:59:28 -04:00
Josh Holmer
f6bb5ab28a Make clap and regex dependencies optional 2016-07-14 22:34:31 -04:00
Josh Holmer
7f68fd56fb Fix publishing to crates.io [ci skip] 2016-07-14 20:07:29 -04:00
Josh Holmer
29557a18e8 Version 0.9.0 2016-07-14 20:00:59 -04:00
Josh Holmer
7f9ad263ec Refactor code into modules 2016-07-14 11:10:10 -04:00
Josh Holmer
332c27c7d0 Significant refactoring using itertools 2016-07-14 08:10:25 -04:00
Joshua Holmer
2659776bd5 Fix issue for interlacing images smaller than 4px
Fixes #42
2016-05-25 23:10:44 -04:00
Joshua Holmer
aff99f2f7c Merge branch 'master' of github.com:shssoichiro/oxipng 2016-05-13 22:12:43 -04:00
Joshua Holmer
223995b551 Version 0.8.1 [ci skip] 2016-05-13 22:12:27 -04:00
Joshua Holmer
5031f236c8 Revert image crate to 0.8.0 to fix compatibility with rustc 1.6.0 2016-05-13 20:30:06 -04:00
Joshua Holmer
1d39714b0f Fix several new clippy lints 2016-05-13 10:46:16 -04:00
Joshua Holmer
8358f4f72d Version 0.8.0 [ci skip] 2016-05-06 10:00:02 -04:00
Joshua Holmer
193e6496bd Version 0.7.0 2016-05-04 10:41:29 -04:00
Joshua Holmer
3652a69255 Optimize filter mode 1 2016-05-02 15:48:21 -04:00
Joshua Holmer
32c35596ea 25% speed improvement in filter mode 2 by using iter instead of for 2016-05-02 14:49:30 -04:00
Joshua Holmer
b8116dd3dd Version 0.6.0 [ci skip] 2016-05-02 09:40:37 -04:00
Joshua Holmer
f3b8665278 Use miniz for compression strategies 0 and 1
Worst case (RGB/A images) it performs similarly to zlib
Best case (Indexed images) it performs 1-2 orders of magnitude better

Zlib is kept for strategies 2 and 3, where it performs an order of
magnitude better than miniz
2016-04-20 23:14:41 -04:00
Joshua Holmer
11308959fa Version 0.5.0 [ci skip] 2016-04-20 15:51:14 -04:00
Joshua Holmer
f2c16696a5 Add benchmark suite using cargo
Closes #7
2016-04-19 23:26:05 -04:00
Joshua Holmer
ea484a8978 Version 0.4.0 2016-04-08 13:52:15 -04:00
Joshua Holmer
c78e3213d6 Update crates and fix interlacing issue 2016-04-08 13:37:00 -04:00
Joshua Holmer
548c69cad7 Version 0.3.0 [ci skip] 2016-04-04 20:23:24 -04:00
Joshua Holmer
489964add2 Release v0.2.2 [ci skip] 2016-03-21 12:28:20 -04:00
Joshua Holmer
87e21c2020 Limit number of simultaneous threads to help memory usage at high opt levels
Still uses a lot of memory. Would like to remove the storage of all compression
data attempts and calculate the best immediately during each thread.
2016-03-19 02:07:31 -04:00
Joshua Holmer
7880142337 Update documentation link in Cargo.toml [ci skip] 2016-03-11 12:17:48 -05:00
Joshua Holmer
262bbf003a Release version 0.2.1 [ci skip] 2016-03-10 14:50:35 -05:00
Joshua Holmer
ca50826245 Mark doc = false on bin to allow cargo doc to work [ci skip] 2016-03-08 12:03:07 -05:00
Joshua Holmer
911f51faa9 Version 0.2.0 [ci skip] 2016-03-05 22:55:01 -05:00
Joshua Holmer
419fddd6d4 Tag 0.1.1 [ci skip] 2016-03-03 16:32:45 -05:00
Joshua Holmer
1b1a66fe6c Exclude tests from crate [ci skip]
The image files for testing add up to over 10MB,
which prevents it from being published on crates.io
2016-03-03 16:09:54 -05:00
Joshua Holmer
76106f043e Add additional fields to Cargo.toml [ci skip] 2016-03-03 15:06:26 -05:00
Joshua Holmer
95f8827b41 Prepare documentation for release 2016-03-03 14:34:50 -05:00
Joshua Holmer
0eecca1812 Change versioning scheme and start a changelog 2016-02-24 11:06:57 -05:00
Joshua Holmer
08e6d42021 Implement multithreading for deflate passes
Closes #6
2016-02-04 10:32:20 -05:00
Joshua Holmer
4894c4a072 Make our tests fail again
Although now they test that the conversion was lossless,
which is extremely important for this program to be useful
2016-01-18 20:03:39 -05:00
Joshua Holmer
ab15fc1d61 Color reduction 2016-01-14 13:24:56 -05:00
Joshua Holmer
12b472e572 Rename project 2016-01-11 11:03:52 -05:00
Joshua Holmer
273880ea0b Implement option parsing - Part 1
The compression options help text keeps getting split up by rustfmt.
Don't let it.
2016-01-07 16:29:02 -05:00
Joshua Holmer
052b047222 Get zlib compression to work 2016-01-01 01:00:57 -05:00
Joshua Holmer
9e1cf7881d Use our own libpng 2015-12-18 22:19:05 -05:00
Joshua Holmer
7d3a601686 So as to not lose my work 2015-12-16 08:01:05 -05:00