1# Change Log
2All notable changes to this project will be documented in this file.
3This project adheres to [Semantic Versioning](http://semver.org/).
4
5## Unreleased
6
7## v0.1.22 (2021-01-27)
8
9- Fix panic on jpeg without frames.
10
11## v0.1.21 (2021-01-23)
12
13- Fix incorrect order of MCUs in non-interleaved streams
14- DCT Progressive images with incomplete coefficient blocks are now rendered
15- Fix a panic on invalid dimensions
16- Reduce allocations and runtime of decoding
17- Rework multi-threading to run a thread per component
18
19## v0.1.20 (2020-07-04)
20
21- Fix decoding of some progressive images failing
22- Several more performance improvements
23- Add `PixelFormat::pixel_bytes` to determine the size of pixels
24- Cleanup and clarification of the 8x8 idct implementation
25- Updated fuzzing harnesses and helpers
26
27## v0.1.19 (2020-04-27)
28- Fix decoding returning too much image data
29- Fix recognizing padding in marker segments
30- Several decode performance improvements
31- Remove use of deprecated `Error::description`
32
33## v0.1.18 (2019-12-10)
34- Fix two bugs causing panics introduced in 0.1.17.
35
36## v0.1.17 (2019-12-08)
37- Minimum supported rust version changed to 1.34
38- Fix clippy::into_iter_on_array warning
39- Ignore extraneous bytes after SOS
40- Support IDCT Scaling
41
42## v0.1.16 (2019-08-25)
43- Minimum supported rust version changed to 1.28
44- Allow zero length DHT segments
45
46## v0.1.15 (2018-06-10)
47- Added support for WebAssembly and asm.js (thanks @CryZe!)
48- Bugfix for images with APP14 segments longer than 12 bytes.
49
50## v0.1.14 (2018-02-15)
51- Updated `rayon` to 1.0.
52
53## v0.1.13 (2017-06-14)
54- Updated `rayon` to 0.8.
55
56## v0.1.12 (2017-04-07)
57- Fixed an integer overflow in `derive_huffman_codes`.
58- Updated `rayon` to 0.7.
59
60## v0.1.11 (2017-01-09)
61- Fixed an integer overflow.
62- Updated `byteorder` to 1.0.
63
64## v0.1.10 (2016-12-23)
65- Updated `rayon` to 0.6
66
67## v0.1.9 (2016-12-12)
68- Added a generic integer upsampler, which brings support for some unusual subsampling schemes, e.g. 4:1:1 (thanks @iamrohit7!)
69- Made rayon optional through the `rayon` cargo feature (thanks @jackpot51!)
70
71## v0.1.8 (2016-11-05)
72* Updated rayon to version 0.5.
73
74## v0.1.7 (2016-10-04)
75- Added `UnsupportedFeature::NonIntegerSubsamplingRatio` error
76- Fixed a bug which could cause certain images to fail decoding
77- Fixed decoding of JPEGs which has a final RST marker in their entropy-coded data
78- Avoid allocating coefficients when calling `read_info()` on progressive JPEGs
79
80## v0.1.6 (2016-07-12)
81- Added support for 16-bit quantization tables (even though the JPEG spec explicitly
82  states "An 8-bit DCT-based process shall not use a 16-bit precision quantization table",
83  but since libjpeg allows it there is little choice...)
84- Added support for decoding files with extraneous data (this violates the JPEG spec, but libjpeg allows it)
85- Fixed panic when decoding files without SOF
86- Fixed bug which caused files with certain APP marker segments to fail decoding
87
88## v0.1.5 (2016-06-22)
89- Removed `euclid` and `num-rational` dependencies
90- Updated `rayon` to 0.4
91
92## v0.1.4 (2016-04-20)
93- Replaced `num` with `num-rational`
94
95## v0.1.3 (2016-04-06)
96- Updated `byteorder` to 0.5
97
98## v0.1.2 (2016-03-08)
99- Fixed a bug which was causing some progressive JPEGs to fail decoding
100- Performance improvements
101
102## v0.1.1 (2016-02-29)
103- Performance improvements
104
105## v0.1.0 (2016-02-13)
106- Initial release
107