[librsvg] Update NEWS for 2.51.0
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Update NEWS for 2.51.0
- Date: Wed, 3 Feb 2021 18:23:04 +0000 (UTC)
commit 02f4d0e7ff25ab91153e3b9e4e27c25b50679377
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Feb 3 11:57:56 2021 -0600
Update NEWS for 2.51.0
NEWS | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
---
diff --git a/NEWS b/NEWS
index c39ae357..5369879a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,81 @@
Version 2.51.0
+There are many changes in this development release! This experimental
+release is meant for early testing, with the understanding that some
+things may be broken, especially since we have large changes to the
+way librsvg's artifacts are built.
+
+The biggest user-visible change is that rsvg-convert has been ported
+to Rust (Sven Neumann, Paolo Borelli).
+
+Please file bugs at https://gitlab.gnome.org/GNOME/librsvg/-/issues/new
+if these changes break your scripts; they are experimental for the
+2.51.x development series:
+
+- #646 - rsvg-convert's default DPI is now 96, to better match W3C
+ standards. It was 90 before for historical reasons. We can change
+ this back to 90 if it breaks too many scripts. You can use the
+ options "--dpi-x=90 --dpi-y=90" to restore the old behavior.
+
+- rsvg-convert's --export-id (-i) option should now have more useful
+ behavior. This extracts a particular element from the SVG document
+ and renders it scaled to the size specified by the --width/--height
+ arguments, or to the pixel size of the element as if it had no
+ transformations applied.
+
+- rsvg-convert no longer supports the "xml" or "recording" output
+ formats. These are useful only for debugging Cairo, not for general
+ usage.
+
+Known missing features, which should be restored for the stable release:
+
+- rsvg-convert does not allow stdin/stdout streams on Windows; this is
+ being tracked in issue #676.
+
+The following are changes related to porting to Rust; they are not
+necessarily user-visible, but important for developers of the library:
+
+- There is no leftover C code in the library; all of the
+ implementation and the publically-visible symbols are defined in the
+ Rust code. The remaining .h files are all public and do not reflect
+ any .c code. (Sven Neumann)
+
+- The test suite is now ported to Rust. The only remaining tests in C
+ are for the C API itself (tests/api.c). With the test suite in
+ Rust, the tests are automatically run in parallel across CPU cores,
+ making test runs much faster. (Sven Neumann, Dunja Lalic)
+
+- "cargo build", "cargo test" should now work without running
+ autotools first.
+
+- The C API is now implemented on top of the public Rust API, without
+ special hooks into the library's internals.
+
+The following APIs are deprecated but still available:
+
+- rsvg_handle_render_cairo() - use rsvg_handle_render_document() instead.
+
+- rsvg_handle_render_cairo_sub() - use rsvg_handle_render_layer() or
+ rsvg_handle_render_element() depending on what you want to do.
+
+- These deprecations are because the new APIs conform with the web
+ world's view of how SVGs should be positioned and scaled in
+ surrounding content. Whereas the old APIs were about rendering SVGs
+ to whatever current transformation matrix a Cairo context may
+ contain, the new APIs take a rectangular viewport and librsvg
+ automatically scales the SVG document to fit in it. The "natural
+ sizing" that was implicit in the deprecated APIs is now explicitly
+ documented, and available through the new API
+ rsvg_handle_get_intrinsic_size_in_pixels().
+
+New APIs:
+
+- rsvg_handle_get_intrinsic_size_in_pixels() converts an SVG
+ document's intrinsic dimensions to pixels, i.e. transforms the SVG
+ document's "width" and "height" attributes to CSS pixels.
+
+New features and bug fixes:
+
- #615: SVG2: Support a chain of uri() filters in the "filter" property
(John Ledbetter, Sven Neumann).
@@ -10,12 +86,45 @@ Version 2.51.0
- Fixed CSS "import" so it allows only files from the same base directory
(Lars Schmertmann).
+- #642 - Fix dx/dy offsets in nested <tspan> elements.
+
+- #601 - Compute correct bounds for objects with stroke-width=0.
+
+- Slight speed improvements in the RGBA premultiplication code (Sven Neumann).
+
- #623 - The pkg-config files (*.pc) do not define the 'svgz_supported' and
'css_supported' variables anymore. These variables were hardcoded
to 'true' and unchanged since 2011.
- #624 - The source repository no longer produces a librsvg-uninstalled.pc file.
+- Fix the MacOS build (Christian Hergert, Ignacio Casal Quinteiro).
+
+- Deal with missing pkg-config (Ismael Luceno).
+
+- For cross-compilation, check for target-specific prefixed tools like
+ rustc/cargo (Heiko Becker).
+
+Changes in the Rust API:
+
+- #597 - The LoadingError and RenderingError enums have changed, and
+ are now marked #[non_exhaustive]. They will probably change again
+ to hide details of error variants before we make librsvg available
+ as a crate on crates.io.
+
+Special thanks for this release:
+
+- Dunja Lalic for revamping the CI infrastructure and making our CI
+ runs much, much faster - !398.
+
+- Sven Neumann, Dunja Lalic for porting the test suite to Rust.
+
+- Sven Neumann, Paolo Borelli for porting rsvg-convert to Rust and
+ unraveling all the little historical details that were embedded in
+ it.
+
+- Paolo Borelli for constant refactoring.
+
Version 2.49.5
- #607 - Support the mix-blend-mode property from SVG2 and the
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]