[librsvg: 3/5] Update NEWS for 2.52.0, whew!




commit 6fb52e80583f69dd6b95a48257131c27fe40af88
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Sep 15 20:13:06 2021 -0500

    Update NEWS for 2.52.0, whew!
    
    Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/589>

 NEWS | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 161 insertions(+)
---
diff --git a/NEWS b/NEWS
index 140b11ef..0fb7c598 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,164 @@
+==============
+Version 2.52.0
+==============
+
+This is a big release!  What follows is a summary from the 2.51.x
+release notes; you can also read them for more detail.
+
+The biggest user-visible change is that rsvg-convert has been ported
+to Rust (Sven Neumann, Paolo Borelli), and it has new features!
+
+## New features in rsvg-convert
+
+### Support for physical units
+
+rsvg-convert is now aware of physical units, and
+fixes a bug where PDFs were created at the wrong size.  Do you need to
+render an SVG in a PDF file, scaled to 10x10 cm, placed at a certain
+position of a landscape A4 page?
+
+  rsvg-convert --format=pdf \
+    --page-width=297mm --page-height=210mm \
+    --width=10cm --height=10cm --keep-aspect-ratio \
+    --top=5cm --left=8cm \
+    foo.svg > foo.pdf
+
+Please see the rsvg-convert(1) man page for more details and plenty of
+examples.
+
+### Support for Accept-Language
+
+Previously, librsvg picked up the user's language preferences through
+environment variables like LANG and LC_MESSAGES.  This is inconvenient
+for applications that call rsvg-convert but don't want to synthesize a
+LANG variable.
+
+There is a new option in rsvg-convert so you can pass
+--accept-language=<languages> formatted as an HTTP Accept-Language
+header.  This is used to specify which languages will be chosen from
+elements with the "systemLanguage" attribute:
+
+    rsvg-convert --accept-language=es-MX,en foo.svg
+
+That command will select Mexican Spanish and English from suitable SVG
+elements.  Please see the man page for details.
+
+### Miscellaneous
+
+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 no longer supports the "xml" or "recording" output
+formats.  These are useful only for debugging Cairo, not for general
+usage.
+
+## SVG2/CSS3 features
+
+The following features are supported now.  Madds H, John Ledbetter,
+worked on these features.
+
+- transform property from SVG2; previously librsvg only supported the
+  transform attribute from SVG1.1, which has different syntax.
+
+- context-fill and context-stroke for <marker> and <use> elements.
+
+- markers now support orient="auto-start-reverse".
+
+- paint-order for text elements.
+
+- "auto" values for the width and height attributes of the <image>,
+  <rect>, and <svg> elements.
+
+- All the <filter-function> types from the Filter Effects Module Level
+  1 specification: blur(), brightness(), contrast(), drop-shadow(),
+  grayscale(), hue-rotate(), invert(), opacity(), sepia(), saturate().
+
+- The filter property now supports chains of uri() filters or
+  <filter-function> shortcuts.
+
+- Support CSS selectors for attribute matching, like rect[attr^="prefix"]
+
+## New APIs
+
+See the HTML documentation for details:
+
+- rsvg_handle_get_intrinsic_size_in_pixels()
+
+- rsvg_major_version / rsvg_minor_version / rsvg_micro_version
+  variables - used to obtain the librsvg version from languages other
+  than C, since they do not have access to the C macros like
+  LIBRSVG_MAJOR_VERSION.
+
+## Deprecations
+
+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.
+
+Please see the "Migrating from old APIs" chapter in the HTML
+documentation for details.
+
+## News for developers
+
+If you want to run the librsvg test suite easily, there are now Docker
+scripts to do so.  Please see the tools/docker/README.md file for
+details. (Madds H)
+
+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" now work without running autotools first,
+so you can in general develop librsvg as a normal Rust project.
+
+The HTML documentation has new chapters; you may find interesting
+things there!
+
+## News for distributors
+
+There is a new list of librsvg releases with security fixes in
+SECURITY.md.  That file also contains security-related information
+on librsvg's dependencies.
+
+The Minimum Supported Rust Version (MSRV) is now Rust 1.52.
+
+## Special thanks
+
+Paolo Borelli and Sven Neumann did a lot of painstaking work to finish
+porting the library and rsvg-convert to Rust.
+
+Sven Neumann and Dunja Lalic ported the test suite to Rust, making it
+much faster.
+
+Dunja Lalic rewrote the Continuous Integration infrastructure, making
+it MUCH faster.
+
+Madds H did their Outreachy internship for librsvg and implemented a
+bunch of useful SVG2/CSS3 features.
+
+John Ledbetter methodically went through all the <filter-function>
+shortcuts and implemented them for SVG2.
+
+Ismael Luceno has been cleaning up our autotools scripts.
+
+Andre Klapper has been wrangling numerous bug reports from Wikimedia
+as usual.
+
+Chun-wei Fan, Abraham Toriz, Christian Hergert, Ignacio Casal Quinteiro
+have been keeping the Windows and MacOS builds working.
+
+
 ==============
 Version 2.51.4
 ==============


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]