diff options
-rw-r--r-- | Cargo.lock | 6 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | NEWS | 26 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | devel-docs/features.rst | 81 | ||||
-rw-r--r-- | devel-docs/releasing.rst | 13 | ||||
-rw-r--r-- | doc/librsvg.toml | 2 |
7 files changed, 111 insertions, 21 deletions
@@ -1096,7 +1096,7 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "librsvg" -version = "2.55.90" +version = "2.55.91" dependencies = [ "anyhow", "assert_cmd", @@ -2127,9 +2127,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa 1.0.5", "ryu", @@ -1,6 +1,6 @@ [package] name = "librsvg" -version = "2.55.90" +version = "2.55.91" authors = ["Federico Mena Quintero <federico@gnome.org>", "Many others"] description = "Render SVG documents with Cairo" license = "LGPL-2.1-or-later" @@ -1,3 +1,29 @@ +Version 2.55.91 +=============== + +The minimum supported Rust version (MSRV) is 1.64, because of the gtk-rs update. + +- #929 - Support "turn" unit for CSS <angle> values (Khadija Kamran). + +- #743 - Support the feDropShadow element (John Ledbetter, Federico Mena). + +- #928 - Fix panic when a feTile filter gets an empty source region. + +- Update to gtk-rs 0.17.0 (Bilal Elmoussaoui). + +- Simplify the NMake Makefiles for Windows; see win32/MSVC-Builds.md + for details (Chun-wei Fan). + +- Documentation and infrastructure updates (Andre Klapper, Violet Holland). + +- Consolidate the scattered .md documents into the Development Guide. + Updated links throughout. + (https://gnome.pages.gitlab.gnome.org/librsvg/devel-docs/index.html) + +- Internal refactoring of the test suite. + +- Updated dependencies to avoid duplicated crates. + Version 2.55.90 =============== diff --git a/configure.ac b/configure.ac index a656c2d3..508d3773 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.69]) # Package version, the "human readable" version m4_define([rsvg_major_version],[2]) m4_define([rsvg_minor_version],[55]) -m4_define([rsvg_micro_version],[90]) # Keep this in sync with Cargo.toml and doc/librsvg.toml +m4_define([rsvg_micro_version],[91]) # Keep this in sync with Cargo.toml and doc/librsvg.toml m4_define([rsvg_version],[rsvg_major_version.rsvg_minor_version.rsvg_micro_version]) # Library version information. To make a release: diff --git a/devel-docs/features.rst b/devel-docs/features.rst index 4f166f72..a50976d3 100644 --- a/devel-docs/features.rst +++ b/devel-docs/features.rst @@ -694,6 +694,7 @@ The following elements are filter effects: - feConvolveMatrix - feDiffuseLighting - feDisplacementMap +- feDropShadow - feFlood - feGaussianBlur - feImage @@ -792,13 +793,79 @@ FIXME: which selectors, combinators, at-rules. XML features ------------ -FIXME: ``<xi:include href= parse= encoding=>`` - -FIXME: ``<xi:fallback>`` - -FIXME: ``xml:lang`` attribute - -FIXME: ``xml:space`` attribute +XInclude +~~~~~~~~ + +Librsvg supports the following subset of `XML Inclusions (XInclude) <https://www.w3.org/TR/xinclude-11/>`_. + +A document or element may declare the namespace for +``http://www.w3.org/2001/XInclude``, conventionally as an attribute +``xmlns:xi="http://www.w3.org/2001/XInclude"``. + +The following discussion assumes an ``xi:`` shorthand; your namespace +declaration may use a different one, but ``xi:`` is conventional for +XInclude. + +The following are examples of valid inclusions: + +.. code-block:: xml + + <xi:include href="foo.xml" parse="xml"/> + <!-- If foo.xml cannot be read, parsing stops with an error --> + + <xi:include href="foo.xml" parse="xml"> + <xi:fallback> + <some_fallback_element/> + <another_fallback_element/> + </xi:fallback> + </xi:include> + <!-- If foo.xml cannot be read, the elements inside xi:fallback are used instead. + If foo.xml has a syntax error, parsing stops with an error. --> + + <xi:include href="foo.txt" parse="text" encoding="utf-8"> + <xi:fallback> + Text to be included if foo.txt cannot be read. + </xi:fallback> + </xi:include> + +For the ``xi:include`` element, the ``href`` attribute is mandatory, +and ``parse`` and ``encoding`` are optional: + +* ``href`` - mandatory for librsvg. This is **different from the + XInclude specification**: the attribute is mandatory in librsvg, + while the spec assumes that if it is not present, then an + ``xpointer`` or ``fragid`` attributes are used instead. Librsvg + does not support those. If there is no ``href`` attribute, librsvg + will ignore the whole ``xi:include`` element. + +* ``parse`` - optional; supported values are ``xml`` and ``text``; the + default is ``xml``. + +* ``encoding`` - optional; only used for including text files with + ``parse="text"``. The value should be a `WHATWG label for an + encoding <https://encoding.spec.whatwg.org/#concept-encoding-get>`_, + for example, ``utf-8`` or ``koi8-r``. + +Inside ``<xi:include>``, there can be an ``<xi:fallback>`` element to +specify what should be included if the ``href`` cannot be read. + +``xml:lang`` and ``xml:space`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Individual elements can specify an `xml:lang attribute +<https://www.w3.org/TR/xml/#sec-lang-tag>`_ to specify their language. +This can be used in a ``<text>`` element for the main language of its +content, or generally for the purposes of CSS selector matching. Note +that this is different from the use of ``systemLanguage`` in children +of the ``<switch>`` element, which is used to `render different +elements depending on the system's language +<https://www.w3.org/TR/SVG2/struct.html#SwitchElement>`_. + +Librsvg supports the `xml:space attribute +<https://www.w3.org/TR/xml/#sec-white-space>`_ and its handling per +SVG1.1. Note that this has been superseded in SVG2 with CSS +whitespace handling; librsvg does not support this yet as of +2013/Feb/10. Explicitly Unsupported features ------------------------------- diff --git a/devel-docs/releasing.rst b/devel-docs/releasing.rst index 3eb45cd8..990d7e8e 100644 --- a/devel-docs/releasing.rst +++ b/devel-docs/releasing.rst @@ -15,15 +15,12 @@ off items while making a release. - ☐ Tweak the library version number in ``configure.ac`` if the API changed; follow the steps there. - ☐ Update ``NEWS``, see below for the preferred format. -- ☐ Commit the changes above. -- ☐ Make a tarball with - ``./autogen.sh --enable-vala && make distcheck DESTDIR=/tmp/foo`` - - fix things until it passes. -- ☐ Create a signed tag - ``git tag -s x.y.z`` with the version number. -- ☐ ``git push`` to the appropriate branch to - gitlab.gnome.org/GNOME/librsvg +- ☐ Commit the changes above; push a branch. +- ☐ Create a merge request; fix it until it passes the CI. Merge it. +- ☐ Create a signed tag for the merge commit - ``git tag -s x.y.z`` with the version number. - ☐ ``git push`` the signed tag to gitlab.gnome.org/GNOME/librsvg -- ☐ ``scp librsvg-x.y.z.tar.xz master.gnome.org:`` +- ☐ Go to the merge request's pipeline, and look for the ``distcheck`` job. That one has the release tarball; download it. +- ☐ Copy that tarball to the FTP staging server: ``scp librsvg-x.y.z.tar.xz master.gnome.org:`` - ☐ ``ssh master.gnome.org`` and then ``ftpadmin install librsvg-x.y.z.tar.xz`` - ☐ Create a `release in Gitlab <https://gitlab.gnome.org/GNOME/librsvg/-/releases>`_. diff --git a/doc/librsvg.toml b/doc/librsvg.toml index 0ccf3ef3..eb911010 100644 --- a/doc/librsvg.toml +++ b/doc/librsvg.toml @@ -1,5 +1,5 @@ [library] -version = "2.55.90" +version = "2.55.91" description = "Librsvg - load and render SVG documents" authors = "Librsvg developers" license = "LGPL-2.1-or-later" |