commit ca640d1185745665c61689b71c627e1d020a80b7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Mar 5 08:01:13 2018 -0600

    Update NEWS for 2.42.3
    
    And fix a typo in COMPILING.md

 COMPILING.md |  2 +-
 NEWS         | 11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

commit a5b09da1a8aa21bacff3dd08fd5a5dcc56824144
Merge: 95c80417 1b95365b
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Fri Mar 2 20:32:46 2018 +0000

    Merge branch 'librsvg-2.42' into 'librsvg-2.42'
    
    Fix the tests that failed in 32 bits; integrate the i386 CI; rustfmt
    
    See merge request GNOME/librsvg!29

commit 1b95365b0a2e94df49653908924aa9b94c18cd35
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Mar 2 09:48:17 2018 -0600

    Normalize the rustfmt of a few files I missed

 rsvg_internals/src/coord_units.rs |  4 ++--
 rsvg_internals/src/marker.rs      |  6 ++---
 rsvg_internals/src/viewport.rs    | 46 +++++++++++++++++++++------------------
 3 files changed, 30 insertions(+), 26 deletions(-)

commit 2d80b742243e65f4e145197caf1fa17bee0fc14a
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Thu Mar 1 14:32:27 2018 +0200

    clippy: remove 'redundant_closure'

 rsvg_internals/src/paint_server.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c237298cb1f4eac39dca4166c6e12ccb912c69f1
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Thu Mar 1 14:28:11 2018 +0200

    clippy: remove 'needless_borrow's

 rsvg_internals/src/gradient.rs | 4 ++--
 rsvg_internals/src/node.rs     | 2 +-
 rsvg_internals/src/parsers.rs  | 2 +-
 rsvg_internals/src/pattern.rs  | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit f82011942296544fa48f6d509e61867250c9baf3
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Thu Mar 1 14:01:40 2018 +0200

    Rustfmt: Switch 'indent_style' to 'Block'.
    
    Temporarly switch to sidestep https://github.com/rust-lang-nursery/rustfmt/issues/2496
    so people can start using rustfmt and the CI test succed.

 .rustfmt.toml                      |    3 +-
 rsvg_internals/build.rs            |    5 +-
 rsvg_internals/src/aspect_ratio.rs |  520 ++++++++-----
 rsvg_internals/src/attributes.rs   |   19 +-
 rsvg_internals/src/bbox.rs         |   16 +-
 rsvg_internals/src/clip_path.rs    |   23 +-
 rsvg_internals/src/cnode.rs        |   88 ++-
 rsvg_internals/src/color.rs        |  252 ++++---
 rsvg_internals/src/coord_units.rs  |   23 +-
 rsvg_internals/src/drawing_ctx.rs  |  114 +--
 rsvg_internals/src/error.rs        |   34 +-
 rsvg_internals/src/gradient.rs     |  310 ++++----
 rsvg_internals/src/image.rs        |   77 +-
 rsvg_internals/src/length.rs       |  442 +++++++----
 rsvg_internals/src/link.rs         |   42 +-
 rsvg_internals/src/marker.rs       |  551 ++++++++------
 rsvg_internals/src/mask.rs         |   68 +-
 rsvg_internals/src/node.rs         |  203 ++---
 rsvg_internals/src/opacity.rs      |   92 ++-
 rsvg_internals/src/paint_server.rs |  231 +++---
 rsvg_internals/src/parsers.rs      |  112 +--
 rsvg_internals/src/path_builder.rs |   83 +-
 rsvg_internals/src/path_parser.rs  | 1460 +++++++++++++++++++++---------------
 rsvg_internals/src/pattern.rs      |  160 ++--
 rsvg_internals/src/property_bag.rs |   55 +-
 rsvg_internals/src/shapes.rs       |  291 ++++---
 rsvg_internals/src/space.rs        |  113 ++-
 rsvg_internals/src/state.rs        |    8 +-
 rsvg_internals/src/stop.rs         |   53 +-
 rsvg_internals/src/structure.rs    |  325 ++++----
 rsvg_internals/src/text.rs         |   25 +-
 rsvg_internals/src/transform.rs    |  313 ++++----
 rsvg_internals/src/viewbox.rs      |   70 +-
 rsvg_internals/src/viewport.rs     |  166 ++--
 34 files changed, 3817 insertions(+), 2530 deletions(-)

commit ee1e10527f2010445de5d7580f83274a63cc8717
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 18:48:50 2018 +0200

    rustfmt: Change the layout of 'import' and 'use'.

 .rustfmt.toml             |  4 ++-
 rsvg_internals/src/lib.rs | 89 +++++++++++++++++++++++++++++++++++------------
 2 files changed, 70 insertions(+), 23 deletions(-)

commit 61ec26183a0f3c0f070f7056b2bf91bc690212dd
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 18:42:03 2018 +0200

    rustfmt: Skip the attribute slice in build.rs

 rsvg_internals/build.rs | 295 ++++++++++++++++++++++++------------------------
 1 file changed, 149 insertions(+), 146 deletions(-)

commit 3765b24d962a2779a028778d34e3f896ec0c4c55
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 15:11:42 2018 +0200

    Normalize comments.

 .rustfmt.toml                      |   2 +-
 rsvg_internals/src/aspect_ratio.rs |  60 ++++------
 rsvg_internals/src/bbox.rs         |  17 ++-
 rsvg_internals/src/color.rs        |  29 ++---
 rsvg_internals/src/coord_units.rs  |   6 +-
 rsvg_internals/src/error.rs        |  16 +--
 rsvg_internals/src/gradient.rs     |  34 +++---
 rsvg_internals/src/image.rs        |  20 ++--
 rsvg_internals/src/length.rs       | 182 ++++++++++++----------------
 rsvg_internals/src/link.rs         |   3 +-
 rsvg_internals/src/marker.rs       | 235 ++++++++++++++++---------------------
 rsvg_internals/src/mask.rs         |  20 ++--
 rsvg_internals/src/node.rs         |  21 ++--
 rsvg_internals/src/opacity.rs      |  18 +--
 rsvg_internals/src/paint_server.rs |   8 +-
 rsvg_internals/src/path_builder.rs |  26 ++--
 rsvg_internals/src/path_parser.rs  |  62 ++++------
 rsvg_internals/src/shapes.rs       |  57 ++++-----
 rsvg_internals/src/structure.rs    |  41 +++----
 rsvg_internals/src/viewbox.rs      |   2 +-
 20 files changed, 345 insertions(+), 514 deletions(-)

commit fda76326b0b23f7b940c47a75bad465dbcfeca80
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 13:57:36 2018 +0200

    Update rustfmt.

 rsvg_internals/src/link.rs         |  2 +-
 rsvg_internals/src/marker.rs       |  2 +-
 rsvg_internals/src/path_builder.rs |  2 +-
 rsvg_internals/src/shapes.rs       | 14 +++++++-------
 rsvg_internals/src/structure.rs    | 14 +++++++-------
 5 files changed, 17 insertions(+), 17 deletions(-)

commit ea0ba6aa6a257dc21be3abbf8bda26c9ff65392c
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 13:24:16 2018 +0200

    Copy .rustmft.toml config from rsvg-bench.

 .rustfmt.toml | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit b2848f6d306423581ed8ee8d2dfb5fbc07373c07
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Mar 2 13:01:46 2018 +0200

    gitlab-ci: Fix the cargo cache.

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2f441e2a7ca093cfbfd04baecb7419b273895a90
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Mar 2 12:03:34 2018 +0200

    gitlab-ci: Create .cargo_cache if it does not exist.

 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 471549976fbbb91c81fdfc948e79aabcb7e84d69
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Mar 2 11:44:24 2018 +0200

    gitlab-ci: Do not share the case between branches.

 .gitlab-ci.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit b2f5b0f4356a994912ab6f298a4aa485fb528c8f
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 13:25:26 2018 +0200

    Rustfmt.

 rsvg_internals/build.rs            |  296 ++++----
 rsvg_internals/src/aspect_ratio.rs |  448 ++++++++----
 rsvg_internals/src/attributes.rs   |   23 +-
 rsvg_internals/src/bbox.rs         |  119 +--
 rsvg_internals/src/clip_path.rs    |   29 +-
 rsvg_internals/src/cnode.rs        |   93 ++-
 rsvg_internals/src/color.rs        |  255 ++++---
 rsvg_internals/src/coord_units.rs  |   30 +-
 rsvg_internals/src/drawing_ctx.rs  |  343 ++++-----
 rsvg_internals/src/error.rs        |   78 +-
 rsvg_internals/src/gradient.rs     |  598 ++++++++-------
 rsvg_internals/src/image.rs        |  114 +--
 rsvg_internals/src/length.rs       |  595 ++++++++-------
 rsvg_internals/src/lib.rs          |  228 ++----
 rsvg_internals/src/link.rs         |   53 +-
 rsvg_internals/src/marker.rs       | 1156 +++++++++++++++--------------
 rsvg_internals/src/mask.rs         |  128 ++--
 rsvg_internals/src/node.rs         |  425 +++++------
 rsvg_internals/src/opacity.rs      |  186 +++--
 rsvg_internals/src/paint_server.rs |  257 +++----
 rsvg_internals/src/parsers.rs      |  340 ++++-----
 rsvg_internals/src/path_builder.rs |  175 ++---
 rsvg_internals/src/path_parser.rs  | 1420 +++++++++++++++---------------------
 rsvg_internals/src/pattern.rs      |  423 ++++++-----
 rsvg_internals/src/property_bag.rs |   49 +-
 rsvg_internals/src/shapes.rs       |  456 ++++++------
 rsvg_internals/src/space.rs        |   60 +-
 rsvg_internals/src/state.rs        |   44 +-
 rsvg_internals/src/stop.rs         |  121 ++-
 rsvg_internals/src/structure.rs    |  523 ++++++-------
 rsvg_internals/src/text.rs         |   35 +-
 rsvg_internals/src/transform.rs    |  351 +++++----
 rsvg_internals/src/util.rs         |   10 +-
 rsvg_internals/src/viewbox.rs      |   66 +-
 rsvg_internals/src/viewport.rs     |   94 +--
 35 files changed, 4817 insertions(+), 4804 deletions(-)

commit 0e6d8573a0357f0b0066c05ee03c4e4898b594d4
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 13:28:21 2018 +0200

    gitlab-ci: Enable rustfmt.

 .gitlab-ci.yml | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit 3f662dc8351ef6300f0ce3701a2921970122721c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Mar 2 08:55:10 2018 -0600

    Add back --enable-gtk-doc --enable-vala
    
    We should always be testing documentation generation and generation of
    the Vala bindings.

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2010298e74eab2f6b0feac8123f412a7cae21eab
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Mar 2 08:51:53 2018 -0600

    .gitlab-ci.yml: Factor out names of the Docker images, to keep them in a single place

 .gitlab-ci.yml | 36 ++++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

commit 95c80417ae54be8aae4ab5d4c65d72a8500ab813
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Mar 2 14:22:03 2018 +0200

    gitlab-ci: Switch fedora tag to track amd64/fedora.

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0bc94045c5b74bcc0278faa4e611b51055a8c951
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Mar 2 07:39:07 2018 -0600

    Sigh, allow MAX_DIFF=1 on x86_64 as before.  I shouldn't computer late at night.

 tests/rsvg-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f809230bfbb1dd0750c9ceaed5806194b731b718
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Mar 1 17:48:49 2018 -0600

    gitlab#178 - rsvg-test.c: On 32-bit, allow the maximum difference between color channels to be 10
    
    This is kind of a lousy reason, but i386 is getting max differences of
    9 in some text-rendering cases, with respect to the reference files
    generated on x86_64.
    
    An explanation of different floating-point units and how i386 uses
    80-bit extended precision for everything (by default, at least), while
    x86_64 uses different precisions depending on the instructions:
    
    https://stackoverflow.com/questions/22710272/difference-in-floating-point-arithmetics-between-x86-and-x64#22711132
    
    This is more or less a hack, but it will do for now.
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/178

 tests/rsvg-test.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 49a4121dc04b1960e0a84f47c5f3611a0f00a70e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Mar 1 16:09:47 2018 -0600

    viewport.rs: in tests, use numbers that can be represented exactly as f64
    
    In clip_to_viewport(), we were expecting a result of 0.2, which can't
    be represented exactly.  So, the resulting matrix with 0.2 components
    in it wasn't being compared successfully on i386.
    
    (why was it fine on x86_64?)
    
    We'll need some bigger guns for asserting on float "equality", it seems.

 rsvg_internals/src/viewport.rs | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 130007b3a4de3e69608a0687666f802e4dfc2bf5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Mar 1 16:24:05 2018 -0600

    .gitlab-ci.yml: Put LIBRSVG_DEBUG in the variables: section, not as shell exports
    
    Hopefully this way they will get merged correctly into the distro_test hash?

 .gitlab-ci.yml | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

