image v0.23.12 Release Notes

    • Fix a soundness issue affecting the impls of Pixel::from_slice_mut. This would previously reborrow the mutable input reference as a shared one but then proceed to construct the mutable result reference from it. While UB according to Rust's memory model, we're fairly certain that no miscompilation can happen with the LLVM codegen in practice. See 5cbe1e6767d11aff3f14c7ad69a06b04e8d583c7 for more details.
    • 🛠 Fix imageops::blur panicking when sigma = 0.0. It now defaults to 1.0 as all negative values.
    • 🛠 Fix re-exporting png::{CompressionType, FilterType} to maintain SemVer compatibility with the 0.23 releases.

    • ➕ Add ImageFormat::from_extension

    • ➕ Add copyless DynamicImage to byte slice/vec conversion.

    • Add bit-depth specific into_ and to_ DynamicImage conversion methods.