Librsvg 2.41.0 is released

From: Federico Mena Quintero <federico gnome org>

To: desktop-devel-list <desktop-devel-list gnome org>

Subject: Librsvg 2.41.0 is released

Date: Tue, 03 Jan 2017 18:48:11 -0600

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