commit 748153e93b8fb2e85390aa16179d3cf8b5582299
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Mar 1 15:30:44 2018 -0600

    .gitlab-ci.yml: Build all the distros for the librsvg-2.42 branch

 .gitlab-ci.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 188693f39b9859c758a0d27ff3b862da0f95c4db
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Mar 1 15:24:21 2018 -0600

    Disable vala for now; it's just not working

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 459260961c82366be6f3d9390639e3e73f0b9b13
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 10:20:42 2018 +0200

    Gitlab-ci: Add i386 release build.

 .gitlab-ci.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 5d396a821c78c68a2c9cb34d3181892effeb11e1
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 28 10:16:23 2018 +0200

    Gitlab-ci: Merge debug and release builds so they can be run in parallel.

 .gitlab-ci.yml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 7e3a0e11084dd4ef952d71bf52fc18ba71dcc415
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 23:35:29 2018 +0200

    Gitlab-ci: Add an i386 build.

 .gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++----------------
 1 file changed, 31 insertions(+), 16 deletions(-)

commit ce1cbabc1c463e1f026a891f9db58ffe674e3f43
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 27 15:27:55 2018 -0600

    Enable gtk-doc and vala at autogen time for CI

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e5f7d0bce8b5cf623fbcb63d7864bfa2a0ef8c9a
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 22:01:41 2018 +0200

    Gitlab-CI: Remove template duplication.

 .gitlab-ci.yml | 58 ++++++++++++++++++++--------------------------------------
 1 file changed, 20 insertions(+), 38 deletions(-)

commit b1a4bfe98251c2975ea3da6610b878f080d70827
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 27 13:48:42 2018 -0600

    Add a LIBRSVG_DEBUG=yes env var for configure; works like --enable-debug

 COMPILING.md | 17 ++++++++++++-----
 configure.ac | 10 +++++++++-
 2 files changed, 21 insertions(+), 6 deletions(-)

commit 3a8a5576fc28dd146a70e8058e89e44800b4cbed
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 21:41:50 2018 +0200

    Gitlab-CI: Fix typo.

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d453061d60720832e42ed80e8d55cf29c78916fd
Merge: 4ac4cd4d f8170003
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Tue Feb 27 14:26:23 2018 +0000

    Merge branch 'macos-docs' into 'master'
    
    Add docs for installing dependencies and build on macOS
    
    Closes #209
    
    See merge request GNOME/librsvg!21

commit 4ac4cd4d268692a286324ae7470c5761e18a8736
Merge: e1fc59d3 e199e205
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Tue Feb 27 14:23:27 2018 +0000

    Merge branch 'more-gitlab-ci' into 'master'
    
    Realease Build tests and CCache
    
    See merge request GNOME/librsvg!22

commit e199e20558b915be815ed3a701fa9b7bd943f7d5
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 11:06:54 2018 +0200

    Gitlab-CI: Add a state to test cross-distro builds in release mode.
    
    This is intended to be run only for:
    
    * scheduled pipelines
    * tags
    * manually requested pipelines from the web gui

 .gitlab-ci.yml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 53 insertions(+), 11 deletions(-)

commit 6608fc1538bf987d79461a171f9ca13af226bd77
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 10:31:19 2018 +0200

    Fix indentation.

 .gitlab-ci.yml | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 21820e497840c69da44ef12e4e9616b76a3acabe
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 27 10:09:44 2018 +0200

    Enable ccache.

 .gitlab-ci.yml | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

commit 27121aacb7cc9af1e508937474d83468d49390f0
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Mon Feb 26 19:57:53 2018 +0200

    gitlab-ci: Add a build in release mode.

 .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit f8170003ac7bf80e7165b55369e974658f5dde38
Author: Brion Vibber <brion@pobox.com>
Date:   Sun Feb 25 21:37:41 2018 -0800

    Add docs for installing dependencies and build on macOS
    
    Updates COMPILING.md with macOS setup instructions.
    
    Deps from Homebrew are mostly straightforward, but there are
    a couple oddities due to interaction between system packages
    and the Homebrew packages.
    
    Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/209

 COMPILING.md | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit e1fc59d31b8f419fa90ab20f6d44312e0858ae7d
Merge: 1ffa7f5b b99891e3
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Mon Feb 26 14:51:02 2018 +0000

    Merge branch 'auto-Bsymbolic' into 'master'
    
    Auto-detect -Bsymbolic, fixes configure on macOS
    
    Closes #211
    
    See merge request GNOME/librsvg!20

commit b99891e31eb6ce550e7e1cb2ca592095b3050a93
Author: Brion Vibber <brion@pobox.com>
Date:   Sun Feb 25 18:42:36 2018 -0800

    Auto-detect -Bsymbolic, fixes configure on macOS
    
    The -Bsymbolic linker option is ELF-specific, and was breaking
    configure on macOS unless --disable-Bsymbolic was explicitly passed.
    
    Switching the behavior from requiring -Bsymbolic to be available
    by default to just warning and continuing on without.
    
    Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ffa7f5b4f6fd7bbf86e25f79ae2aa985364c45e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 21:34:10 2018 -0600

    Update NEWS

 NEWS | 6 ++++++
 1 file changed, 6 insertions(+)

commit 540e055f91cac03cd435b846cc04e81d1bfcb6d7
Merge: e3adc1a0 2699eebe
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Sat Feb 24 03:22:29 2018 +0000

    Merge branch 'font-size-relative' into 'master'
    
    Font size relative
    
    See merge request GNOME/librsvg!19

commit 2699eebe91e1e9458877c4a77aab69495107d206
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 21:15:45 2018 -0600

    gitlab#108 - Support font-size:larger and font-size:smaller
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/108

 librsvg/rsvg-css.c                                 |  33 +++++++++---
 rsvg_internals/src/length.rs                       |   5 +-
 .../reftests/bugs/108-font-size-relative-ref.png   | Bin 0 -> 2297 bytes
 .../reftests/bugs/108-font-size-relative.svg       |  60 +++++++++++++++++++++
 4 files changed, 89 insertions(+), 9 deletions(-)

commit 4e83eb0b14c062eb2e259655bd6f141f43f5ef97
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 21:12:59 2018 -0600

    rsvg-text: Remove old workaround for zero-sized text

 librsvg/rsvg-text.c                                  |  4 ----
 .../fixtures/render-crash/581491-zero-sized-text.svg | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 4 deletions(-)

commit e3adc1a0ee8c090550c7456467a47ecd589e20b9
Merge: 631dcd93 1d7004b5
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Sat Feb 24 02:22:29 2018 +0000

    Merge branch 'delayed-svg-attributes' into 'master'
    
    gitlab#112 - Apply style attributes for SVG elements
    
    See merge request GNOME/librsvg!18

commit 1d7004b51b38c09c02892e7c0e5cafbae594d11c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 20:05:52 2018 -0600

    gitlab#112 - Apply style attributes for SVG elements
    
    We were applying them only for the toplevel <svg> element; they need
    to be applied for all <svg> elements in the drawing.
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/112

 librsvg/rsvg-base.c                                        |  10 ++++------
 .../reftests/bugs/112-svg-delayed-attributes-ref.png       | Bin 0 -> 81 bytes
 .../fixtures/reftests/bugs/112-svg-delayed-attributes.svg  |   6 ++++++
 3 files changed, 10 insertions(+), 6 deletions(-)

commit 631dcd932446b7a67365aa8dda73072b9d50fd0c
Merge: e2263b64 c1d93ead
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Sat Feb 24 00:03:21 2018 +0000

    Merge branch 'check-rustc-version' into 'master'
    
    gitlab#205 - configure.ac: Check the minimum version of rustc (1.20)
    
    See merge request GNOME/librsvg!17

commit c1d93ead0270f217650493805ba2fe3efb1f5b6f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 17:54:34 2018 -0600

    gitlab#205 - configure.ac: Check the minimum version of rustc (1.20)
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/205

 configure.ac | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

commit e2263b643200f548b597e8049f97d143c6d4ac49
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 15:57:07 2018 -0600

    tests/README.md: Rename rust/ to rsvg_internals/

 tests/README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 28ea3cb7d35df40acbc014b7797830ed274895c6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 15:04:12 2018 -0600

    parses_stroke_dasharray() - Don't use discriminant checks; use PartialEq comparisons
    
    The code is prettier this way, and doesn't require Rust 1.21.

 rsvg_internals/src/length.rs | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 950efcaa3e6ddbb45522a8309b91120e8f60ad05
Merge: 6c8e3979 8b7ea05f
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Fri Feb 23 20:37:30 2018 +0000

    Merge branch 'custom-registry' into 'master'
    
    Custom registry
    
    See merge request GNOME/librsvg!15

commit 6c8e3979066bf08898a8a159788154b1adf0a4c1
Merge: 78686210 878e8a2a
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Fri Feb 23 20:33:25 2018 +0000

    Merge branch 'adjust-ci-workspace' into 'master'
    
    Gitlab-ci: Adjust to the cargo workspace.
    
    See merge request GNOME/librsvg!14

commit 78686210efae6e0002d17f33fa60a1457dc39a31
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 23 14:24:43 2018 -0600

    Update NEWS

 NEWS | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

commit d7de0e1cea704ad123b6cfff9fca71e200e73edc
Merge: 311b9f0a 0b629703
Author: Federico Mena Quintero <federico.mena@gmail.com>
Date:   Fri Feb 23 20:05:50 2018 +0000

    Merge branch 'support-a-links-for-pdf' into 'master'
    
    Support <a> links for PDF output
    
    Closes #204
    
    See merge request GNOME/librsvg!12

commit 8b7ea05fe9dbee4fd9f41e7e7cb58ddc6cd15c33
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 15:13:19 2018 +0000

    Gitlab-ci: Set a cache policy that isolates each job.

 .gitlab-ci.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 76fc79df2abb6a18ebcc11ad3ea68d9f67f4dbff
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 14:36:38 2018 +0000

    Try to cache the cargo Home.

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit dac07458d5ad6485b12928b56117bb46d5b405d1
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 13:39:33 2018 +0000

    Try caching rust artifacts.

 .gitlab-ci.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit b8c3259dd6455bc9ec25e994075bd65fb841c199
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 13:35:26 2018 +0000

    Add a test for fedora rawhide.

 .gitlab-ci.yml | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 1182b64a96866f53d26623e78ebeb40e6130b9e7
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 13:33:11 2018 +0000

    Use custom OCI images instead of building a new enviroment from scratch each time.

 .gitlab-ci.yml | 51 ++++++++++++++++++---------------------------------
 1 file changed, 18 insertions(+), 33 deletions(-)

commit 0b6297030db215a2cfebee55540e151e8d863afc
Author: Dmitry Kontsevoy <dmitry.kontsevoy@gmail.com>
Date:   Wed Feb 21 10:17:42 2018 +0300

    support <a> links for PDF output

 Makefile.am                |   1 +
 librsvg/rsvg-base.c        |   2 +-
 librsvg/rsvg-private.h     |   1 +
 librsvg/rsvg-structure.h   |   4 ++
 rsvg_internals/src/lib.rs  |   5 ++
 rsvg_internals/src/link.rs | 129 +++++++++++++++++++++++++++++++++++++++++++++
 rsvg_internals/src/node.rs |   1 +
 7 files changed, 142 insertions(+), 1 deletion(-)

