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