Version 2.59.0 ============== librsvg crate version 2.59.0 librsvg-rebind crate version 0.1.0 The biggest change in this release is that librsvg now uses the Meson build system instead of autotools. Many, many thanks to Amyspark and Centricular for doing and funding this massive work. With Meson, librsvg now builds a lot more reliably on Windows and MacOS. The Meson options for different compile-time configurations are documented in devel-docs/compiling.rst. Requirements for build tools: - Meson 1.2.0 or later - Rust 1.77.2 or later - cargo-c 0.9.19 or later (https://github.com/lu-zero/cargo-c) Summary of changes (see the release notes for the 2.58.9x releases for more details): - Librsvg now uses Meson instead of Autotools (Amyspark, Chun-wei Fan, Kleis Auke Wolthuizen, Jordan Petridis, Lovell Fuller, Nirbheek Chauhan). - There is a -Davif meson option to include support for AVIF in the image-rs crate, which librsvg uses to load raster images. See devel-docs/compiling.rst for details. (Jan Alexander Steffens) - #1061 - Librsvg now explicitly builds only its supported raster formats for image-rs: JPEG, PNG, GIF, WEBP, and optional compile-time support for AVIF (Kleis Auke Wolthuizen). Other raster image formats are not supported, to minimize the attack surface. Please file a bug if you need more formats. - #429 - Librsvg now supports cancellable rendering; you can start rendering an RsvgHandle in one thread, and stop it from another thread with a GCancellable. In the C API, you can use the rsvg_handle_set_cancellable_for_rendering() function; in the Rust API, CairoRenderer now has a with_cancellable() method. - #1089 - For Rust users, there is now a 'librsvg-rebind' crate that binds the C API for use from Rust. Internally this links to the system's librsvg shared library, in contrast with the 'librsvg' crate, which is statically linked and which has a native Rust API. The 'librsvg-rebind' crate is for cases where the additional code size from static linking is not desired. This librsvg-rebind crate is available from crates.io. (Sophie Herold). - A bunch of fixes to bugs found through fuzz testing.