commit f67d2ef2d0e66c092856f50d72e6cb732e5c4326
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 11:19:29 2018 +0000

    gitlab-ci: Test using a custom OCI registry and image to run tests.

 .gitlab-ci.yml | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

commit 311b9f0ae10d353ae54f47955b1d91c79aab4458
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Fri Feb 23 17:57:55 2018 +0800

    win32/rsvg-rust.mak: Fix 'clean' target
    
    We need to go into $(srcroot)/rsvg_internals to do the cleanups, as
    well.

 win32/rsvg-rust.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0563e88274a4d5c202cb07c45f6d18b3d0acb7f3
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Fri Feb 23 17:48:18 2018 +0800

    Makefile.am: Fix MSVC header "installation"
    
    Avoid having "librsvg" in the header destination directory twice as we
    already have it in the headers listing.

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cf698710ad99e574bb4a91e41d2707b056bcd1e8
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Fri Feb 23 17:39:06 2018 +0800

    rsvg-convert.c: Fix build Windows
    
    setmode() requires one to include io.h, and optionally fcntl.h.

 rsvg-convert.c | 1 +
 1 file changed, 1 insertion(+)

commit 878e8a2a0ad6f009a9d67d01844380fe490119c5
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 23 06:01:53 2018 +0000

    Gitlab-ci: Adjust to the cargo workspace.

 .gitlab-ci.yml | 2 --
 1 file changed, 2 deletions(-)

commit 900b31fa105089c186ee688a4ef87a3411169512
Merge: 2c306032 caceae34
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 20:25:22 2018 -0600

    Merge branch 'librsvg-cargo-workspace'

commit caceae34524c1d901286412c6b058d723c132d3e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 20:22:22 2018 -0600

    Update Vala deprecation syntax

 Rsvg-2.0-custom.vala | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit e02c61bdc5ea9eb2d96298b0c1d661e035a43ee1
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 20:04:38 2018 -0600

    configure.ac: Print whether gtk-doc is enabled

 configure.ac | 1 +
 1 file changed, 1 insertion(+)

commit 60bbd74d53e4fab1c2c4fc87b4bd20b82ef23725
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 20:03:19 2018 -0600

    Update .gitignore

 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

commit d6d88b75d7ac38152467288d092bde1e81ab10f3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:53:45 2018 -0600

    Fix paths in doc/Makefile.am

 doc/Makefile.am | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit b60d6e8889fcffde7ef95c74a1e7419de231aad3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:50:59 2018 -0600

    win32: tweak Rust path in rsvg-rust.mak

 win32/rsvg-rust.mak | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit fceb421346cb7389b0516675eb6adfad47992257
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:39:22 2018 -0600

    Fix include paths in tests/

 tests/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit efe64ee822f666ba6dce34db265c9826f686a8cb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:38:55 2018 -0600

    Makefile.am: fix include path in the generated librsvg-enum-types.c

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 087073fb09c63d4043c3f5f8154678d352e212fc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:25:22 2018 -0600

    Move everything under rust/ one level up in the hierarchy
    
    Our toplevel directory will be the crate root.

 rust/Cargo.lock => Cargo.lock                      |  0
 rust/Cargo.toml => Cargo.toml                      |  0
 Makefile.am                                        | 97 +++++++++++-----------
 rust/cargo-vendor-config => cargo-vendor-config    |  0
 {rust/rsvg_internals => rsvg_internals}/Cargo.toml |  0
 {rust/rsvg_internals => rsvg_internals}/build.rs   |  0
 .../src/aspect_ratio.rs                            |  0
 .../src/attributes.rs                              |  0
 .../rsvg_internals => rsvg_internals}/src/bbox.rs  |  0
 .../rsvg_internals => rsvg_internals}/src/chars.rs |  0
 .../src/clip_path.rs                               |  0
 .../rsvg_internals => rsvg_internals}/src/cnode.rs |  0
 .../rsvg_internals => rsvg_internals}/src/color.rs |  0
 .../src/coord_units.rs                             |  0
 .../src/drawing_ctx.rs                             |  0
 .../rsvg_internals => rsvg_internals}/src/error.rs |  0
 .../src/gradient.rs                                |  0
 .../src/handle.rs                                  |  0
 .../rsvg_internals => rsvg_internals}/src/image.rs |  0
 .../src/length.rs                                  |  0
 {rust/rsvg_internals => rsvg_internals}/src/lib.rs |  0
 .../src/marker.rs                                  |  0
 .../rsvg_internals => rsvg_internals}/src/mask.rs  |  0
 .../rsvg_internals => rsvg_internals}/src/node.rs  |  0
 .../src/opacity.rs                                 |  0
 .../src/paint_server.rs                            |  0
 .../src/parse_transform.lalrpop                    |  0
 .../src/parsers.rs                                 |  0
 .../src/path_builder.rs                            |  0
 .../src/path_parser.rs                             |  0
 .../src/pattern.rs                                 |  0
 .../src/property_bag.rs                            |  0
 .../src/shapes.rs                                  |  0
 .../rsvg_internals => rsvg_internals}/src/space.rs |  0
 .../rsvg_internals => rsvg_internals}/src/state.rs |  0
 .../rsvg_internals => rsvg_internals}/src/stop.rs  |  0
 .../src/structure.rs                               |  0
 .../rsvg_internals => rsvg_internals}/src/text.rs  |  0
 .../src/transform.rs                               |  0
 .../rsvg_internals => rsvg_internals}/src/util.rs  |  0
 .../src/viewbox.rs                                 |  0
 .../src/viewport.rs                                |  0
 42 files changed, 49 insertions(+), 48 deletions(-)

commit 9cb0bb85ab5c05e54f34b64148b419ed1bbd6701
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 19:09:12 2018 -0600

    Move the C part of the library to a librsvg/ subdirectory
    
    Avoid having everything in the toplevel.  Modified source files to

 Makefile.am                                        | 138 ++++++++++-----------
 configure.ac                                       |   6 +-
 gdk-pixbuf-loader/io-svg.c                         |   2 +-
 librsvg-features.c => librsvg/librsvg-features.c   |   0
 .../librsvg-features.h.in                          |   0
 rsvg-attributes.h => librsvg/rsvg-attributes.h     |   0
 .../rsvg-base-file-util.c                          |   0
 rsvg-base.c => librsvg/rsvg-base.c                 |   0
 rsvg-cairo-clip.c => librsvg/rsvg-cairo-clip.c     |   0
 rsvg-cairo-clip.h => librsvg/rsvg-cairo-clip.h     |   0
 rsvg-cairo-draw.c => librsvg/rsvg-cairo-draw.c     |   0
 rsvg-cairo-draw.h => librsvg/rsvg-cairo-draw.h     |   0
 rsvg-cairo-render.c => librsvg/rsvg-cairo-render.c |   0
 rsvg-cairo-render.h => librsvg/rsvg-cairo-render.h |   0
 rsvg-cairo.h => librsvg/rsvg-cairo.h               |   0
 rsvg-cond.c => librsvg/rsvg-cond.c                 |   0
 rsvg-css.c => librsvg/rsvg-css.c                   |   0
 rsvg-css.h => librsvg/rsvg-css.h                   |   0
 rsvg-defs.c => librsvg/rsvg-defs.c                 |   0
 rsvg-defs.h => librsvg/rsvg-defs.h                 |   0
 rsvg-file-util.c => librsvg/rsvg-file-util.c       |   0
 rsvg-filter.c => librsvg/rsvg-filter.c             |   0
 rsvg-filter.h => librsvg/rsvg-filter.h             |   0
 rsvg-handle.c => librsvg/rsvg-handle.c             |   0
 rsvg-io.c => librsvg/rsvg-io.c                     |   0
 rsvg-io.h => librsvg/rsvg-io.h                     |   0
 rsvg-marker.h => librsvg/rsvg-marker.h             |   0
 rsvg-mask.h => librsvg/rsvg-mask.h                 |   0
 rsvg-paint-server.h => librsvg/rsvg-paint-server.h |   0
 rsvg-path-builder.h => librsvg/rsvg-path-builder.h |   0
 rsvg-private.h => librsvg/rsvg-private.h           |   0
 rsvg-shapes.h => librsvg/rsvg-shapes.h             |   0
 .../rsvg-size-callback.c                           |   0
 .../rsvg-size-callback.h                           |   0
 rsvg-structure.h => librsvg/rsvg-structure.h       |   0
 rsvg-styles.c => librsvg/rsvg-styles.c             |   0
 rsvg-styles.h => librsvg/rsvg-styles.h             |   0
 rsvg-text.c => librsvg/rsvg-text.c                 |   0
 rsvg-text.h => librsvg/rsvg-text.h                 |   0
 rsvg-xml.c => librsvg/rsvg-xml.c                   |   0
 rsvg-xml.h => librsvg/rsvg-xml.h                   |   0
 rsvg.h => librsvg/rsvg.h                           |   0
 rsvg-convert.c                                     |   6 +-
 rsvg-view.c                                        |   4 +-
 tests/Makefile.am                                  |  19 +--
 tests/api.c                                        |   2 +-
 tests/crash.c                                      |   2 +-
 tests/dimensions.c                                 |   2 +-
 tests/loading.c                                    |   2 +-
 tests/render-crash.c                               |   2 +-
 tests/rsvg-test.c                                  |   2 +-
 tests/styles.c                                     |  10 +-
 tools/Makefile.am                                  |   2 +-
 tools/rsvg-dimensions.c                            |   2 +-
 tools/rsvg-tools-main.c                            |   4 +-
 55 files changed, 103 insertions(+), 102 deletions(-)

commit fd214c48d20a97ae7f99d3b5979011edd6010919
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Sat Feb 10 01:33:17 2018 +0200

    Initial switch to a cargo workspace.

 Makefile.am                                        | 78 +++++++++++-----------
 rust/Cargo.lock                                    |  6 +-
 rust/Cargo.toml                                    | 53 ++-------------
 rust/rsvg_internals/Cargo.toml                     | 51 ++++++++++++++
 rust/{ => rsvg_internals}/build.rs                 |  0
 rust/{ => rsvg_internals}/src/aspect_ratio.rs      |  0
 rust/{ => rsvg_internals}/src/attributes.rs        |  0
 rust/{ => rsvg_internals}/src/bbox.rs              |  0
 rust/{ => rsvg_internals}/src/chars.rs             |  0
 rust/{ => rsvg_internals}/src/clip_path.rs         |  0
 rust/{ => rsvg_internals}/src/cnode.rs             |  0
 rust/{ => rsvg_internals}/src/color.rs             |  0
 rust/{ => rsvg_internals}/src/coord_units.rs       |  0
 rust/{ => rsvg_internals}/src/drawing_ctx.rs       |  0
 rust/{ => rsvg_internals}/src/error.rs             |  0
 rust/{ => rsvg_internals}/src/gradient.rs          |  0
 rust/{ => rsvg_internals}/src/handle.rs            |  0
 rust/{ => rsvg_internals}/src/image.rs             |  0
 rust/{ => rsvg_internals}/src/length.rs            |  0
 rust/{ => rsvg_internals}/src/lib.rs               |  0
 rust/{ => rsvg_internals}/src/marker.rs            |  0
 rust/{ => rsvg_internals}/src/mask.rs              |  0
 rust/{ => rsvg_internals}/src/node.rs              |  0
 rust/{ => rsvg_internals}/src/opacity.rs           |  0
 rust/{ => rsvg_internals}/src/paint_server.rs      |  0
 .../src/parse_transform.lalrpop                    |  0
 rust/{ => rsvg_internals}/src/parsers.rs           |  0
 rust/{ => rsvg_internals}/src/path_builder.rs      |  0
 rust/{ => rsvg_internals}/src/path_parser.rs       |  0
 rust/{ => rsvg_internals}/src/pattern.rs           |  0
 rust/{ => rsvg_internals}/src/property_bag.rs      |  0
 rust/{ => rsvg_internals}/src/shapes.rs            |  0
 rust/{ => rsvg_internals}/src/space.rs             |  0
 rust/{ => rsvg_internals}/src/state.rs             |  0
 rust/{ => rsvg_internals}/src/stop.rs              |  0
 rust/{ => rsvg_internals}/src/structure.rs         |  0
 rust/{ => rsvg_internals}/src/text.rs              |  0
 rust/{ => rsvg_internals}/src/transform.rs         |  0
 rust/{ => rsvg_internals}/src/util.rs              |  0
 rust/{ => rsvg_internals}/src/viewbox.rs           |  0
 rust/{ => rsvg_internals}/src/viewport.rs          |  0
 41 files changed, 97 insertions(+), 91 deletions(-)

