Librsvg 2.41.0 is released



Librsvg 2.41.0 is just released!

This is the first version to have Rust code in it.  The public API
remains unchanged.  Apologies in advance to distros who will have to
adjust their build systems for Rust - it's like taking a one-time
vaccine; you'll be better off in the end for it.

Librsvg 2.41.0 is available here:

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

SHA256 checksums:

25338a2596e391f4d41baaaee9f91435ff657180e1005504e773e4699c3485c6  librsvg-2.41.0.news
06ce73d669efa537f7bb54bc442c01f467b356a4d7ea9326d1ab78da7c11afcc  librsvg-2.41.0.changes
a13573cb4efe3678eaf8709ae3533d79b17d33d29ca78a1e03e81b6235577140  librsvg-2.41.0.tar.xz

What's new in this release?

- The big news is that parts of librsvg are now implemented in the
  Rust programming language, instead of C.  The public API remains
  identical.  Rust should provide us with memory safety and nicer
  built-in abstractions for the code, as well as an easier way to do
  unit tests.  Special thanks to all the people who sent tips on Rust
  idioms, and to Sebastian Dröge and Hubert Figuière for the Automake bits.
- Added an "--enable-debug" option to configure.ac - this will tell
  the Rust compiler to generate debugging code, instead of working in
  release mode.  Note that you must still pass CFLAGS by hand by the
  regular means for the C code.
- For Windows builds, only MSVC 2012 and upward are supported now.
- Chun-wei Fan made it possible to regenerate the MSVC project files
  when Makefile.am changes.
- Fixed bgo#763386 - handle curveto segments where three control
  points are coincident.  Thanks to Massimo for the detailed test cases.
- Fixed bgo#603550 - Compute the luminance correctly when generating a
  mask.  Thanks to Mike Lewis for the patch.
- Fixed bgo#776297 - Only render markers in path, line, polygon,
  polyline elements.
- Fixed feImage filters when they reference SVG nodes; they were
  translated incorrectly.
- Fixed feComponentTransferFunction when there are duplicated feFuncX
  elements.
- Fixed bgo#761871 - handle reflection points for quadratic and cubic
  curves correctly.
- Fixed bgo#686953 - support the "marker" shorthand property.
- Fixed a few minor issues pointed out by Coverity.
- The path data parser now handles boolean values in Arc elements correctly.
- Fixed conformance bugs in gradient inheritance.
- Radial gradients now adjust the focus point correctly to be within
  the gradient's radius.
- Stroke width normalization is now conformant to the spec.
- Viewport-relative length normalization is now conformant to the spec.
- Added some of the official SVG 1.1 test files to our test suite.  Fixed
  a little bunch of conformance bugs.
- As a small optimization, we only push/pop CSS states when rendering
  will actually happen, instead of for all (potentially invisible) nodes.
- Code that has been converted to Rust:  marker orientations and
  rendering, path data parser, path building, length normalization,
  gradient inheritance, bounding boxes with affine transformations.
- Lots of refactoring to accomodate the Rust code, and general cleanups as well.
- Added tests/README.md with instructions on how to run the test suite
  and update it.
  rsvg-test can now skip files or directories that start with "ignore".
- Improved the README.

Enjoy!

  Federico


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