diff options
Diffstat (limited to 'vendor/png/CHANGES.md')
-rw-r--r-- | vendor/png/CHANGES.md | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/vendor/png/CHANGES.md b/vendor/png/CHANGES.md new file mode 100644 index 0000000..6baffb4 --- /dev/null +++ b/vendor/png/CHANGES.md @@ -0,0 +1,171 @@ +## Unreleased + +## 0.17.10 + +* Added Transformations::ALPHA +* Enable encoding pixel dimensions + +## 0.17.9 + +* Fixed a bug in ICC profile decompression. +* Improved unfilter performance. + +## 0.17.8 + +* Increased MSRV to 1.57.0. +* Substantially optimized encoding and decoding: + - Autovectorize filtering and unfiltering. + - Make the "fast" compression preset use fdeflate. + - Switch decompression to always use fdeflate. + - Updated to miniz_oxide 0.7. + - Added an option to ignore checksums. +* Added corpus-bench example which measures the compression ratio and time to + re-encode and subsequently decode a corpus of images. +* More fuzz testing. + +## 0.17.7 + +* Fixed handling broken tRNS chunk. +* Updated to miniz_oxide 0.6. + +## 0.17.6 + +* Added `Decoder::read_header_info` to query the information contained in the + PNG header. +* Switched to using the flate2 crate for encoding. + +## 0.17.5 + +* Fixed a regression, introduced by chunk validation, that made the decoder + sensitive to the order of `gAMA`, `cHRM`, and `sRGB` chunks. + +## 0.17.4 + +* Added `{Decoder,StreamDecoder}::set_ignore_text_chunk` to disable decoding of + ancillary text chunks during the decoding process (chunks decoded by default). +* Added duplicate chunk checks. The decoder now enforces that standard chunks + such as palette, gamma, … occur at most once as specified. +* Added `#[forbid(unsafe_code)]` again. This may come at a minor performance + cost when decoding ASCII text for now. +* Fixed a bug where decoding of large chunks (>32kB) failed to produce the + correct result, or fail the image decoding. As new chunk types are decoded + this introduced regressions relative to previous versions. + +## 0.17.3 + +* Fixed a bug where `Writer::finish` would not drop the underlying writer. This + would fail to flush and leak memory when using a buffered file writers. +* Calling `Writer::finish` will now eagerly flush the underlying writer, + returning any error that this operation may result in. +* Errors in inflate are now diagnosed with more details. +* The color and depth combination is now checked in stream decoder. + +## 0.17.2 + +* Added support for encoding and decoding tEXt/zTXt/iTXt chunks. +* Added `Encoder::validate_sequence` to enable validation of the written frame + sequence, that is, if the number of written images is consistent with the + animation state. +* Validation is now off by default. The basis of the new validation had been + introduced in 0.17 but this fixes some cases where this validation was too + aggressive compared to previous versions. +* Added `Writer::finish` to fully check the write of the end of an image + instead of silently ignoring potential errors in `Drop`. +* The `Writer::write_chunk` method now validates that the computed chunk length + does not overflow the limit set by PNG. +* Fix an issue where the library would panic or even abort the process when + `flush` or `write` of an underlying writer panicked, or in some other uses of + `StreamWriter`. + +## 0.17.1 + +* Fix panic in adaptive filter method `sum_buffer` + +## 0.17.0 + +* Increased MSRV to 1.46.0 +* Rework output info usage +* Implement APNG encoding +* Improve ergonomics of encoder set_palette and set_trns methods +* Make Info struct non-exhaustive +* Make encoder a core feature +* Default Transformations to Identity +* Add Adaptive filtering method for encoding +* Fix SCREAM_CASE on ColorType variants +* Forbid unsafe code + +## 0.16.7 + +* Added `Encoder::set_trns` to register a transparency table to be written. + +## 0.16.6 + +* Fixed silent integer overflows in buffer size calculation, resulting in + panics from assertions and out-of-bounds accesses when actually decoding. + This improves the stability of 32-bit and 16-bit targets and make decoding + run as stable as on 64-bit. +* Reject invalid color/depth combinations. Some would lead to mismatched output + buffer size and panics during decoding. +* Add `Clone` impl for `Info` struct. + +## 0.16.5 + +* Decoding of APNG subframes is now officially supported and specified. Note + that dispose ops and positioning in the image need to be done by the caller. +* Added encoding of indexed data. +* Switched to `miniz_oxide` for decompressing image data, with 30%-50% speedup + in common cases and up to 200% in special ones. +* Fix accepting images only with consecutive IDAT chunks, rules out data loss. + +## 0.16.4 + +* The fdAT frames are no longer inspected when the main image is read. This + would previously be the case for non-interlaced images. This would lead to + incorrect failure and, e.g. an error of the form `"invalid filter method"`. +* Fix always validating the last IDAT-chunks checksum, was sometimes ignored. +* Prevent encoding color/bit-depth combinations forbidden by the specification. +* The fixes for APNG/fdAT enable further implementation. The _next_ release is + expected to officially support APNG. + +## 0.16.3 + +* Fix encoding with filtering methods Up, Avg, Paeth +* Optimize decoding throughput by up to +30% + +## 0.16.2 + +* Added method constructing an owned stream encoder. + +## 0.16.1 + +* Addressed files bloating the packed crate + +## 0.16.0 + +* Fix a bug compressing images with deflate +* Address use of deprecated error interfaces + +## 0.15.3 + +* Fix panic while trying to encode empty images. Such images are no longer + accepted and error when calling `write_header` before any data has been + written. The specification does not permit empty images. + +## 0.15.2 + +* Fix `EXPAND` transformation to leave bit depths above 8 unchanged + +## 0.15.1 + +* Fix encoding writing invalid chunks. Images written can be corrected: see + https://github.com/image-rs/image/issues/1074 for a recovery. +* Fix a panic in bit unpacking with checked arithmetic (e.g. in debug builds) +* Added better fuzzer integration +* Update `term`, `rand` dev-dependency +* Note: The `show` example program requires a newer compiler than 1.34.2 on + some targets due to depending on `glium`. This is not considered a breaking + bug. + +## 0.15 + +Begin of changelog |