commit 2c3060324663e39eba7c6990dab33fa424e7de13
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:52:18 2018 -0600

    cargo-clippy: path_builder.rs: Copy some enums instead of moving them

 rust/src/path_builder.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 12d3d9cbaccb94d45be8366504198a2060c5afea
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:48:09 2018 -0600

    cargo-clippy: path_parser.rs: Collapse else/if blocks

 rust/src/path_parser.rs | 57 +++++++++++++++++--------------------------------
 1 file changed, 20 insertions(+), 37 deletions(-)

commit 1d10dc3734f67341f6e7353fd5e804391789d67e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:41:35 2018 -0600

    cargo-clippy: Remove unnecessary parentheses

 rust/src/color.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a0624582a5784f6bae3eedcb20b046f84e2daefa
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:39:55 2018 -0600

    cargo-clippy: Remove redundant closures

 rust/src/paint_server.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e5cb58191e229f40fb4d97c99147a26e2c66e6ee
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:38:00 2018 -0600

    cargo-clippy: marker.rs: Copy some enums, don't move them

 rust/src/marker.rs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 409ab58df287b8eaa1d274f701916638a530e290
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:34:17 2018 -0600

    cargo-clippy: Remove redundant reference

 rust/src/length.rs | 2 +-
 rust/src/marker.rs | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 1df910a5935693895e8f75899f16c2bb28ed4143
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:33:08 2018 -0600

    cargo-clippy: parse_dash_array() - remove redundant conversion

 rust/src/length.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3925cd1190599b53755d4838f47c4a9d224414cc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:30:29 2018 -0600

    cargo-clippy: gradient.rs - remove redundant mask

 rust/src/gradient.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9363f539e4c4cccbdc6e5d2facddf79a83f7aae3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:27:01 2018 -0600

    cargo-clippy: gradient.rs - prettier pattern matching

 rust/src/gradient.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e16bc1e3df235984abed4ac4dce3691dde994e72
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:25:02 2018 -0600

    render_pango_layout(): Remove unused function

 rust/src/drawing_ctx.rs | 14 --------------
 1 file changed, 14 deletions(-)

commit 25635cabfffbcc03f3c4b828909fd4eae273cbc4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:22:16 2018 -0600

    cargo-clippy: derive(Copy) for Align1D

 rust/src/aspect_ratio.rs | 1 +
 1 file changed, 1 insertion(+)

commit 7c6c55ce5cb5d116f2b214cc6ae71fc1b2fd529d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:20:08 2018 -0600

    cargo-clippy: Pass references to RsvgBbox, don't move the values

 rust/src/bbox.rs         | 1 +
 rust/src/gradient.rs     | 6 +++---
 rust/src/paint_server.rs | 4 ++--
 rust/src/pattern.rs      | 6 +++---
 4 files changed, 9 insertions(+), 8 deletions(-)

commit 444fd034f87f25e3e6fb79003f0ef942928e07b4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:16:19 2018 -0600

    cargo-clippy: Remove redundant references

 rust/src/property_bag.rs | 2 +-
 rust/src/shapes.rs       | 2 +-
 rust/src/structure.rs    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit aafcfdb37499628f78c6996ba37f4643f8a8cc5b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:04:43 2018 -0600

    cargo-clippy: Remove redundant closures in transform.rs

 rust/src/transform.rs | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit f23cceb33b0578523f5d956a8c28c7a4821b78a1
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 13:01:10 2018 -0600

    cargo-clippy: use f64:from(foo) instead of "foo as f64"

 rust/src/transform.rs | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

commit ec172e6a664fd451b1d317f3b567e1f26953b983
Merge: 27f36262 b75c20fb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 12:40:48 2018 -0600

    Merge branch 'alatiera/librsvg-env-setup'

commit b75c20fb3137af9610ff48d0d31ab45e008893ff
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 12:39:58 2018 -0600

    COMPILING.md: Basic compilation instructions

 COMPILING.md | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

commit d167c192d699cfa1d82bdc30536d0937367cbe04
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 12:36:36 2018 -0600

    COMPILING.md: Proofread; list out versions of dependencies

 COMPILING.md | 63 +++++++++++++++++++++++++++++++++++++++++++-----------------
 configure.ac |  1 +
 2 files changed, 46 insertions(+), 18 deletions(-)

commit 27f36262729beab5e0c7b3dba8915bf6fe5e4d21
Merge: a8029873 c9ec296c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 22 11:08:56 2018 -0600

    Merge branch 'alatiera/librsvg-gitlab-ci-extra'

commit a80298737e4f1abfd038d7feeeda8c980adea7b4
Merge: 4bb8914a 24450902
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 21:06:54 2018 -0600

    gitlab#201 - Overhaul attributes parsing with perfect hashing (merge phf-attributes)
    
    Libxml2 hands us a NULL-terminated char** of key/value pairs for each
    element's attributes.
    
    We would store those pairs in a GHashTable to be able to do random
    access on the list of attributes for each element - this was
    RsvgPropertyBag.
    
    However, big chains of lookups for "all the attributes" are slower
    than necessary.  Instead, we would rather process the attributes that
    are actually present in each element, instead of trying to match all
    elements for every known attribute to the styling system.
    
    We now use a Perfect Hash Function to map attribute names to enum
    values.  We can then switch() in C, or match in Rust, over these enum
    values - the compiler can optimize that very well.
    
    We now have a Rust implementation called PropertyBag, which wraps
    libxml2's array of key/value pairs.  It uses iteration rather than
    lookups, and avoids string copies.
    
    This produces a good minor speedup.  Across 5588 SVG icons on my
    machine:
    
    2.42.2 - 10.25 sec
    phf-attributes - 9.64 sec

commit 24450902aa89efbb0b6f17ab1a1530c935bb57c3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 20:32:59 2018 -0600

    PropertyBag: Use a Vec, not a HashMap
    
    We create a Vec to hold tuples of (key, attribute, value) from the
    supplied C array of strings.  Since there is no lookup() operation
    anymore, we only need to support iteration over this underlying Vec.

 rust/src/property_bag.rs | 53 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 36 insertions(+), 17 deletions(-)

commit af5396832078460c04ba438aa7ea29dce8eb3438
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 19:59:02 2018 -0600

    PropertyBag: Don't do redundant UTF-8 validation when generating Rust strings
    
    The CStr we store come from C strings from libxml2, so they have
    already been validated as UTF-8.

 rust/src/property_bag.rs | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

commit 68ed408ce91e53a5e7d114915280e7ab26e4c181
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 18:19:26 2018 -0600

    PropertyBag: Remove the lookup() stuff; we only use iteration now.
    
    Yay!!!

 rsvg-private.h           |  4 ----
 rust/src/lib.rs          |  1 -
 rust/src/property_bag.rs | 28 +---------------------------
 3 files changed, 1 insertion(+), 32 deletions(-)

commit 6254e2933b2e1f0be3b199556c5ad607b76bffea
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 18:18:53 2018 -0600

    NodeSvg: Parse delayed attributes with the PHF

 rust/src/structure.rs | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 7cb911659f9501d9cf39654daedc68fe49ea7e90
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 18:13:27 2018 -0600

    rsvg_start_xinclude(): Parse attributes with the PHF

 rsvg-base.c | 111 ++++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 67 insertions(+), 44 deletions(-)

commit 3b5ab6c21b3f2a7cfab6ba68dc11cddd851463ac
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 18:07:15 2018 -0600

    rsvg_processing_instruction(): Parse attributes with the PHF

 rsvg-base.c | 71 ++++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 47 insertions(+), 24 deletions(-)

commit f76231c7a80d21d7116d8705757b73c0b1d71796
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:43:03 2018 -0600

    rsvg_filter_primitive_tile_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

commit c8ef2289e8537135c707c264b02314136fa7461f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:41:41 2018 -0600

    rsvg_filter_primitive_specular_lighting_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 79 +++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 52 insertions(+), 27 deletions(-)

commit ae6308a422981f29e09152337b3344542d5b52df
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:39:30 2018 -0600

    rsvg_filter_primitive_diffuse_lighting_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 78 ++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 51 insertions(+), 27 deletions(-)

commit 28586d0c0c1c20a9cb20686925cc3baaae44be3e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:37:06 2018 -0600

    rsvg_node_light_source_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 73 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 53 insertions(+), 20 deletions(-)

commit 154bccce5dd6be99d949df4d003625b4b6100312
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:34:13 2018 -0600

    rsvg_filter_primitive_image_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

commit 6cc3b0331423e023e36699e13cce46d996765c1c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:32:34 2018 -0600

    rsvg_filter_primitive_turbulence_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 59 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 17 deletions(-)

commit 2f7659f14c37e082df3ad204d1f1b9c3c4a2c29e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:30:11 2018 -0600

    rsvg_filter_primitive_displacement_map_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 50 +++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 37 insertions(+), 13 deletions(-)

commit 8d62c118b28fed2faef756cda4c93b4130763f5b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:28:15 2018 -0600

    rsvg_filter_primitive_flood_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

commit 554f773c423314c147ec3211f5410331a4efbbdc
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:19:26 2018 -0600

    rsvg_filter_primitive_composite_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 85 +++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 56 insertions(+), 29 deletions(-)

commit 8a58d06fccdf3623c239bac878a1fd6548ff5e0b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:17:08 2018 -0600

    rsvg_filter_primitive_erode_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 48 +++++++++++++++++++++++++++++++++---------------
 1 file changed, 33 insertions(+), 15 deletions(-)

commit 45c7d43847619980cdf55802f895be8c9154725b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:06:22 2018 -0600

    rsvg_node_component_transfer_function_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 103 +++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 62 insertions(+), 41 deletions(-)

commit 30949e1a785cecbdfe0e279b72a70c8396769b4d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:03:21 2018 -0600

    rsvg_filter_primitive_component_transfer_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

commit 9052c2e2a56ab6f8b8ff65c0890839c74b3ad337
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 17:02:16 2018 -0600

    rsvg_filter_primitive_color_matrix_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 82 +++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 51 insertions(+), 31 deletions(-)

commit de76452958d82842dd160013cb5d6922e02e6aa9
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 16:59:14 2018 -0600

    rsvg_filter_primitive_merge_node_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

commit 5bb014941d5141294d560a8b8c4836220dcaaf08
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 16:58:12 2018 -0600

    rsvg_filter_primitive_merge_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

commit b08533c3a70bc9fcaa6de4d4b798567e7e7ef9fe
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 16:56:55 2018 -0600

    rsvg_filter_primitive_offset_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 38 +++++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

commit 36f1ee7d80a557a17f61e912eb7e080bfb7ea204
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 16:55:22 2018 -0600

    rsvg_filter_primitive_gaussian_blur_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

commit da822b08226cf12ffa28133f593bc92dd98fe02c
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 15:15:26 2018 -0600

    rsvg_filter_primitive_convolve_matrix_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 168 ++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 98 insertions(+), 70 deletions(-)

commit b51d1794c01d947bb423283c7a4a2fae576f25d2
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 15:09:47 2018 -0600

    rsvg_filter_primitive_blend_set_atts(): Parse attributes with the PHF

 rsvg-filter.c | 56 ++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 38 insertions(+), 18 deletions(-)

commit 893e47eda3a6ea0bb46e0117673c228fdd9fca21
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 15:07:06 2018 -0600

    rsvg_filter_set_atts(): Parse attributes with the PHF

 rsvg-attributes.h |  2 +-
 rsvg-filter.c     | 61 ++++++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 43 insertions(+), 20 deletions(-)

