From 9badd0a4e74c1c8baa347926a6a1e782de389253 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Tue, 15 Oct 2024 19:08:04 +0100 Subject: [PATCH 1/3] Fill in changelog and bump version for 0.25.3 --- CHANGES.md | 18 ++++++++++++++++-- Cargo.toml | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 769ec7ad1f..4c17758959 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,12 +1,26 @@ # Release Notes ## Known issues -- Many decoders will panic on malicous input. In most cases, this is caused by - not enforcing memory limits, though other panics have been seen from fuzzing. +- Many decoders will panic on malicious input. - The color space information of pixels is not clearly communicated. ## Changes +### Version 0.25.3 + +Features: + - Added support for orientation metadata, so that e.g. smartphone camera images could be displayed correctly: + - Added `ImageDecoder::orientation()` and implemented orientation metadata extraction for JPEG, WebP and TIFF formats + - Added `DynamicImage::apply_orientation()` to apply the orientation to an image + - Added support for extracting Exif metadata from images via `ImageDecoder::exif_metadata()`, and implemented it for JPEG and WebP formats + - Added `ImageEncoder::set_icc_profile()` and implemented it for WebP format. Pull requests with implementations for other formats are welcome. + - Added `DynamicImage::fast_blur()` for a linear-time approximation of Gaussian blur, which is much faster at larger blur radii + +Bug fixes: + - Fixed some APNG images being decoded incorrectly + - Fixed the iterator over animated WebP frames to return `None` instead of an error when the end of the animation is reached + - Disabling the `rayon` feature now also disables multi-threading in `ravif` and actually removes `rayon` from the dependency tree + ### Version 0.25.2 Features: diff --git a/Cargo.toml b/Cargo.toml index c540d148f9..497d7d5c62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "image" -version = "0.25.2" +version = "0.25.3" edition = "2021" resolver = "2" From 693079d51491bf0ab4c41403520f2dceba6dd3a0 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Tue, 15 Oct 2024 22:28:04 +0100 Subject: [PATCH 2/3] Reword ravif changelog entry --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 4c17758959..3b3c558a41 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -19,7 +19,7 @@ Features: Bug fixes: - Fixed some APNG images being decoded incorrectly - Fixed the iterator over animated WebP frames to return `None` instead of an error when the end of the animation is reached - - Disabling the `rayon` feature now also disables multi-threading in `ravif` and actually removes `rayon` from the dependency tree + - Toggling the `rayon` feature now correctly toggles the use of `rayon` within `ravif` (AVIF encoder). Previously it would be either always on or always off, depending on the `ravif` version. ### Version 0.25.2 From fe94eabb7f7491b9ba9378ea5ece2f8884c30c65 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Wed, 16 Oct 2024 17:32:17 +0100 Subject: [PATCH 3/3] Mention lossless WebP improvements --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 3b3c558a41..262ee31391 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,6 +9,7 @@ ### Version 0.25.3 Features: + - Much faster decoding of lossless WebP due to a variety of optimizations. Our benchmarks show 2x to 2.5x improvement. - Added support for orientation metadata, so that e.g. smartphone camera images could be displayed correctly: - Added `ImageDecoder::orientation()` and implemented orientation metadata extraction for JPEG, WebP and TIFF formats - Added `DynamicImage::apply_orientation()` to apply the orientation to an image