cheep-crator-2/vendor/png/CHANGES.md

5.0 KiB

Unreleased

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