commit f71ef5e0c3d5845e7fdd2f04cf14db8bf466a1e8
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 15:01:29 2018 -0600

    filter_primitive_set_x_y_width_height_atts(): Parse attributes with the PHF

 rsvg-filter.c | 47 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 32 insertions(+), 15 deletions(-)

commit cf5c32224219b69051b00cda1e0e368904b32f5f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:39:47 2018 -0600

    node_set_atts(): Parse attributes with the PHF

 rsvg-base.c | 39 ++++++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 11 deletions(-)

commit 08807b433e6bb3659aee07c0d0a0512cead2a2d0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:35:01 2018 -0600

    node_set_atts(): Inline register_node_in_defs() here

 rsvg-base.c | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

commit f3656e3d6c0dff83d768d552ccb200ef3d6877e3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:33:09 2018 -0600

    node_set_atts(): Register the node in the defs here, not in rsvg_standard_element_start()

 rsvg-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8fc8575d55e138d679c3a6ac0c60a0e81288b410
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:26:01 2018 -0600

    rsvg-text.c: Parse attributes with the PHF

 rsvg-text.c | 56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 42 insertions(+), 14 deletions(-)

commit eb4de7d306112a4fdc827d2c4d63cd54343801f6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:11:45 2018 -0600

    rsvg_cond.c: Parse attributes with the PHF

 rsvg-cond.c | 50 ++++++++++++++++++++++++++++++++------------------
 1 file changed, 32 insertions(+), 18 deletions(-)

