Librsvg 2.41.1 is released



I have just relased librsvg 2.41.1.  This is a big release!  It is
still in the experimental 2.41.x series, in which librsvg is being
rewritten in Rust bit by bit, while keeping the C API/ABI intact.

Librsvg 2.41.1 is available here:

  https://download.gnome.org/sources/librsvg/2.41/

SHA256 checksums:

359f6538eda0a9ffc95a90685a252af27050bec1c13eea2380e1e33e8ba54f5a  librsvg-2.41.1.news
d6c7905685d4b19b205711ff56dcfca9fa6c19181ebc2a46e8b3d99fdfb87170  librsvg-2.41.1.changes
c1c3e76de68f8b7da3d88992cebab252a7e872818e892d7a56a9e89e44b298a0  librsvg-2.41.1.tar.xz

Short summary of changes in this release:

- Lots and lots of bug fixes.  Lots!

- We now distribute the Rust dependencies in the tarball using "cargo
vendor".  This should make it possible for Linux distributions to
compile librsvg using their own versions of the Rust dependencies,
using Cargo's source replacement mechanism.  Please tell me if there's
anything I can do to make this easier from the maintainer's
perspective.

- Once we have proof that this is shippable by distros, I will stop
maintaining the 2.40.x series.  The 2.41 code is ABI compatible and
much, much better.

Special thanks to Chun-wei Fan for keeping the Windows build working
and for quickly integrating all the changes needed for the Rust sub-
library.

Long list of changes in this release:

- The feConvolveMatrix filter primitive wasn't being rendered at all;
  now it works.
- Pattern specifications can now have a fallback color, per the spec -
  https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint
- Tests now use a very basic form of reproducible font rendering.
  This means that "make check" should pass even if you have a custom
  Fontconfig setup.
- Fixed recursive fallbacks in gradients.
- Per the spec, we now don't render elements which have invalid
  attributes.
- Windows build: support building with Fontconfig; support Visual
  Studio 2017; generate .pc files upon install (Chun-wei Fan)
- Fixed bgo#621088 - Text elements can now be used as clipping paths.
- Fixed bgo#587721 - Fix rendering of text elements with transformations
  (Massimo)
- Fixed bgo#776932 - Don't crash on elements with an invalid
  "transform" attribute.
- Fixed bgo#777155 - Ignore patterns that have close-to-zero dimensions.
- Fixed bgo#776297 - Don't render markers for rect / circle elements;
  fix marker angles in some cases (Massimo).
- Fixed bgo#777834 - Don't crash when rendering text with empty
  extents.
- Fixed bgo#634324 - Gaussian blur with negative-scaling
  transformation was being rendered incorrectly.
- Fixed bgo#783835 - Don't divide by zero in Gaussian blurs
- Fixed division by zero in feTile filter when the input surface is
  empty.
- Fixed bgo#779489 - Link to pangoft2 as required.
- Don't crash in filters when one of them yields an invalid surface
  for an intermediate result.
- Update for bgo#778666 - Use our own thumbnailer specification file
  (Jeremy Bicha).
- Fixed bgo#782098 - Don't pass deprecated options to gtkdoc-scangobj
  (Ting-Wei Lan).
- Fixed bgo#777833 - Various memory leaks (Philip Withnall, Federico Mena)
- Fixed bgo#786372 - Use the correct default for the style element's
  "type" attribute.
- Fixed bgo#634514 - Don't render unknown elements and their children.
- Fix parsing of "azimuth", "elevation", "limitingConeAngle" for
  filter effects.
- Fixed bgo#785276 - Don't crash on empty or single-byte files.
- Made the <switch> element work; SVG feature names were being
  tested incorrectly.
- Fixed a few cases of uninitialized struct fields.
- Code converted to Rust: preserveAspectRatio attribute, viewBox
  attribute, core Node structure, path/line/rect/circle/ellipse basic
  shapes, group/defs/switch/svg/use/symbol structural elements, pattern element
  and pattern fallbacks, marker rendering, various parsers, error
  propagation from parsers, gradient stops, gradient element, 
- Added a bunch of new test cases for the new features and the
  code converted to Rust.
- We now require cairo-rs 0.2.0
- We now require lalrpop 0.13.1
- The librsvg tarball now comes with the Rust dependencies embedded
  using "cargo vendor".  Linux distros can replace these dependencies
  with their own versions using the infrastructure described in
  http://doc.crates.io/source-replacement.html

Enjoy,

  Federico

Attachment: signature.asc
Description: This is a digitally signed message part



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