diff options
author | Federico Mena Quintero <federico@gnome.org> | 2019-09-09 12:17:43 -0500 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2019-09-09 12:17:43 -0500 |
commit | 3137e6c25c2588eda16ac71eade4298add07b434 (patch) | |
tree | 8d03fe10211f04d441ea2270d1c1fb81f02e0932 /NEWS | |
parent | 3166ce41df74662730e2fb9f185eadfc149beb47 (diff) | |
download | librsvg-3137e6c25c2588eda16ac71eade4298add07b434.tar.gz |
Update NEWS
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 56 |
1 files changed, 56 insertions, 0 deletions
@@ -1,3 +1,59 @@ +Version 2.46.0 + +- The following are highlights compared to the 2.44.x series. For + full details, please see the release notes for the 2.45.x series. + +- All of librsvg.so is now implemented in Rust! That is, except for a + very thin wrapper over the public API functions. Hopefully we can + remove this wrapper when Cargo gets some more features around + controlling the linking step. This release requires at least Rust 1.34. + +- Librsvg now comes with a Rust crate that can be used from Rust + applications. See librsvg_crate/examples. This Rust API is + designed to be idiomatic; if you want a Rust binding to the shared + library instead, please use the "rsvg-rs" crate from crates.io. + +- The following API functions are new in the C library: + rsvg_handle_get_intrinsic_dimensions() + rsvg_handle_render_document() + rsvg_handle_render_layer() + rsvg_handle_render_element() + rsvg_handle_get_geometry_for_layer() + rsvg_handle_get_geometry_for_element() + + Correspondingly, there is a new chapter in the documentation, called + "Recommendations for Applications". These new APIs conform better + with the web platform's idea of how SVG sizing/positioning should + work. Applications should now find it easier to scale and render + SVGs in a single call, instead of having to obtain image dimensions + first. + +- A bunch of functions have been deprecated but are still available: + + - rsvg_handle_write()/close() are deprecated in favor of the + stream functions. Unfortunately the write()/close() pair + require buffering the entire document, in case it is a .svgz + compressed file; the streaming functions do not have this + problem. + + - Functions that return RsvgDimensionData and RsvgPositionData are + deprecated, since they just use integers instead of floating + point numbers. They are replaced with the _get_geometry_*() + functions above. + +- The library is a lot more strict now in terms of detecting that the + API functions are called in the correct order. For example, calling + rsvg_handle_get_dimensions() before rsvg_handle_close() will now + emit a critical warning. + +- Librsvg is gradually moving towards using code from Mozilla's Servo. + We haven't quite gotten rid of libcroco and libxml2 yet, but this is + in progress. + +- Many thanks to all the people who participated in the long cycle for + 2.45. Having the whole library's functionality in Rust is a big + accomplishment! + Version 2.45.92 - #496 - Ensure all lengths and angles parse as finite numbers |