Skip to content
Release 0.23.13

- Fix an inconsistency in supported formats of different methods for encoding
  an image.
- Fix `thumbnail` choosing an empty image. It now always prefer non-empty image
  dimensions.
- Fix integer overflow in calculating requires bytes for decoded image buffers
  for farbfeld, hdr, and pnm decoders. These will now error early.
- Fix a panic decoding certain `jpeg` image without frames or meta data.
- Optimized the `jpeg` encoder.
- Optimized `GenericImage::copy_from` default impl in various cases.

- Add `avif` decoders. You must enable it explicitly and it is not covered by
  our usual MSRV policy of Rust 1.34. Instead, only latest stable is supported.
- Add `ImageFormat::{can_read, can_write}`
- Add `Frame::buffer_mut`
- Add speed and quality options on `avif` encoder.
- Add speed parameter to `gif` encoder.
- Expose control over sequence repeat to the `gif` encoder.
- Add `{contrast,brighten,huerotate}_in_place` functions in imageproc.

- Relax `Default` impl of `ImageBuffer`, removing the bound on the color type.
- Derive Debug, Hash, PartialEq, Eq for DynamicImage

sha256sum:
293f07a1875fa7e9c5897b51aa68b2d8ed8271b87e1a44cb64b9c3d98aabbc0d  target/package/image-0.23.13.crate