commit b11c50a68553dba6d90f63ae10422c40e0180107
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 11:00:16 2018 -0600

    Thoroughly deprecate rsvg_handle_get_metadata().  Returns NULL always.
    
    The code wanted to reconstruct the XML contents of the <metadata>
    element so that they could be fetched with the API as a string.
    However, it never did this correctly.  So, we return NULL now and
    remove the machinery to actually try to reconstruct the XML.
    
    Commit a61da7471f951317e665f90fea51badc57781a2c deprecated this
    function, and its comment says:
    
        Deprecate the title, desc, and metadata accessors
    
        They're unused except for bindings, according to codesearch. They're also
        implemented incorrectly (only allow retrieving the toplevel's data), and
        did I mention they're completely unused?
    
    Since they were unused back in 2011, we can hopefully safely deprecate
    this now.

 rsvg-base.c    | 58 +---------------------------------------------------------
 rsvg-handle.c  | 12 ++----------
 rsvg-private.h |  1 -
 3 files changed, 3 insertions(+), 68 deletions(-)

commit 6e13ebd8b92128ec8eb4ac66872235990e0d8929
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 10:46:42 2018 -0600

    rsvg_property_bag_iter_next(): Return the Attribute as well
    
    Now the callers don't have to compute it themselves.

 rsvg-base.c              | 12 ++++--------
 rsvg-private.h           |  2 ++
 rsvg-styles.c            | 18 ++++--------------
 rust/src/property_bag.rs |  8 +++++++-
 4 files changed, 17 insertions(+), 23 deletions(-)

commit e8fc72e78e3ab0f8116016dc6aca2b9b2d04fe5e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 10:40:17 2018 -0600

    rsvg_parse_style_pair(): Take an RsvgAttribute arg; don't compute it here

 rsvg-styles.c | 47 +++++++++++++++++++++++++++++++----------------
 1 file changed, 31 insertions(+), 16 deletions(-)

commit ce1911826638337ec487955c78eb73811cbec742
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 08:59:25 2018 -0600

    PropertyBag: make iteration return (key, attr, value) tuples
    
    This is so that callers don't have to convert the key to an Attribute
    themselves.
    
    This also means that pbag.iter() now *only* yields elements whose
    attributes are known in the PHF mapping in build.rs.  The rest of the
    code won't know how to process unknown attributes, anyway.

 rust/src/clip_path.rs    |  13 ++---
 rust/src/gradient.rs     |  49 ++++++++---------
 rust/src/image.rs        |  73 ++++++++++++-------------
 rust/src/marker.rs       |  45 ++++++++--------
 rust/src/mask.rs         |  35 ++++++------
 rust/src/pattern.rs      |  53 +++++++++----------
 rust/src/property_bag.rs |  97 +++++++++++++++++++---------------
 rust/src/shapes.rs       | 135 +++++++++++++++++++++--------------------------
 rust/src/stop.rs         |  49 ++++++++---------
 rust/src/structure.rs    |  89 ++++++++++++++-----------------
 10 files changed, 304 insertions(+), 334 deletions(-)

commit 57f3d6bf9e4abadcc272a03836d2c80e18fd5c7f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 21 08:22:30 2018 -0600

    rsvg_start_style(): Parse attributes with the PHF

 rsvg-base.c | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

commit c9ec296cc1cabead7d7dc4e820a2978152814631
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Wed Feb 21 09:05:04 2018 +0000

    gitlab-ci: Fix clippy build.

 .gitlab-ci.yml | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit e27b314c9966ed061a7d3a4ce4c5a4e73cb21c7e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 20:29:49 2018 -0600

    rsvg_property_bag_size(): Removed.

 rsvg-private.h           | 4 ----
 rust/src/lib.rs          | 1 -
 rust/src/property_bag.rs | 9 ---------
 3 files changed, 14 deletions(-)

commit dfacaee0f379359c2b6770319f97be4edf019bdb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 20:28:13 2018 -0600

    rsvg_eval_switch_attributes(): Remove the last call to rsvg_property_bag_size()

 rsvg-cond.c | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

commit 71bff493b05a15f1129d9bd2d657ec9a82bc7ef1
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 20:26:50 2018 -0600

    rsvg_parse_style_attrs(): Don't call rsvg_property_bag_size()

 rsvg-styles.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit f3edcbd2bad938a779a15e0b5a9d9d8f47db2d23
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 20:25:30 2018 -0600

    node_set_atts(): Remove call to rsvg_property_bag_size()
    
    We tried to avoid looking up a bunch of possibly nonexistent
    attributes; now that we iterate over existing ones, this shouldn't be
    necessary anymore.

 rsvg-base.c | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

commit 514ccd4429cc985dc6c9c018fbf4f5b51dfb27db
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 19:18:57 2018 -0600

    rsvg_property_bag_enumerate(): Removed.

 rsvg-private.h           |  6 ------
 rust/src/lib.rs          |  1 -
 rust/src/property_bag.rs | 19 -------------------
 3 files changed, 26 deletions(-)

commit 73ea7e3fa6e4b620dbcf234a6e562b3a2486f4b3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 19:16:03 2018 -0600

    rsvg_metadata_handler_start(): Use iteration instead of rsvg_property_bag_enumerate()

 rsvg-base.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

commit cdb4156e775aa42a8e6aa9037bd3e8250c6744e8
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 19:13:51 2018 -0600

    rsvg_parse_presentation_attributes(): Use iteration instead of rsvg_property_bag_enumerate()

 rsvg-styles.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

commit 862ffb97ecf6840a09f0fce38f144da5b2dcbc7b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 19:11:15 2018 -0600

    rsvg_parse_style_attrs(): Use iteration instead of rsvg_property_bag_enumerate()

 rsvg-styles.c | 68 +++++++++++++++++++++++++++--------------------------------
 1 file changed, 31 insertions(+), 37 deletions(-)

commit 1b9946f6a0f847698067c124fefa7c6dab965e3f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 19:03:55 2018 -0600

    PropertyBag: Export rsvg_property_bag_iter_*() for use from C

 rsvg-private.h           | 17 +++++++++
 rust/src/lib.rs          |  3 ++
 rust/src/property_bag.rs | 95 +++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 114 insertions(+), 1 deletion(-)

commit 1baa427498a870ce1fccc4b861ca7c4c6f0b16c9
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 18:42:03 2018 -0600

    PropertyBag: implement PropertyBagIter in terms of PropertyBagCStrIter

 rust/src/property_bag.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b6334ccb01e079a1406d9b9f3f19efd794581103
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 18:39:29 2018 -0600

    PropertyBag: Add an iter_cstr() that outputs &CStr, instead of &str

 rust/src/property_bag.rs | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit cabd443ca19920f16bb3a787e87577b909a06518
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 15:54:05 2018 -0600

    rsvg_parse_style_attrs(): Parse attributes with the PHF

 rsvg-styles.c | 51 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 37 insertions(+), 14 deletions(-)

commit 19396be85db5d60dd311f88b0a375877b4a54b87
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 14:55:18 2018 -0600

    gradient_resolve_fallbacks_and_set_pattern(): Use Rust types

 rust/src/gradient.rs     | 15 +++++----------
 rust/src/paint_server.rs |  4 ++--
 2 files changed, 7 insertions(+), 12 deletions(-)

commit 90c0930e3f6140e9e502f9d0d4ceba3d590e585b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 14:52:57 2018 -0600

    pattern_resolve_fallbacks_and_set_pattern(): Use Rust types

 rust/src/paint_server.rs |  2 +-
 rust/src/pattern.rs      | 11 +++--------
 2 files changed, 4 insertions(+), 9 deletions(-)

commit 3f8e1a6e4059feb6496577dcc187e01e28c68cc6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 14:48:03 2018 -0600

    gradient/pattern.rs: Don't export functions that are only used from Rust

 rust/src/gradient.rs     | 9 ++++-----
 rust/src/lib.rs          | 2 --
 rust/src/paint_server.rs | 8 ++++----
 rust/src/pattern.rs      | 7 +++----
 4 files changed, 11 insertions(+), 15 deletions(-)

commit 38e66eb1ec2d863590fe5b48f65abaccea99cd02
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 20 14:43:17 2018 -0600

    Remove unused prototypes

 rsvg-paint-server.h | 12 ------------
 1 file changed, 12 deletions(-)

commit 6259ab24f7754555e5cca0e11285dd4dde6a3b0f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 20:10:02 2018 -0600

    property_bag.rs: Remove the parse_or_*() functions.  Yay!
    
    Now there is just the PropertyBag wrapper in there, and no parsing
    stuff.

 rust/src/property_bag.rs | 47 -----------------------------------------------
 1 file changed, 47 deletions(-)

commit 5595f35ebb6b6df3b0028efa3fce9c0d172f1c7a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 20:07:09 2018 -0600

    NodeMarker: Parse attributes using the PHF

 rsvg-attributes.h  |  6 ++++++
 rust/build.rs      |  6 ++++++
 rust/src/marker.rs | 50 +++++++++++++++++++++++++++++++++-----------------
 3 files changed, 45 insertions(+), 17 deletions(-)

commit 10e260e1a7f2d13b9da2e544ae151a36cb48a2d2
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:56:56 2018 -0600

    NodeImage: Parse atttributes with the PHF

 rsvg-attributes.h |  2 ++
 rust/build.rs     |  2 ++
 rust/src/mask.rs  | 46 ++++++++++++++++++++++++----------------------
 3 files changed, 28 insertions(+), 22 deletions(-)

commit a25331fde6b6c1a381e3b6bd01b5811e18eedeb7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:48:02 2018 -0600

    NodeImage: Parse attributes with the PHF

 rsvg-attributes.h |  1 +
 rust/build.rs     |  1 +
 rust/src/image.rs | 73 +++++++++++++++++++++++++++++++------------------------
 3 files changed, 43 insertions(+), 32 deletions(-)

commit 75fd6ecf652292f0d3370cac3ed06e891a971f51
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:23:30 2018 -0600

    NodeClipPath: parse attributes using the PHF

 rsvg-attributes.h     |  1 +
 rust/build.rs         |  1 +
 rust/src/clip_path.rs | 16 ++++++++++++++--
 3 files changed, 16 insertions(+), 2 deletions(-)

commit 15c1d55e8c6f3ef9cb32ec18210657c67af62a8a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:17:59 2018 -0600

    NodeStop: parse attributes with the PHF

 rust/src/stop.rs | 46 +++++++++++++++++++++++++++++-----------------
 1 file changed, 29 insertions(+), 17 deletions(-)

commit 126abb3f0cd4ca1b47cd7155e17b5f560cde126a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:09:55 2018 -0600

    Pattern: parse attributes with the PHF

 rsvg-attributes.h   |  3 +++
 rust/build.rs       |  3 +++
 rust/src/pattern.rs | 50 +++++++++++++++++++++++++++++++++++++++-----------
 3 files changed, 45 insertions(+), 11 deletions(-)

commit cecc732a4b9737dcb97ca8962475df1763f42a84
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 19:09:25 2018 -0600

    Pattern: start with an unresolved pattern, instead of a Default one

 rust/src/pattern.rs | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 72a5270cb9a9d10e97a44b035d820cca119913f2
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 18:39:03 2018 -0600

    Pattern: put the defaults in impl Default, not in resolve_from_defaults()

 rust/src/pattern.rs | 35 ++++++++++++-----------------------
 1 file changed, 12 insertions(+), 23 deletions(-)

commit 62380f7acf4ecdc9c5b70d2dc042cf862b486135
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 13:29:52 2018 -0600

    Gradient: Fix the distinction between default values and unresolved values
    
    This makes the tests pass again

 rust/src/gradient.rs | 53 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 36 insertions(+), 17 deletions(-)

commit a7c8219644e134f3a3f960e739558589ef65c196
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 13:20:53 2018 -0600

    Gradient: don't start set_atts() with default values; start with "not resolved" values.

 rust/src/gradient.rs | 54 ++++++++++++++++++++++++++--------------------------
 1 file changed, 27 insertions(+), 27 deletions(-)

commit 7a0f62013baabe50347f9667f15bc645426fe20d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 11:17:20 2018 -0600

    Gradient: parse attributes with the PHF

 rsvg-attributes.h    |  5 ++++
 rust/build.rs        |  5 ++++
 rust/src/gradient.rs | 77 +++++++++++++++++++++++++++++++++++++++-------------
 3 files changed, 68 insertions(+), 19 deletions(-)

commit 8b1e5156e2403386986b4a14ba73fe8316fbabba
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 12:15:07 2018 -0600

    Gradient: Move the GradientVariant defaults to functions instead of resolve_from_defaults()

 rust/src/gradient.rs | 50 ++++++++++++++++++++++++++++++++++----------------
 1 file changed, 34 insertions(+), 16 deletions(-)

commit fdc8e812aa27fbb6c2c93dedbd12a2a095c8bfa4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 11:33:02 2018 -0600

    GradientCommon: put the defaults in impl Default, not in resolve_from_defaults()

 rust/src/gradient.rs | 36 ++++++++++++++----------------------
 1 file changed, 14 insertions(+), 22 deletions(-)

commit fa03dc0060ec22500063914883b41a505f819497
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 10:38:46 2018 -0600

    NodeSymbol: parse attributes with the PHF

 rust/src/structure.rs | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit 92ebc4ff51af1dfd54c7c2447085c6d92f1b45eb
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 10:34:51 2018 -0600

    NodeUse: parse attributes with the PHF

 rust/src/structure.rs | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

commit e21cb3d08d2aa00007b4b7fbbf5ff826077b11c6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 10:26:40 2018 -0600

    Replace tabs with spaces

 rsvg-attributes.h | 198 +++++++++++++++++++++++++++---------------------------
 1 file changed, 99 insertions(+), 99 deletions(-)

commit 47889ece0ef9e64fd92eeaee46a5514ef0d3200a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 10:26:11 2018 -0600

    NodeSvg: parse attributes with the PHF

 rsvg-attributes.h     |  2 ++
 rust/build.rs         |  2 ++
 rust/src/structure.rs | 47 +++++++++++++++++++++++++++++------------------
 3 files changed, 33 insertions(+), 18 deletions(-)

commit 79cef1df7ac7194456e145144829036971acf8df
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 09:25:20 2018 -0600

    NodeEllipse: parse attibutes with the PHF

 rust/src/shapes.rs | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 0642702ecedaf6713e8f0f99005a290ad3813fba
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 16 09:21:07 2018 -0600

    NodeCircle: parse attributes with the PHF

 rsvg-attributes.h  |  3 +++
 rust/build.rs      |  3 +++
 rust/src/shapes.rs | 15 +++++++++++----
 3 files changed, 17 insertions(+), 4 deletions(-)

commit d0b454b857c927f64c2dcf3701052da31841f15b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 13:56:33 2018 -0600

    NodeRect: parse attributes with the PHF

 rsvg-attributes.h  |  2 ++
 rust/build.rs      |  2 ++
 rust/src/shapes.rs | 28 +++++++++++++++++++++-------
 3 files changed, 25 insertions(+), 7 deletions(-)

commit 008646b350ebde346cd036c2c7e6fcc4daa9fef9
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 10:09:14 2018 -0600

    NodeLine: parse attributes with the PHF

 rsvg-attributes.h  |  4 ++++
 rust/build.rs      |  4 ++++
 rust/src/shapes.rs | 17 ++++++++++++-----
 3 files changed, 20 insertions(+), 5 deletions(-)

commit 82ac28116144fa5cbe08421640e6c9410cf42341
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 10:06:18 2018 -0600

    parsers::parse() - New function, to replace property_bag::parse_*()
    
    property_bag::parse_or_none() would return an Option.  We will no
    longer need it because we'll iterate over attributes that *are*
    present, not try to match against attributes that may not be there.
    
    property_bag::parse_or_default() will not be needed, since the node
    creation functions will set up default values themselves.
    
    property_bag::parse_or_value() will not be needed for the same reason.

 rust/src/parsers.rs | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit ccbe9efe8845f41ca95bbe0638899eb3959381de
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 10:05:54 2018 -0600

    PropertyBagIter: remove an unused field

 rust/src/property_bag.rs | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

commit e2603a3578357b4ccde04918f00294ba16a714b6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 19:25:07 2018 -0600

    Process points/verts of NodePoly with the PHF

 rsvg-attributes.h  |  2 ++
 rust/build.rs      |  2 ++
 rust/src/shapes.rs | 22 ++++++++++++----------
 3 files changed, 16 insertions(+), 10 deletions(-)

commit f08c159459d856632c4fc1ff113091abeac921b2
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 19:18:13 2018 -0600

    Process the d attribute of NodePath with the PHF

 rsvg-attributes.h  |  1 +
 rust/build.rs      |  1 +
 rust/src/shapes.rs | 20 +++++++++++++-------
 3 files changed, 15 insertions(+), 7 deletions(-)

commit d5d5ecce1520a7799668d481b3a1e680a6083cf6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 19:05:53 2018 -0600

    PropertyBag.iter() method
    
    This wraps HashMap::iter(), but returns Item=(&str, &str) instead of
    HashMap's double-references to CStr.

 rust/src/property_bag.rs | 45 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 40 insertions(+), 5 deletions(-)

commit 22281aa8ee30a00b8de165f7f227f3b6e035662e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 14:55:31 2018 -0600

    Port PropertyBag to Rust
    
    This is a HashMap for now, to match the C version which used a
    GHashTable.  Eventually its implementation will only be a wrapper for
    the (char **) from libxml2, plus an iterator over the key/value pairs
    in such an array.  For now, we do need lookup() semantics.  We will be
    moving the set_atts() methods to iteration instead of lookups one by
    one.

 rsvg-base.c              |  12 ++--
 rsvg-filter.c            |  40 +++++------
 rsvg-private.h           |  30 +++++---
 rsvg-styles.c            |  77 --------------------
 rsvg-text.c              |   6 +-
 rust/src/cnode.rs        |   4 +-
 rust/src/lib.rs          |   8 +++
 rust/src/node.rs         |  13 ++--
 rust/src/property_bag.rs | 180 +++++++++++++++++++++++++++++++++++++----------
 rust/src/stop.rs         |   4 +-
 rust/src/structure.rs    |  14 ++--
 11 files changed, 219 insertions(+), 169 deletions(-)

commit ca3c8f015b402b77549a7f926fa282b0ef752a8b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 12:52:13 2018 -0600

    rsvg_state_reinherit() - Rename to state_reinherit(); make it a static function

 rsvg-styles.c | 8 ++++----
 rsvg-styles.h | 2 --
 2 files changed, 4 insertions(+), 6 deletions(-)

commit 6732ab38b12219103602ee049b170e5032f4a26f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 12 12:50:32 2018 -0600

    rsvg_state_inherit() - Rename to state_inherit(); make it a static function

 rsvg-styles.c | 6 +++---
 rsvg-styles.h | 2 --
 2 files changed, 3 insertions(+), 5 deletions(-)

commit 8f6fd8785609bc0dcb12d7f1653fcc4476edf902
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 12:49:41 2018 -0600

    rsvg_parse_style_pair(): Distinguish between styles and presentation attributes
    
    For example, "marker" is a shortcut property that cannot be used from
    a presentation attribute:  an SVG element cannot have an attribute
    marker="url(#foo)".  This property can only come from the the contents
    of the "style" attribute, or from a CSS style.
    
    This makes painting-marker-04-f.svg pass again.

 rsvg-styles.c | 49 +++++++++++++++++++++++++++++++------------------
 1 file changed, 31 insertions(+), 18 deletions(-)

commit 0d8dba0ce4e07d7f4243173848998f2cc893cda5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 12:47:34 2018 -0600

    Rename rsvg_parse_style_pairs() -> rsvg_parse_presentation_attributes()
    
    Because that's what it is intended to do.  In the style parsing code,
    we'll make a distinction between key/value pairs coming from CSS
    styles or the "style" attribute in SVG elements, and presentation
    attributes in SVG elements.

 rsvg-styles.c    | 4 ++--
 rsvg-styles.h    | 2 +-
 rust/src/stop.rs | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 1ff98de56bc38664f17adf1b8bdcbf86e7c7b292
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 10:51:58 2018 -0600

    Don't pass an allocated closure to g_hash_table_foreach()
    
    The closure is short-lived; there's no need to keep it on the heap.

 rsvg-styles.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

commit c58fbcbe6c20260d6740a83b62245562a28c18de
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 07:30:51 2018 -0600

    rsvg_parse_style_pairs() - Just iterate over all attributes
    
    Don't lookup each attribute we know how to process.

 rsvg-styles.c | 57 +++++++--------------------------------------------------
 1 file changed, 7 insertions(+), 50 deletions(-)

commit db897db4e5f5535dc17f0a37f0ba48ab025d092a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 07:07:44 2018 -0600

    Sigh, pass C strings properly

 rust/src/attributes.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0c30cc44c0b5e19cf1ab7ea062c3bd92c2f97ce4
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 20:21:33 2018 -0600

    rsvg_parse_style_pair(): Use rsvg_attribute_from_name() and a big switch statement
    
    Instead of a chain of if statements.

 rsvg-styles.c | 292 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 245 insertions(+), 47 deletions(-)

commit 824d6c3100ff6affcf16075d62c4218e43abb1f0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 20:18:39 2018 -0600

    Add rsvg-attributes.h

 Makefile.am       |   1 +
 rsvg-attributes.h | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+)

commit e75cd782692525f7c6f8057a65513d62b95023d7
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 20:19:45 2018 -0600

    build.rs: We don't need the C names after all

 rust/build.rs | 242 +++++++++++++++++++++++++++++-----------------------------
 1 file changed, 122 insertions(+), 120 deletions(-)

commit 59129331519160ce07b98df8e5c0ea0ff47bd961
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 20:19:29 2018 -0600

    fix: modules in attributes.rs

 rust/src/attributes.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0bcad36db47da2237c436571e3b62c67cdaeeab5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 13:34:19 2018 -0600

    New function rsvg_attribute_from_name()

 rust/src/attributes.rs | 40 ++++++++++++++++++++++++++++++++++++++++
 rust/src/lib.rs        |  4 ++++
 2 files changed, 44 insertions(+)

commit fe3297f336b712d44e70f4a6af5f8e08f9e0c59a
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Wed Feb 7 12:31:54 2018 -0600

    Generate a PHF of SVG attribute names
    
    We will map SVG attribute names to enum values using a Perfect Hash
    Function, instead of doing string comparisons and hash table lookups
    everywhere.
    
    At build time, we generate the PHF mapping.  We do this with
    phf_codegen (in the build.rs script) instead of phf_macros, as the
    latter cannot be used on Rust stable yet.

 Makefile.am            |   2 +
 rust/Cargo.lock        |  42 ++++++++++++-
 rust/Cargo.toml        |   5 ++
 rust/build.rs          | 156 +++++++++++++++++++++++++++++++++++++++++++++++++
 rust/src/attributes.rs |  28 +++++++++
 rust/src/lib.rs        |   1 +
 6 files changed, 231 insertions(+), 3 deletions(-)

commit 7898d586d9cc6d7aa8474879f6c22bc7cd5dc7ad
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 20 10:30:04 2018 +0000

    gitlab-ci: Fix debian build.

 .gitlab-ci.yml | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit bb49d232495444ebfc1f26a5a8e5b0f40111aad1
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 20 08:15:20 2018 +0000

    gitlab-ci: Add a debian testing build test and a disable template for ubuntu 18.04.

 .gitlab-ci.yml | 43 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 41 insertions(+), 2 deletions(-)

commit ca2bdc627896538a62702ae02de99af876fa9a7e
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 20 08:06:13 2018 +0000

    gitlab-ci: Add manual build triggers for rustfmt and clippy.

 .gitlab-ci.yml | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 46efdbe757a866fb9b994460cd2520a2f2bcbae4
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 20 08:02:07 2018 +0000

    Compiling.md: Add Debian testing dependancies.

 COMPILING.md | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

commit c1b98d3ec232cdb220bb1312ebe246400362747d
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Mon Feb 19 21:54:51 2018 +0000

    gitlab-ci: Build test case for fedora.
    
    Switch to fedora for CI tesing since it takes half time.
    Restrict opensuse test to run only on the following builds:
    * master branch
    * tags
    * scheduled
    * Requested

 .gitlab-ci.yml | 57 +++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 41 insertions(+), 16 deletions(-)

commit 4bb8914a7e062cad29480c7f2f2b8fa0ed82a1d3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 19 09:36:49 2018 -0600

    No need to validate UTF-8 in rsvg_extra_handler_characters()
    
    Libxml2 already guarantees valid UTF-8.
    
    With this we drop the glib requirement down to 2.48.0.

 configure.ac | 2 +-
 rsvg-base.c  | 9 +--------
 2 files changed, 2 insertions(+), 9 deletions(-)

commit 7697aa9c93b0002c97f6fda5c690f745670e14a8
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Mon Feb 19 11:27:37 2018 +0000

    Compiling: Add note about building on ubunut and using rustup.

 COMPILING.md | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 47e11a78dd1097063b8dcfb4ed3234a86ecfc826
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Mon Feb 19 11:08:46 2018 +0000

    Fix ubuntu dependancies.

 COMPILING.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a09f947bac5d4c53e89ca9299d43cfd5f045aae8
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Sun Feb 18 15:13:41 2018 +0200

    List incoplete dependancies for ubuntu/debian.

 COMPILING.md | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

commit 00d130f8b82b4d5c75e9b87cc44a15ec46646e80
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Tue Feb 13 22:01:02 2018 +0200

    Fix the end of the line escaping.
    
    When I tried to render it locally with webkit it would ignore
    a single slash line and would display the desired result only
    when using a double slash(\) instead. Probably tries to escape
    something?
    
    Gitlab renders it differently. Should be fixed and copy pastable now.

 COMPILING.md | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 13d3a4bf7c98a1bc8e7422b156e5e45b7e44c58c
Author: Jordan Petridis <jordanpetridis@protonmail.com>
Date:   Fri Feb 9 21:22:58 2018 +0200

    Compiling.md: List dependancies for Fedora and Opensuse systems.

 COMPILING.md | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 54351e6a04ee7f707be066d181ea21092de6cb5d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 15 18:34:22 2018 -0600

    Remove unused variable

 tests/rsvg-test.c | 1 -
 1 file changed, 1 deletion(-)

commit 08da34e832daa441212b990e061b06e4650b6d60
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 15 18:33:22 2018 -0600

    configure.ac: Increase freetype2 requirement to 2.9.0
    
    Note that freetype2 uses the libtool version for its pkg-config macro (!?)

 configure.ac | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

commit 1b961ca702a27cbc290335e01cb7036609e6c543
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 15 18:15:47 2018 -0600

    gitlab#197 - Regenerate reference tests with updated freetype
    
    The previous test reference files were generated with freetype2
    2.7.1.  However, in 2.8 there was this change:
    
    - Update to version 2.8
      ...
      * `Light' auto-hinting  mode no  longer uses TrueType  metrics for
        TrueType  fonts.   This bug  was  introduced  in version  2.4.6,
        causing   horizontal  scaling   also.    Almost  all   GNU/Linux
        distributions (with Fedora as  a notable exception) disabled the
        corresponding patch for good reasons; chances are thus high that
        you won't notice a difference.
      * If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType
        now scales  the font linearly  again (bug introduced  in version
        2.4.6).
    
    I think this caused font rendering to change for our tests.
    
    The test files are now done with freetype2 2.9.

 .../reftests/bugs/587721-text-transform-ref.png     | Bin 3898 -> 3896 bytes
 .../bugs/777834-empty-text-children-ref.png         | Bin 8477 -> 8475 bytes
 .../reftests/svg1.1/coords-trans-02-t-ref.png       | Bin 8110 -> 8110 bytes
 .../reftests/svg1.1/coords-trans-03-t-ref.png       | Bin 7743 -> 7743 bytes
 .../reftests/svg1.1/coords-trans-04-t-ref.png       | Bin 6589 -> 6589 bytes
 .../reftests/svg1.1/coords-trans-05-t-ref.png       | Bin 7854 -> 7854 bytes
 .../reftests/svg1.1/coords-trans-06-t-ref.png       | Bin 8249 -> 8249 bytes
 .../reftests/svg1.1/coords-viewattr-03-b-ref.png    | Bin 24225 -> 23584 bytes
 .../reftests/svg1.1/filters-composite-02-b-ref.png  | Bin 15793 -> 15793 bytes
 .../reftests/svg1.1/paths-data-04-t-ref.png         | Bin 17856 -> 17803 bytes
 .../reftests/svg1.1/paths-data-05-t-ref.png         | Bin 15948 -> 15886 bytes
 .../reftests/svg1.1/paths-data-06-t-ref.png         | Bin 7189 -> 7110 bytes
 .../reftests/svg1.1/paths-data-07-t-ref.png         | Bin 6443 -> 6376 bytes
 .../reftests/svg1.1/paths-data-08-t-ref.png         | Bin 18899 -> 18904 bytes
 .../reftests/svg1.1/pservers-grad-08-b-ref.png      | Bin 37161 -> 37447 bytes
 .../reftests/svg1.1/struct-use-01-t-ref.png         | Bin 14391 -> 14391 bytes
 .../fixtures/reftests/svg1.1/text-text-03-b-ref.png | Bin 19989 -> 19979 bytes
 17 files changed, 0 insertions(+), 0 deletions(-)

commit 60faea54659365421df07fa0cee5f627aa6218c5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 11:06:28 2018 -0600

    Update NEWS

 NEWS | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 8e6f31a55e308bb347513dacbfff996cb67e497f
Merge: 6dbc5700 f3d711e6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 10:54:26 2018 -0600

    Merge branch 'lamby/librsvg-reproducible-pdf-output'

commit f3d711e65f63c94b6491679f9b784b6e0c4e2668
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 13 10:52:17 2018 -0600

    Document SOURCE_DATE_EPOCH in rsvg-convert's man page

 rsvg-convert.1 | 47 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 32 insertions(+), 15 deletions(-)

commit dc4a78d3761b2bd83bbfefc806a52d80229e3f1b
Author: Chris Lamb <chris@chris-lamb.co.uk>
Date:   Tue Feb 13 09:27:15 2018 +0000

    Make PDF output reproducible if the SOURCE_DATE_EPOCH envvar is set
    
    Whilst working on the Reproducible Builds effort [0], we noticed
    that rsvg-convert does not create reproducible output.
    
    This is because it calls cairo_pdf_surface_create_for_stream
    without setting a modification time, thus leading to the current
    date always being generated.
    
    An alternative patch *could* use the creation time of the input
    file, but this would be misleading metadata when applied to the
    output - it was not created at the same time as the input.
    
    This has also been filed in Debian [1].
    
     [0] https://reproducible-builds.org/
     [1] https://bugs.debian.org/890027
    
    Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>

 configure.ac   |  2 +-
 rsvg-convert.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 44 insertions(+), 2 deletions(-)

commit 6dbc5700fd8128ed167a72f955e791c2d490b06e
Author: Timm Bäder <mail@baedert.org>
Date:   Fri Feb 9 08:25:51 2018 -0600

    gitlab#143 - rsvg-filter: Optimize get_/put_column
    
    Use memcpy instead of a manual loop and replace the computation in every
    iteration with a simple increment.
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/143

 rsvg-filter.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

commit d513ade4890bf968df936d8da22e7976533ffb9c
Merge: 9a63dc88 5dd2b89e
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 9 08:34:24 2018 -0600

    Merge branch 'hospitality'

commit 5dd2b89e48c1828eb654df6c25bbc1e3f87b6551
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 9 08:18:11 2018 -0600

    How to test performance-related changes

 CONTRIBUTING.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 9a63dc88935c945f90fbeae84d8257b27aeed575
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 18:24:41 2018 -0600

    Replace "RsvgHandle *ctx" for "RsvgHandle *handle" everywhere
    
    Hopefully reduce the confusion between "RsvgHandle *ctx" and
    "RsvgDrawingCtx *ctx" - the Rust code is already uses handle vs. ctx
    like this.

 rsvg-base.c   | 263 +++++++++++++++++++++++++++++-----------------------------
 rsvg-defs.c   |   8 +-
 rsvg-filter.c |   6 +-
 rsvg-styles.c |  61 +++++++-------
 rsvg-styles.h |   4 +-
 5 files changed, 171 insertions(+), 171 deletions(-)

commit 230bd917da295a778896a26f78d98fc7be03a679
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 18:08:49 2018 -0600

    Remove unused argument from rsvg_parse_style()

 rsvg-styles.c    | 4 ++--
 rsvg-styles.h    | 2 +-
 rust/src/stop.rs | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 2482aab44c071ceb69f3b74f449ad3f473173a83
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 17:30:46 2018 -0600

    path_builder.rs: Use safe calls to Cairo only
    
    We used cairo_sys::cairo_move_to() et al from a long time ago.  Make
    this safe with cairo-rs instead.

 rust/src/path_builder.rs | 60 ++++++++++++++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 25 deletions(-)

commit e75a2b2ac8da658725f188c3c6f0b7e1fcfb1519
Merge: b2953f6e 2e714d43
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 15:07:06 2018 -0600

    gitlab#192 - Merge branch 'h3xby/librsvg-port-paint-server-to-rust'
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/192

commit b2953f6e5d119a795decb27adc494d21264a89e1
Merge: 6f67ef61 fb65cee6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 14:29:56 2018 -0600

    gitlab#161 - Fix marker angle when a path ends in closepath
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/161

commit 6f67ef613c72c5b1b9fa34bcdfd0a754ab1955d0
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Thu Feb 8 10:18:49 2018 -0600

    Use tar-ustar in AM_INIT_AUTOMAKE to remove filename length limitations
    
    With the crates update, some generated filenames in "cargo vendor" are
    longer than the 99-character limit from tar-v7.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2e714d43cda40e0a7bf9fb933ba0dade13b33165
Author: Dmitry Kontsevoy <dmitry.kontsevoy@gmail.com>
Date:   Wed Feb 7 17:16:16 2018 +0300

    port RsvgPaintServer to Rust
    
    closes #192

 Makefile.am              |   1 -
 rsvg-cairo-draw.c        |  80 +-----------
 rsvg-paint-server.c      | 209 ------------------------------
 rsvg-paint-server.h      |  39 +-----
 rust/src/lib.rs          |   7 +
 rust/src/paint_server.rs | 324 ++++++++++++++++++++++++++++++++++++++++++++++-
 6 files changed, 341 insertions(+), 319 deletions(-)

commit 22a8916972b4b3a470c1930cdf37bbc4a17b9c31
Merge: d0c65121 b5906eee
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 15:41:55 2018 -0600

    Merge branch 'api-tests'

commit b5906eee12a0b7401be5878337f51e283f7afbb5
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 15:41:18 2018 -0600

    Fix rsvg_handle_new_from_file() so that it will load URIs again
    
    It is documented to being able to do so.
    
    Add a test for this, too.

 rsvg-base-file-util.c | 10 +++++++++-
 tests/api.c           | 26 ++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

commit d0c65121aaa9e304635650062b58ae687ff7b911
Merge: 562e00a6 2d8d5c6f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 14:56:35 2018 -0600

    Merge branch 'api-tests'

commit 2d8d5c6fae789bc7809c7d92a0aaf5200d559587
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 14:12:54 2018 -0600

    Test rsvg_handle_get_dimensions_sub() / rsvg_handle_get_position_sub()

 tests/api.c | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

commit fabd5bc99bfe8137a8a45e5c826d7f18dff775aa
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 14:07:01 2018 -0600

    Test rsvg_handle_new_with_flags() in one of the existing tests

 tests/api.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit bfbdf26e79cfff46e3fcc112fce1fd1e560cb0f1
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 14:01:46 2018 -0600

    Test rsvg_handle_get_pixbuf_sub()
    
    And document that function better

 rsvg-handle.c | 20 +++++++++++++-------
 tests/api.c   | 27 ++++++++++++++++++++++++++-
 2 files changed, 39 insertions(+), 8 deletions(-)

commit 648029d2c6c9f7ad56fa221ea1ba741eb9302301
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 13:51:49 2018 -0600

    Test rsvg_handle_get_pixbuf()

 tests/api.c | 47 +++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 43 insertions(+), 4 deletions(-)

commit 0aa78f1d8eda278d549063638264e55e8de9cc60
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 13:41:36 2018 -0600

    Test rsvg_handle_read_stream_sync()

 tests/api.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

commit 8acbac4fa45df1f85b1109394d95d2c7685cd125
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 13:38:56 2018 -0600

    Test rsvg_handle_new_from_stream_sync()

 tests/api.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

commit 3491e54b8d2f9f65b65fd6acd5ed7578f98a4c0d
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 13:35:48 2018 -0600

    Test rsvg_handle_new_from_gfile_sync()

 tests/api.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

commit 76edf06d581c8e0e7b84522e4f3c72417a00507f
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 13:31:37 2018 -0600

    Test rsvg_handle_new_from_data()

 tests/api.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

commit 06063b7000d3dfa98b6e50a3dba93e0f8f232062
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 12:43:54 2018 -0600

    Test rsvg_handle_write() / close() / free()

 tests/api.c | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

commit 4de3634e220b110eceee692a074b00c2463ece31
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 12:43:15 2018 -0600

    Include the tests/fixture/api/*.svg in the distributed tests

 tests/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit a132396f3371268a334b41c634d4b51bb5aa7c65
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 11:49:19 2018 -0600

    Test the auto-generated RSVG_TYPE_ERROR / RSVG_TYPE_HANDLE_FLAGS.

 tests/api.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

commit b593319beef5a1a7d3c77461b825cc7d331cd365
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 11:39:41 2018 -0600

    Test rsvg_error_quark()

 tests/api.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 33ef0e0123a51e66da29017cc51e715b9ab5f779
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 11:13:51 2018 -0600

    Deprecate rsvg_set_default_dpi() and rsvg_set_default_dpi_x_y().
    
    These functions are unsound.  They would only work if called before
    the registration of RsvgHandleClass (e.g. before the first
    instantiation of an RsvgHandle), as the global value they set is what
    is used for g_object_class_install_property(..., "dpi-x") and "dpi-y".
    
    We maintain their behavior, but instead recommend that callers use
    rsvg_handle_set_dpi() or rsvg_handle_set_dpi_x_y().

 rsvg-base.c   | 20 ++++++++++++++------
 rsvg-handle.c | 16 +++++-----------
 rsvg.h        |  3 +++
 3 files changed, 22 insertions(+), 17 deletions(-)

commit 4bcf1fa312f71a0a94b5b69b4afecaf40540ed27
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 11:24:51 2018 -0600

    Don't use rsvg_set_default_dpi*() in the utilities nor in the tests

 rsvg-convert.c    | 14 ++++++++++++--
 rsvg-view.c       |  9 ++++++++-
 tests/rsvg-test.c |  3 +--
 3 files changed, 21 insertions(+), 5 deletions(-)

commit 0eb8273a33140d67204055d761a3118ee33a3897
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 11:06:37 2018 -0600

    Test rsvg_handle_set_dpi() / rsvg_handle_set_dpi_x_y()
    
    We will not test rsvg_set_default_dpi() and rsvg_set_default_dpi_x_y()
    because they are unsound.  See the next commit for their deprecation
    and explanation.

 tests/api.c                | 45 +++++++++++++++++++++++++++++++++++++++++----
 tests/fixtures/api/dpi.svg |  5 +++++
 2 files changed, 46 insertions(+), 4 deletions(-)

commit 5b8b902632e21007316d31dc6b225a2b110853e6
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:36:53 2018 -0600

    Let us pass a specific filename to get_test_filename()

 tests/api.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 039a7e4af6964f0caa1b00385bb2664a81c7fa12
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:26:32 2018 -0600

    Test the noop functions rsvg_init(), rsvg_term(), rsvg_cleanup()

 tests/api.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit a6a847b8264b96540f8f1a2f15b9e1f48093beba
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:14:46 2018 -0600

    Test rsvg_pixbuf_from_file_at_zoom_with_max()

 tests/api.c | 47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 42 insertions(+), 5 deletions(-)

commit d91503204be04f3ad3660272e635a7beed393771
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:07:59 2018 -0600

    Test rsvg_pixbuf_from_file_at_max_size()

 tests/api.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

commit 43a280afa2cfc8c4daf3f5504791e80ee519082b
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:07:40 2018 -0600

    Use g_assert_cmpint() to get better logs

 tests/api.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4d27370a339ab2bd010386fef4737820f9d14fbd
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 10:07:22 2018 -0600

    Use test sizes that we can divide evenly...

 tests/api.c                    | 14 +++++++-------
 tests/fixtures/api/example.svg |  6 +++---
 2 files changed, 10 insertions(+), 10 deletions(-)

commit f9c56c3728b5e61f2e95f0728fe6d70733c115ed
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 09:52:49 2018 -0600

    Refactor the pixbuf tests to have common code

 tests/api.c | 74 +++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 42 insertions(+), 32 deletions(-)

commit 518b3393b76896ba5e698b79031591afd2df8922
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 09:40:47 2018 -0600

    Test rsvg_pixbuf_from_file_at_size()

 tests/api.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 16d1bfadd02c6ecbb6e8d7f42a0cf25710809c47
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 09:38:12 2018 -0600

    Test rsvg_pixbuf_from_file_at_zoom()

 tests/api.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 758fd17561eb3c90c55629b02567b5e385659894
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Mon Feb 5 16:50:27 2018 -0600

    gitlab#198 - Fix rsvg_pixbuf_from_file_with_size_data()
    
    Now that _rsvg_io_acquire_data() expects a URI, we first need to
    create a URI from the provided file name.
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/198

 rsvg-file-util.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

commit 51203f71418c0b77d1f4b036b5a2da767c8a7938
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 09:32:11 2018 -0600

    Test rsvg_pixbuf_from_file()

 .gitignore                     |  5 ++++-
 tests/api.c                    | 44 +++++++++++++++++++++++++++++++++++++++++-
 tests/fixtures/api/example.svg |  5 +++++
 3 files changed, 52 insertions(+), 2 deletions(-)

commit 927e81cd103bc800c14a09ee25d722abb90a9f82
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 08:21:38 2018 -0600

    Start the tests of the whole public API
    
    First, a test to see that RsvgHandle has the correct GType.

 tests/Makefile.am |  5 ++++
 tests/api.c       | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+)

commit b935e3426f00d90e9e4c76ba3d798e367175eea2
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Tue Feb 6 07:43:11 2018 -0600

    Remove RSVG_G_TYPE_INIT - we have required glib 2.52 for some time now
    
    GType auto-initializes itself since glib 2.36.

 Makefile.am              |  1 -
 gdk-pixbuf-loader/test.c |  4 ----
 rsvg-base.c              |  9 ++++-----
 rsvg-compat.h            | 13 -------------
 rsvg-convert.c           |  3 ---
 rsvg-view.c              |  4 ----
 tests/crash.c            |  2 --
 tests/dimensions.c       |  2 --
 tests/loading.c          |  2 --
 tests/render-crash.c     |  2 --
 tests/rsvg-test.c        |  2 --
 tests/styles.c           |  2 --
 tools/rsvg-dimensions.c  |  3 ---
 tools/rsvg-tools-main.c  |  3 ---
 14 files changed, 4 insertions(+), 48 deletions(-)

commit 562e00a6ad444b503b963841cc23a49a2f69cc00
Author: Massimo <sixtysix@inwind.it>
Date:   Fri Feb 2 10:49:11 2018 -0600

    gitlab#91 - Initialize the intial Cairo context in the clipping context correctly
    
    We were mis-rendering clipped objects only when the initial transform
    passed to rsvg_handle_render_cairo() is not an identity transform.
    
    https://gitlab.gnome.org/GNOME/librsvg/issues/91

 rsvg-cairo-clip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 63d30e86396597487739f82947f9ed7f769d3204
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 10:44:10 2018 -0600

    Add reftests/bugs/91-nonzero-translation.svg
    
    This will test for gitlab#91.  It is the libreoffice-math.svg icon,
    which renders incorrectly with a non-identity transformation.

 .../reftests/bugs/91-nonzero-translation-ref.png   |   Bin 0 -> 19012 bytes
 .../reftests/bugs/91-nonzero-translation.svg       | 19764 +++++++++++++++++++
 2 files changed, 19764 insertions(+)

commit 369c67d41f05cc9304109b968f1cf8196876a393
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 10:39:28 2018 -0600

    rsvg-test: Render with a non-identity transformation matrix to test offsetting errors
    
    This is for gitlab#91.  When the initial transformation matrix
    in the Cairo context passed to rsvg_handle_render_cairo() is not an
    identity matrix (e.g. it has translation offsets), we are not
    rendering some things correctly.
    
    So, we now create *all* rendering tests with a nonzero translation.
    We do this by creating a "frame" around the destination image, and
    then only considering the part inside the frame.

 tests/rsvg-test.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 49 insertions(+), 3 deletions(-)

commit 98f7831442bca65b236e62a136d2d1fbf35dba84
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 10:37:42 2018 -0600

    Remove tests/fixtures/reftests/bugs/548494.svg, add a parser test for it
    
    The test was for parsing path data like
    
        M.10.20
    
    where adjacent fractional numbers have no space between them.  We have
    a parsing test rather than an image reftest for it now.

 rust/src/path_parser.rs                     |   7 +++++++
 tests/fixtures/reftests/bugs/548494-ref.png | Bin 695 -> 0 bytes
 tests/fixtures/reftests/bugs/548494.svg     |   5 -----
 3 files changed, 7 insertions(+), 5 deletions(-)

commit b92bfd0069a59e337cfa8c5f98b38e495be265e3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 07:50:25 2018 -0600

    Update code-of-conduct.md to 1.4.1

 code-of-conduct.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit a73aff0a01c5b109eaade36dcd53551b13ccd2f3
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 07:49:17 2018 -0600

    Rename to code-of-conduct.md per upstream's version

 CONTRIBUTING.md                          | 4 ++--
 Makefile.am                              | 2 +-
 README.md                                | 4 ++--
 code_of_conduct.md => code-of-conduct.md | 0
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 3ef29def7d4d74085029ddf04570c354b4483f65
Author: Federico Mena Quintero <federico@gnome.org>
Date:   Fri Feb 2 07:44:23 2018 -0600

    Post-release version bump to 2.42.3

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)