[librsvg] (1678 commits) Non-fast-forward update to branch wip/aruiz/rust-pixbuf-loader



The branch 'wip/aruiz/rust-pixbuf-loader' was changed in a way that was not a fast-forward update.
NOTE: This may cause problems for people pulling from the branch. For more information,
please see:

 https://wiki.gnome.org/Git/Help/NonFastForward

Commits removed from the branch:

  a3afa43... gdk-pixbuf-loader: initial attempt to port to rust

Commits added to the branch:

  8c5dd65... Remove unused functions (*)
  beee25f... New test_utils module in rsvg_internals (*)
  dec2138... Move the remaining test functions to rsvg_internals (*)
  dde971d... Add a little documentation for the test_utils (*)
  3c9fbf1... Merge branch 'share-test-utils' into 'master' (*)
  6ca46f0... Clean up .gitignore after the changes to the test-suite (*)
  5b653a5... Remove the need to set OUT_DIR in order to run 'cargo test' (*)
  cfb22e8... Merge branch 'tests-OUT_DIR' into 'master' (*)
  666ad90... Remove creating test output in case of test success (*)
  3422f87... Merge branch 'no_needless_output_files' into 'master' (*)
  574520f... Only run unit and smoke tests in "cargo_test" build (*)
  d25d42c... Merge branch 'revisit-ci-for-new-testsuite' into 'master' (*)
  a98ce52... Split the logic in get_svg_size into physical dimensions an (*)
  e7119e6... c_api: wrap get_geometry_sub here (*)
  85e1e57... pixbuf_utils: implement in terms of CHandle, not the intern (*)
  08c68dd... Move the legacy sizing logic to c_api (*)
  5cf6a19... List rsvg_handle_render_document() as the preferred way to  (*)
  fcd80ab... (#633): Document the legacy API's sizing decisions (*)
  24b89b4... Deprecate rsvg_handle_render_cairo* (*)
  df96af1... Rename function (*)
  23adc6f... Inline get_svg_size() in its only caller (*)
  6e9f846... Export intrinsic_size_in_pixels from the Rust API (*)
  33a7c32... New API function rsvg_handle_get_intrinsic_size_in_pixels() (*)
  8cefbca... render_cairo/render_cairo_sub - document where they use int (*)
  42afc8a... Bump the soname since there is a new API (*)
  9b23dcd... Fix typo in doc index (*)
  ac11048... Merge branch 'natural-size' into 'master' (*)
  79798af... Make librsvg depend on librsvg_crate (*)
  ff5de37... Implement the legacy sizing decisions in terms of CairoRend (*)
  6dcab1d... Reimplement pixbuf_utils in terms of librsvg_crate (*)
  4aa0f7c... Reimplement c_api in terms of librsvg_crate (*)
  4fdbb31... Toplevel module docs for pixbuf_utils (*)
  4fb3a89... Toplevel module docs for c_api (*)
  cfc0dc0... Merge branch 'reimplement-c-api' into 'master' (*)
  c0f409c... Adjust visibility of a bunch of things in the c_api crate (*)
  1643642... Don't export ViewBox (*)
  cc684cd... Don't re-export individual items from surface_utils (*)
  ad09d35... Don't re-export UrlResolver from librsvg_crate (*)
  d7390f4... Fix path_parser benchmark (*)
  0fd2aed... Don't export the whole rect module; we already export IRect (*)
  1565d57... Merge branch 'visibility' into 'master' (*)
  33781cc... ci: Remove fedora:rawhide from cross-distro builds (*)
  376056b... ci: Remove extra handling for gdp-pixbuf-loaders on debian: (*)
  371d1b3... ci: Fix up ownership of cargo cache (*)
  843dc79... ci: Adjust cache policy for build that runs 'make check' (*)
  a511770... Merge branch 'ci-cleanup' into 'master' (*)
  37d289e... ci: Remove more extra handling from debian:testing build (*)
  2f4b423... ci: Simplify by removing the global_before template (*)
  f9dedf6... Merge branch 'ci-cleanup' into 'master' (*)
  08407bf... ci: do "cross distro" and "release" jobs with LIBRSVG_DEBUG (*)
  c4973a7... Merge branch 'ci-cleanup' into 'master' (*)
  0ee5045... Introduce code quality metrics to MRs (*)
  805eb7d... Merge branch 'gitlab_clippy' into 'master' (*)
  147bbd4... Don't change the default for debug info in release mode (*)
  9aa8e70... Merge all Cargo.toml into the toplevel one (*)
  c9ff7be... Point tests/Cargo.toml to the new library location (*)
  f6fbeaa... Move everything out of rsvg_internals/ (*)
  4d6f802... Move everything except tests out of librsvg_crate (*)
  6ef8ea4... Rename rsvg_internals -> librsvg throughout (*)
  bb7d310... Move librsvg/benches/* to benches/ (*)
  bfdae13... Add dependencies for tests to Cargo.toml (*)
  10270e4... Make the tests build (*)
  b8a8c3a... Remove fixture_path() now that there is no Cargo workspace (*)
  eb736cb... Move the remaining test code from librsvg_crate to tests (*)
  8abf768... Fix imports in tests that came from librsvg_crate (*)
  47b8889... Move the c_api sources to src/c_api (*)
  d8110ad... Adjust imports in c_api code (*)
  9ae92d0... Move options for warnings to lib.rs as they need to be in t (*)
  919d59c... Fix warnings about deprecated lifetime elision (*)
  5e61aa1... Fix warnings about trivial casts (*)
  d759031... cargo fmt (*)
  96a37e6... Rename c_api.rs to handle.rs to avoid module inception (*)
  78098ca... Remove librsvg/lib.rs (*)
  482c809... Start fixing autotools (*)
  a9e23ce... Fix RUST_LIB name in Makefile.am (*)
  b08aa3a... Fix includes in gdk-pixbuf-loader (*)
  c79c885... Fix gtk-doc build (*)
  88e5329... Missing lifetime in tests (*)
  3814c50... Trivial casts in tests (*)
  27e10b1... Add tests/ to all paths to fixtures in the rsvg-convert tes (*)
  b02dfce... Fix include path in tests/api.c (*)
  60c5c6e... Remove package names in the CI; there is a single crate now (*)
  e9e2e63... Don't run the reference/loading_crash/render_crash tests in (*)
  9e4fec5... Fix tooling references to rsvg_internals (*)
  f170a4e... Fix imports in benches (*)
  21f64ff... Merge branch 'merge-crates' into 'master' (*)
  afa7bdd... tests: Fix 'cargo test cmdline' after the crates merge (*)
  b1aa23b... Merge branch 'fix-cargo-test-cmdline' into 'master' (*)
  cc735fb... Adjust location of generated rsvg-version.h in .gitignore (*)
  27a2282... Merge branch 'fixup-gitignore' into 'master' (*)
  c886f0c... ci: Disable cache for 'cargo fmt', it doesn't need it (*)
  ccd2a46... Merge branch 'ci-cache-cleanup' into 'master' (*)
  5932bd7... tests: use EXTRA_DIST for test resources (*)
  07a68c9... doc: Remove rsvg.actions on 'make distclean' (*)
  79ecbfa... Merge branch 'automake-dist-cleanup' into 'master' (*)
  f8a5c3b... Move xml code to a module (*)
  cb8294d... Merge branch 'xml' into 'master' (*)
  97c6b79... Remove deny(warnings) from the toplevel src/lib.rs (*)
  a56d3f4... Merge branch 'no-deny-warnings' into 'master' (*)
  91f3f34... ci: replace .common template with default key (*)
  2ddf501... ci: turn rustc warnings into errors in the CI (*)
  076ffc9... Merge branch 'alatiera/allow-warnings' into 'master' (*)
  86aea1d... Fix API for building a Loader (*)
  5b41c91... Merge branch 'loader-api-builder-pattern' into 'master' (*)
  978d81a... Make benchmarking modules semi-private (*)
  4b1ceaf... Add bench tests to CI (*)
  bd20a33... Merge branch 'bench' into 'master' (*)
  9dcb152... text: normalize some lengths as early as possible (*)
  ba41e66... text: Propagate dx/dy across nested <tspan> (*)
  2ebd2ab... text: Only push a new chunk if the tspan has any of x or y  (*)
  21b8bc1... text: Don't create Spans for chars nodes that end up as emp (*)
  da90a31... Merge branch '642-text-dx-dy' into 'master' (*)
  bfa6d75... ci: Adjust gitlab-clippy invocation (*)
  22d38f2... Merge branch 'gitlab-clippy-invocation' into 'master' (*)
  6dae695... (#645) - Make include paths happy again (*)
  7d032cb... Use #include <librsvg/blah.h> in rsvg.h (*)
  6725ea2... Reduce include search paths to the "include" directory (*)
  dd1e85f... Reduce CPPFLAGS and CFLAGS for building the library (*)
  2dd9b9a... Merge branch 'move-includes' into 'master' (*)
  95de14d... tests: Minor cleanups in the rsvg-convert test suite (*)
  adb2d82... tests: Relax tests for rsvg-convert cmdline tool (*)
  4d80606... tests: Check the output of rsvg-convert with export-id opti (*)
  5d3d473... rsvg-convert: Reject invalid resolutions (negative or zero) (*)
  1ff3098... Merge branch 'relax-rsvg-convert-tests' into 'master' (*)
  a2cf04c... Check for prefixed rust (*)
  846d17d... Merge branch 'prefixed-rust' into 'master' (*)
  8e98c8a... Check for prefix cargo as well (*)
  9d92177... Merge branch 'prefixed-cargo' into 'master' (*)
  01379f8... Simplify conditional with the element macros (*)
  d9ea00b... Update URLs to the specs for the display and visibility pro (*)
  e7e66aa... Add some more tests from the SVG1.1 test suite (*)
  4005a0f... Test an element for visibility before drawing in the elemen (*)
  0334730... Switch.draw - draw the child directly; don't use draw_node_ (*)
  2c10a62... draw_from_use_node - Draw the child directly, not with draw (*)
  92e8703... Remove a "return" and use an expression instead (*)
  f9bf169... Svg - extract method to push the new viewport (*)
  ce8fbe2... Store the transform to use in the PathHelper (*)
  83ac980... Inline with_saved_transform into DrawingCtx.clip_to_node() (*)
  8a64f76... Inline part of DrawingCtx::new into its only caller, draw_t (*)
  39c9fcf... draw_tree: Don't get the cr's matrix twice (*)
  fa4ad0a... Rename variable to make it clearer (*)
  fdfe8db... cargo fmt (*)
  1adc7ca... Merge branch 'refactor-transforms' into 'master' (*)
  474b4c2... build: use -framework Foundation on macOS (*)
  b39ba66... Update gitignore (*)
  a21b69d... filters: do not store node in the filter ctx (*)
  805704f... filter: mv computation of the effect region in the ctx (*)
  f6d757a... filters: pass a Filter reference to the ctx (*)
  d457e64... filters: simplify getter in the context (*)
  e7cd733... merge filter: shorten code (*)
  3be7075... Merge branch 'wip/chergert/fix-macos-link' into 'master' (*)
  f477120... Merge branch 'pborelli/librsvg-filters' (*)
  9b9ebf1... Rename Gradient to ResolvedGradient (*)
  33b7590... Rename GradientVariant to ResolvedGradientVariant (*)
  068aa55... Normalize gradients before setting them on the cr (*)
  69ca23f... Make ResolvedGradientVariant private and remove unused meth (*)
  644e4bf... Rename Gradient to UserSpaceGradient (*)
  8cc0d67... Rename the "affine" field in pattern structs to "transform" (*)
  a1553f0... Normalize patterns before setting them on the cr (*)
  1ed437b... Allow DrawingCtx.set_gradient to report failure (*)
  7965b71... Normalize paint sources before setting them on the cr (*)
  5d596ae... Replace some "if Some(...)" with "?", per cargo-clippy (*)
  546dcde... Merge branch 'user-space-paint-source' into 'master' (*)
  60a3730... Pass the StrokeLinecap instead of the ComputedValues to Pat (*)
  46c9dd1... shapes - move the make_path functions to a BasicShape trait (*)
  d33219c... BasicShape::make_path - return an Rc<SvgPath> (*)
  9c63a3b... impl BasicShape for Path (*)
  0910b3e... derive(Default) for Path (*)
  cda9d80... Path: use a simple Rc<SvgPath>, not an Option around that (*)
  026465e... PathBuilder does not need to impl Clone (*)
  d6e1ec1... impl Default for Points so Polygon and Polyline don't need  (*)
  b0edebe... impl BasicShape for Polygon and Polyline (*)
  bc7f135... Rename BasicShape::make_path to make_shape (*)
  0fb8c0f... shapes: implement all the Draw with a macro (*)
  02e279d... Rename DrawingCtx.draw_path to draw_shape and pass it a Sha (*)
  e8e7a27... Call draw_ctx.draw_shape() directly (*)
  2a38a77... The draw_ctx does not need to be mutable in make_shape() (*)
  07dec0a... Merge branch 'shapes' into 'master' (*)
  42ee8d1... Remove unused RenderingError::CircularReference (*)
  8658077... Remove unused RenderingError::InvalidHref (*)
  3130f58... Add LoadingError::LimitExceeded (*)
  7c8a404... Use LoadingError::LimitExceeded when too many XML elements  (*)
  975ce85... Add LoadingError::OutOfMemory (*)
  f24e85a... Map image loading errors from Cairo to LoadingError (*)
  6c58ef3... Remove unused LoadingError::Cairo (*)
  63cfcbf... Extract function (*)
  a6bb6e5... Rename LoadingError::Unknown to LoadingError::Other (*)
  f64096f... Remove LoadingError::NoDataPassedToParser (*)
  ba01c69... Remove LoadingError::CouldNotCreateXmlParser (*)
  73d8572... Rename RenderingError::InstancingLimit to LimitExceeded (*)
  fc5d998... LoadingError: condense SvgHasNoElements and RootElementIsNo (*)
  570e23f... Make LoadingError and RenderingError non_exhaustive (*)
  7e50c99... impl Display for DefsLookupErrorKind (*)
  c2fe4c4... RenderingError: separate out InvalidId and IdNotFound (*)
  b55a5b1... Move the HandleIsNotLoaded error to c_api (*)
  a18d9d5... Add a string description to RenderingError::OutOfMemory (*)
  9188f3f... Remove LoadingError::EmptyData (*)
  94944ca... Remove LoadingError::BadStylesheet (*)
  12598f5... Move get_input_stream_for_loading to the xml module (*)
  59de2c6... Use an internal IoError for the io module, instead of Loadi (*)
  180152e... impl Error only for public error types (*)
  172f339... Use ok_or_else like clippy says (*)
  5e4e295... Replace RenderingError::Cairo(status) with RenderingError:: (*)
  d76aba8... Replace LoadingError::Glib(gerror) with LoadingError::Io(St (*)
  e80df07... FilterError does not need to be PartialEq (*)
  2a1954d... RenderingError should not be PartialEq (*)
  c235f21... ValueErrorKind should not be PartialEq (*)
  d9d046f... HrefError and DefsLookupErrorKind don't need to be PartialE (*)
  43d4270... Use an ImplementationLimit enum to detail the LimitExceeded (*)
  f3dd6d1... Merge branch '597-sanitize-errors' into 'master' (*)
  2a53924... filters: remove unused method (*)
  61753ab... filers: shorten code for image filter (*)
  4ee5685... Length: don't use an intermediate value when parsing (*)
  26b570b... Length: Ensure that the length value is finite in a single  (*)
  e57f4ba... Remove superfluous clones (*)
  d7c6eb5... Merge branch 'length-parse' into 'master' (*)
  d001ce7... errors: move AllowedUrlError together with the other errors (*)
  7bac50d... Cleanup the code that looks up node in the document (*)
  d0b565b... iri: use Fragment directly (*)
  9b08e4c... image: store href attr as a String (*)
  afd7bb9... image filter: use Fragment::parse to decide what to do (*)
  7c29d39... Remove the Href type (*)
  8833bd4... document: move Fragment type to document (*)
  42a15e6... Replace Fragment with NodeId (*)
  6f4fe38... filter: simplify parsing (*)
  b2d66f1... Merge branch 'href' into 'master' (*)
  d043bd1... length: do not pass ViewParam to util that only needs dpi (*)
  38289d4... length: make the type generic on whether it is signed (*)
  2ab0c9e... parse: add blanket implementation for parsing Option (*)
  d2de190... use: implement Default and simplify get_rect (*)
  b2490fd... text: simplify to not use Option for dx and dy (*)
  99b20e8... Merge branch 'length' into 'master' (*)
  6fd3c7b... color_matrix: parse saturate as f64 (*)
  cd477fd... gradient: use helper struct to parse offset (*)
  6fe72dd... parsers: helper structs for NonZero and NonNegative numbers (*)
  1218b82... turbolence: use NonNegative for parsing (*)
  c400329... morphology: use NonNegative for parsing (*)
  9d6e0d9... blur: use NonNegative for parsing (*)
  d52e8fc... lighting: use helper structs for parsing (*)
  9f20b48... convolve_matrix: use NonNegative and NonZero for parsing (*)
  49ff91b... convolve_matrix: move the sanity checks on targetX/Y at ren (*)
  d6d5c20... convolve_matrix: simplify parsing of order (*)
  5986313... filter: rework how we check units (*)
  8d5bdef... parsers: remove parse_and_validate method (*)
  fb0560f... convolve_matrix: do not raise parse error on divisor set to (*)
  914b2e5... reftests: add reftest for feConvolveMatrix divisor attribut (*)
  390756b... parsers: move NumberList together with the rest of the help (*)
  7a5c373... marker: small cleanup (*)
  6ddc46a... lighting: remove constraints for specularExponent (*)
  7041743... error: fix a clippy suggestion (*)
  f5148ed... lighting: simplify code (*)
  5340acf... Add an enum_default macro and use it (*)
  9d71fdc... style: simplify parsing (*)
  34c48ea... aspect_ratio: derive default (*)
  569b4fa... Move attributes.rs in the xml submodule (*)
  df4a1f4... attributes: add a simple constructor for tests (*)
  cb2f8e3... lighting: factor out a Light struct (*)
  b1a3278... pattern: calculate transforms inside UserSpacePattern (*)
  f99a0c7... bbox: cleanup (*)
  e75f40b... filters: do not use BoundingBox to calculate filter bounds (*)
  e3c1843... filters: do not store a FilterCtx ref in the bounds builder (*)
  e175ec2... Merge branch 'parse' into 'master' (*)
  27757ef... drawing_ctx: rework the cr hack (*)
  e18436e... configure: properly check for darwin host (*)
  66de58b... Merge branch 'darwin-check' into 'master' (*)
  0ce76d4... configure: Improve failures due to missing pkg-config (*)
  cb09341... gradient,pattern: use OnceCell to store the resolved field (*)
  75cca6c... filters: use OnceCell for the background surface (*)
  9449429... lighting: move utility function (*)
  c7c44b0... lighting: pass to Light only the transform, not the entire  (*)
  8b5033b... Merge branch 'resolve' into 'master' (*)
  1aaa1af... surface_utils: rename param for clarity (*)
  deaa4e8... surface_utils: use iterators to copy from pixbuf to surface (*)
  82f7758... surface_utils: move to_pixbuf method to shared surface (*)
  2a8564e... Merge branch 'pixels' into 'master' (*)
  40ee738... shared_surface: shorten code (*)
  7862705... drawing_ctx: rework visibility control (*)
  124a31b... tests: add reftest for 667 (*)
  75257c8... Merge branch 'text' into 'master' (*)
  68bc279... Update lopdf dependency (*)
  f580bdd... Merge branch 'update-lopdf-dependency' into 'master' (*)
  bc80183... Merge branch 'ismael/librsvg-buildsystem' (*)
  a5448c0... (#601) - Compute correct bounds for objects with stroke-wid (*)
  b4937d7... Merge branch 'stroke-width-zero' into 'master' (*)
  d24da67... Replace explicit lifetimes with anonymous ones where possib (*)
  ecdfe23... Merge branch 'fix-lifetime-warnings' into 'master' (*)
  ba1e607... tests: use trim() on the EndsWithPredicate (*)
  e4fa474... PathOrUrl: extract function to do the UTF8-to-PathOrUrl heu (*)
  76889ea... PathOrBuf: new from_os_str() method (*)
  c3a3ae6... PathOrUrl: new get_gfile method (*)
  4ef4139... Implement some common traits for PathOrUrl (*)
  4beba28... Draft a predicate to compare a PNG file's contents to a ref (*)
  b2b459a... Refactor test_utils and move it to the tests (*)
  54e67f1... Implement PngPredicate.with_contents() using tests::referen (*)
  89e79d3... Add test to verify that rsvg-convert renders the background (*)
  ed7b9fd... Fix typo in test name. (*)
  a34cd34... Merge branch 'cherry-pick-from-rustify-rsvg-convert' into ' (*)
  5f76e38... Return a meaningful error instead of using unit as an error (*)
  d3b2db3... Merge branch 'result-unit-err' into 'master' (*)
  d1a837a... rsvg-convert: Start work on a rustified version (*)
  572cc70... rsvg-convert: Start work on the actual rendering (*)
  3054f96... rsvg-convert: Improve the error handling (*)
  da172ee... rsvg-convert: Add support for (E)PS and SVG output formats (*)
  1aa511b... rsvg-convert: set background color before rendering (*)
  29ce6d4... rsvg-convert: Set PDF creation date from environment variab (*)
  0b87383... rsvg-convert: Add check for cairo image surface size limit (*)
  20a3df4... rsvg-convert: Start to work on sizing the output properly (*)
  705b0d3... rsvg-convert: Validate resolution and zoom values (*)
  ae1fa97... rsvg-convert: Rename Zoom struct to Scale (*)
  dbe6f73... Export the LegacySize crate from c_api just for rsvg_conver (*)
  02c79fe... rsvg-convert: Get the legacy document size as rsvg-convert. (*)
  ac208df... tests: Adjust test for size overflow (*)
  ae759cb... rsvg-convert: preserve the current output for version (*)
  722268b... rsvg-convert: tweak the about string (*)
  c448d84... rsvg_convert: fix empty_svg_yields_error test case (*)
  1c2e712... rsvg-convert: implement the different sizing strategies (*)
  7dbc976... rsvg-convert: fix export_id_option_error test case (*)
  c48b84b... rsvg-convert: use legacy sizing also for layers (*)
  463676f... rsvg-convert: simplify stdin code (*)
  f96d47d... rsvg-convert: avoid unwrap panic in input handling (*)
  58c097a... rsvg-convert: simplify input handling (*)
  b0b5b21... rsvg-convert: simplify output handling and use Gio (*)
  ae1047a... rsvg-convert: consolidate everything in main.rs (*)
  875b309... rsvg-convert: apply some cleanups suggested by imperio (*)
  f76a175... rsvg-convert: error out if either width or height is 0 (*)
  29a15b8... rsvg-convert: add back the helper types for stdin and stdou (*)
  963cad9... rsvg-convert: reorg the code a little (*)
  edd8221... rsvg-convert: shorten surface code. (*)
  21c38ba... rsvg-convert: move cairo context creation within Surface (*)
  74d3151... rsvg-convert: use OnceCell for the lazy init of the surface (*)
  2beaf8c... rsvg-convert: cleanup resize strategy (*)
  96d6ea2... rsvg-convert: reword comment to not mention the old api (*)
  3f9ac2a... rsvg-convert: remove the C code and add the rust one to the (*)
  73a06c8... rsvg-convert: rename file to rsvg-convert.rs (*)
  bd4e235... rsvg-convert: remove wrong testcase (*)
  106e6ae... c-api: rework the LegacySizing helper trait (*)
  6f86ec1... Remove color utils and rsvg-css.h private header. (*)
  666d4a8... rsvg-convert: shorten code (*)
  75d374b... Export PathOrUrl for rsvg-convert (*)
  f87bba8... rsvg-convert: use PathOrUrl instead of plain PathBuf (*)
  c36ad33... rsvg-convert: Actually cr.paint() the background color (*)
  e935248... rsvg-convert: Overwrite existing files by default (*)
  039f355... rsvg-convert: rename variables (*)
  844de20... rsvg-convert: Extract function to compute the natural size  (*)
  8a06268... rsvg-convert: return a Size from natural_size(), not a (w,  (*)
  2f1659f... rsvg-convert: extract the final_size computation to a funct (*)
  46ed9eb... rsvg-convert: Compute the natural and final sizes outside o (*)
  48b3ada... rsvg-convert: Fix misrendered images with non-1.0 zooms (*)
  7521974... rsvg-convert: Figure out support for Cairo surface backends (*)
  6951a7c... rsvg-convert: bubble up an Error instead of using exit (*)
  50441a9... Add test for rendering individual elements (*)
  92c6575... Remove legacy_layer_size; use legacy_layer_geometry directl (*)
  4302820... Avoid a couple of temporary values (*)
  6818e84... Compute the full geometry of the export_id element, not jus (*)
  8ae4481... rsvg-convert: use render_document() vs. render_element() de (*)
  101eac6... Fix the export_id test geometry now that we use render_elem (*)
  f5b1b8d... Fix the export_id_short_option geometry (*)
  3f74145... rsvg-convert: remove redundant import (*)
  2870c86... tests: disable some tests if cairo surface backends are mis (*)
  e1ce241... Merge branch 'rustify-rsvg-convert' into 'master' (*)
  ff6f525... (#646) - Change the default DPI of rsvg-convert to 96 (*)
  74e5d52... Fix obsolete comment in configure.ac (*)
  02f4d0e... Update NEWS for 2.51.0 (*)
  ac0de05... Drop i18n support from the pixbuf loader (*)
  348e35b... Drop i18n suppport from the build system (*)
  e6cf459... Merge branch 'drop-i18n' into 'master' (*)
  510c90f... Move 'librsvg::surface_utils::compare_surfaces' to the test (*)
  d34f570... Merge branch 'move-compare_surfaces-to-tests' into 'master' (*)
  d02a551... Conditionally use cairo backend surface types (*)
  588dec1... Merge branch 'cairo-surface-features-built-conditionally' i (*)
  513a575... Bump minimum Rust version to 1.48 (*)
  0d8dd67... Merge branch 'update-minimum-rust-version' into 'master' (*)
  39c595f... configure.ac - we don't use glib-mkenums anymore (*)
  aed8787... Merge branch 'remove-mkenums' into 'master' (*)
  91b516d... Refactor set_style_attribute() (*)
  c854a36... Remove the style_attr String from ElementInner; fetch it fr (*)
  8c01820... Remove redundant check for an empty "style" attribute (*)
  a0ec0f9... Merge branch 'dont-duplicate-style' into 'master' (*)
  921e8aa... No need to use Result if PathOrUrl::new() always succeeds (*)
  567f2a4... Suppress new clippy warnings about suspicious operation gro (*)
  75f5541... Change methods in trait PixelOps to take self by reference (*)
  d62fce5... Add test for PathOrUrl("") (*)
  1661192... PathOrUrl: reject empty strings for filenames (*)
  45a3c7b... Slightly improve the docs for PathOrUrl (*)
  2423f12... Merge branch 'fix-new-clippy-warnings' into 'master' (*)
  2209620... New RELEASING.md with a release checklist (*)
  9d4e465... Drop temporary values earlier in SpecifiedValues::to_comput (*)
  552a88a... Comment on the extra block in to_computed_values so it does (*)
  283cf55... Merge branch 'to_computed_values-stack-overflow' into 'mast (*)
  e500e03... Box a big variant in CascadedValues to use less stack space (*)
  7ad3036... Merge branch 'shrink-cascaded-values' into 'master' (*)
  cacefd4... Remove superfluous semicolon (*)
  78419f7... IRI: Box the Resource(NodeId) variant to shrink the IRI enu (*)
  aab8f4e... PaintServer: Box the NodeId in the Iri variant (*)
  853cb49... Dasharray: turn the Array variant into a boxed slice (*)
  23c7ed0... cargo fmt (*)
  a708339... Merge branch 'shrink-computed-values' into 'master' (*)
  fd0f230... Make function private (*)
  5281167... Replace with_saved_cr by a SavedCr that gets restored on Dr (*)
  c89df3a... Just pass the node name to FilterValueList.is_applicable in (*)
  c3d9acc... Just pass the node name to DrawingCtx.run_filter, not the w (*)
  3dbc7c2... Just pass the node name to DrawingCtx.run_filters, not the  (*)
  4a7ccd7... Use the node_name for the mask log messages as well (*)
  215e8ed... Clarify variable name (*)
  b638a0c... Use values alias to be consistent with other parameters (*)
  2485dd5... DrawingCtx.set_paint_source - new function, extracted from  (*)
  3a7c33d... DrawingCtx.get_paint_server_surface - use set_paint_source (*)
  c37fe88... DrawingCtx.get_paint_source_surface - rename from get_paint (*)
  0417f05... Resolve colors early from the current_color and opacity (*)
  591c226... Inline set_source_paint_server into its callers and remove  (*)
  0a55cb9... Move resolve_color to paint_server.rs (*)
  be88757... Resolve solid colors / opacity / current_color as early as  (*)
  d5aa987... Remove temporary variable (*)
  357d014... Remove current_color argument from stroke() and fill() (*)
  946cd02... Make resolve_color private (*)
  6b53a3b... Add tests for resolve_color (*)
  cfcbba9... Resolve a gradient's stop_color and stop_opacity when the i (*)
  1bf2f6a... Don't cache resolved gradients anymore (*)
  249ac9c... Resolve a gradient's final opacity directly in PaintServer. (*)
  15e8f10... Don't cache resolved patterns (*)
  90427b8... Store a pattern's intended opacity in the ResolvedPattern / (*)
  cf13c32... FilterContext.background_image does not need to be public (*)
  c75aeb5... FilterContext: compute the StrokePaint / FillPaint inputs o (*)
  5cd162c... Merge branch 'paint-source-refactor' into 'master' (*)
  5754a55... Split the render method for filter primitives into its own  (*)
  5bf020e... Use the primitive_units from the FilterContext; no need to  (*)
  9741272... Remove the `parent` argument from Primitive::get_bounds (*)
  314d90d... Document::load_from_bytes - Moved from css.rs, as a general (*)
  1d11da9... feMerge - extract the list of inputs to merge before doing  (*)
  b0c8488... Use _node for the unused arguments in filter render functio (*)
  9de48be... feComponentTransfer: clone the table_values instead of keep (*)
  e639e24... Remove unnecessary lifetime (*)
  f0b5b65... feComponentTransfer - extract the functions to use before d (*)
  9bb9a4a... feComponentTranster - Avoid temporary values while getting  (*)
  1f92504... feComponentTransfer - Add tests for extracting the four fun (*)
  34bd587... Remove unnecessary lifetime (*)
  88cfbf7... fe*Lighting - Separate steps for extracting the light sourc (*)
  5339f5d... fe*Lighting - Add tests for extracting the light source (*)
  429b752... Merge branch 'filter-parameters' into 'master' (*)
  a2d3294... rsvg-convert: set the SVG surface to be in pixel (user) uni (*)
  a734d7e... Cargo update - update vulnerable smallvec and generic-array (*)
  0727c41... Remove unnecessary type parameters in Primitive::new and Pr (*)
  16b5380... filters - rename "in_" inputs to "in1" (*)
  87f3c60... filters - replace Option<Input> with an Input::Unspecified  (*)
  b4bd33b... Replace PrimitiveWithInput with some extra methods in Primi (*)
  99afdce... Pass the color_interpolation_filters directly to FilterCont (*)
  80e3476... Remove unused method FilterEffect::is_affected_by_color_int (*)
  698148b... Remove unneeded &mut (*)
  ae501ac... Merge branch 'simplify-filter-inputs' into 'master' (*)
  509a512... LightSource doesn't need to be public (*)
  3cee484... Remove obsolete comment; there is no Lighting trait anymore (*)
  8dd0751... New enum PrimitiveParams, with the resolved parameters for  (*)
  9354e84... New trait method FilterEffect::resolve() -> Result<Primitiv (*)
  3dd1911... Resolve filter primitives, then use static dispatch to rend (*)
  3fbf45e... feBlend - resolve and render separately (*)
  aebc211... feColorMatrix - resolve and render separately (*)
  23d2edd... feComponentTransfer - resolve and render separately (*)
  8810123... feComposite - resolve and render separately (*)
  96d8c0c... feConvolveMatrix - resolve and render separately (*)
  67063f0... feDisplacementMap - resolve and render separately (*)
  43499a1... feFlood - resolve and render separately (*)
  a2a5379... feGaussianBlur - resolve and render separately (*)
  349bde2... feImage - resolve and render separately (*)
  314dd1b... fe*Lighting - resolve and render separately (*)
  45f9056... feMerge - resolve and render separately (*)
  51312d9... feMorphology - resolve and render separately (*)
  1941661... feOffset - resolve and render separately (*)
  ae0888c... feTile - resolve and render separately (*)
  cdea662... feTurbulence - resolve and render separately (*)
  8087115... Make render_primitive() pretty again (*)
  e4d71f1... Appease clippy by removing clone() for Copy types (*)
  ca7d359... Merge branch 'resolve-and-render-filters' into 'master' (*)
  a82d54a... filters::render() - Resolve the StrokePaint/FillPaint here, (*)
  c3cee1f... Rename function (*)
  f2d1975... filters: resolve() now returns the resolved Primitive as we (*)
  006dd1a... New method to resolve Primitive early (*)
  2d3ecf0... Derive Default for Primitive (*)
  33c4213... feBlend: shorten code by implementing Default and Clone for (*)
  3e3524d... feColorMatrix: shorten code by implementing Default and Clo (*)
  601b54f... feComponentTransfer: shorten code by implementing Default a (*)
  5776d02... feComposite: shorten code by implementing Default and Clone (*)
  c2073a4... feConvolveMatrix: shorten code by implementing Default and  (*)
  8ac3371... feDisplacementMap: shorten code by implementing Default and (*)
  0b94be2... feFlood: shorten code by implementing Default for it (*)
  b417184... feGaussianBlur: shorten code by implementing Default and Cl (*)
  8246189... feImage: shorten code by implementing Default and Clone for (*)
  f403630... feMorphology: shorten code by implementing Default and Clon (*)
  bd5eded... feOffset: shorten code by implementing Default and Clone fo (*)
  49df423... feTile: shorten code by implementing Default and Clone for  (*)
  63a162f... feTurbulence: shorten code by implementing Default and Clon (*)
  0503a70... fe*Lighting: shorten code by implementing Default and Clone (*)
  9355c50... Merge branch 'shorten-primitives' into 'master' (*)
  ced9344... Clarify docs for acquire_data and acquire_stream (*)
  6ace08a... Use data_url::mime::Mime instead of a String in BinaryData. (*)
  f9e489d... Extract function to munge a MIME type for gdk-pixbuf (*)
  865945c... (#699) - Add tests for MIME type conversions for gdk-pixbuf (*)
  6b79923... Merge branch '699-mime-type-parameters' into 'master' (*)
  098aab7... Remove pangoft2 depdency from C test code (*)
  186f318... Move the test for #347 to Rust (*)
  0c8e88e... Merge branch 'remove-pangoft2-dependency' into 'master' (*)
  aa5116a... Remove checks for pangoft2 and fontconfig from configure.ac (*)
  6268aaa... Express system dependencies using the system_deps crate (*)
  af8a175... Merge branch 'system_deps' into 'master' (*)
  1e2fd57... Also remove tests/build.rs from Makefile.am (*)
  7aa737c... Merge branch 'system_deps-fixup-distcheck' into 'master' (*)
  e840e2e... Add a "cargo update" step to RELEASING.md (*)
  893200f... Note about cargo-audit in RELEASING.md (*)
  3f9268c... RELEASING.md - section that explains the Rust dependencies (*)
  97cd4f9... RELEASING.md - Note about the Minimum Supported Rust Versio (*)
  1d3061d... Merge branch 'update-releasing' into 'master' (*)
  5db0a51... filters: use enum_default macro for Input (*)
  eb87658... c_api: function to convert bool gerrors (*)
  3f9cbce... c_api: turn into_bool_gerror into a trait so we can do resu (*)
  2be2335... Missed a few conversions (*)
  ffaeb8b... Don't return an empty result in check_cairo_context (*)
  e022199... c_api: check the cairo status by hand in preparation for th (*)
  6eed1d3... Update gtk-rs dependencies (*)
  28b0b28... initial port to gtk-rs 0.9 (*)
  94af19e... Convert the gflags to glib-rs's new macros (*)
  ec1c0db... Convert RSVG_ERROR_FAILED to the new genum proc-macro (*)
  898e6b7... Remove unnecessary mutable references, per clippy (*)
  ce49ed8... DrawingCtx.set_color never fails; don't return Result (*)
  3507762... DrawingCtx::set_gradient can't fail, so don't return a Resu (*)
  e07c8a5... cargo fmt (*)
  13cb3f5... Merge branch 'update-gtk-rs' (*)
  53de7ba... Fix or suppress clippy warnings (*)
  e1784e7... Merge branch 'clippy-warnings' into 'master' (*)
  ea0c5b1... (#261): Parse the complete enable-background property (*)
  5122637... parse_one_presentation_attribute() never fails; don't retur (*)
  b77e17f... Merge branch 'clippy-paint-server' into 'master' (*)
  36aca7d... rsvg-convert - upcast all streams to InputStream / OutputSt (*)
  075a026... (#676): rsvg-convert - use gio's stdin/stdout streams for w (*)
  677cdc0... Merge branch 'win32-streams' into 'master' (*)
  645b85f... (#703): Ignore elements in an error state inside the <switc (*)
  28755b3... Merge branch 'switch-children-in-error' into 'master' (*)
  f786636... Declare externs for g_win32_*_stream_new() manually (*)
  63fc30e... Merge branch 'win32-streams-declarations' into 'master' (*)
  d4b92f5... (#628): Add source based coverage (*)
  c2cb798... Merge branch '628' into 'master' (*)
  44f36dc... Run coverage with no fail fast (*)
  bad1860... Merge branch 'coverage' into 'master' (*)
  a5570f4... Include cmdline tests in the 'Unit test' step (*)
  73d75fd... Merge branch 'run-cmdline-tests' into 'master' (*)
  8a20ab2... Start updating ARCHITECTURE.md (*)
  ccf7266... Start documentation on the parsing architecture (*)
  df0c865... Finish the parsing section, more or less (*)
  3dc8bf4... Start updating the rendering section (*)
  4c02321... Remove some obsolete docs; finish up ARCHITECTURE.md for no (*)
  d5d2ddf... Tweaks to the history section (*)
  34b9ce1... Move the toplevel of the internals documentation to ARCHITE (*)
  f7ec86e... Move the toplevel public API docs to lib.rs (*)
  56fc36a... Merge branch 'update-docs' into 'master' (*)
  2f77cbe... (#705): Fix coverage job (*)
  8ed16a3... Merge branch 'coverage' into 'master' (*)
  9ae570c... FilterContext: validate the transforms at creation time (*)
  aeac62f... ResolvedPrimitive: now we can assume that the ctx's transfo (*)
  04a7a1d... ResolvedPrimitive - length values are now in user space coo (*)
  c8325c9... (#695): feImage cascading mode should be the same as for th (*)
  f4d3b27... FilterContext: remove get_computed_values_from_node_being_f (*)
  83f2c5d... Filter: rename a couple of fields (*)
  4487bc2... Normalize the Filter element into a ResolvedFilter as early (*)
  e3c054a... Remove unused arguments (*)
  e72ac06... ResolvedPrimitive.get_bounds() doesn't need to return a Res (*)
  8e436dd... Don't make filter primitives responsible for shipping aroun (*)
  e233d44... Primitives now take a BoundsBuilder in their render(), not  (*)
  8e2cf0a... BoundsBuilder - return a new Bounds value instead of (clipp (*)
  db427bf... Merge.render() - make its arguments uniform with the rest o (*)
  b142668... Remove superfluous clone (*)
  3122f30... Merge branch 'resolved-primitive' into 'master' (*)
  cb34279... Create the StrokePaint / FillPaint outside of the filters c (*)
  0a00839... Fix which computed values are used to resolve lengths in th (*)
  c82e9ed... Do not constrain units for x/y/width/height in filters base (*)
  9493117... Primitive.resolve does not need to return a Result anymore (*)
  08091cd... Merge branch 'filter-computed-values' into 'master' (*)
  3e7ab8f... rsvg-convert: fix missing imports for win32 (*)
  a5c6a7b... add missing ; and confirm successful compilation on windows (*)
  c33fadb... cargo fmt (*)
  d117e17... Allow "NonTSPseudoClass" for clippy - this is what the sele (*)
  aad1ab5... Allow FontSize::XXSmall and the other "XX" variants for cli (*)
  4459c42... Rename DifferentUriSchemes variant per clippy (*)
  a87530c... Rename IRI -> Iri per clippy (*)
  3970913... Allow capitalized acronyms for the libxml2 binding (*)
  4e50005... Allow names like CairoARGB (*)
  84df74e... Remove unknown_clippy_lints (*)
  197907c... Remove superfluous ? operators, per clippy (*)
  0d47e3c... Use vec! instead of a single vec.push (*)
  35c1783... Merge branch 'win32-compilation' into 'master' (*)
  4329157... (#698): Put limit on feMorphology radii to prevent thread h (*)
  cf22a48... Merge branch 'master' into 'master' (*)
  2c5bf54... Bump version to 2.51.1 (*)
  e0abeb5... cargo update (*)
  f908128... Update NEWS (*)
  e9431c8... Merge branch 'prepare-release' into 'master' (*)
  e5e77b9... Bump 'cast' dependency to ensure 32-bit ARM support (*)
  3a5e3c5... Merge branch 'bump-cast-arm32' into 'master' (*)
  d193b20... Rename ResolvedPrimitive to UserSpacePrimitive (*)
  bccf11e... Rename ResolvedFilter to UserSpaceFilter (*)
  0ae550e... Move the code that gathers the filter primitive nodes (*)
  3c83a59... Rename variable (*)
  e1a1b30... Compute a primitive's human-readable name early (*)
  fecb7e2... Only print a primtive's elapsed time if it succeeds (*)
  8fed917... For diagnostics, get a primitive's name from a new function (*)
  2ae1451... Pass the primitive_units to Primitive.to_user_space(), not  (*)
  e47da46... Rename variable (*)
  0090999... filters::render - Collect the user space primitives early (*)
  909ecbf... FilterEffect::resolve - return a ResolvedPrimitive instead  (*)
  17f4725... Carry the PrimitiveParams inside UserSpacePrimitive (*)
  acac445... Check for the filter node being in error in the caller of f (*)
  11e4cf5... Extract function to gather the user space filter and primit (*)
  ba63d98... Rename function, per clippy (*)
  948c37b... Replace and_then with map, per clippy (*)
  5d80023... Merge branch 'filter-refactor' into 'master' (*)
  a24f1da... SECURITY.md - add a list of releases with security fixes (*)
  2524b35... Merge branch 'security' into 'master' (*)
  0d71549... Add cairo-gobject-devel to Fedora dependencies Fresh instal (*)
  e273ab9... (#691) Replace NumberList::Unbounded with NumberList::MaxLe (*)
  7c59374... Remove support for NumberList::Unbounded (*)
  98b09a0... Implement tests for NumberList::MaxLength (*)
  2709d47... Merge branch 'master' into 'master' (*)
  bfd765e... Update language-tags (*)
  4468488... Update nalgebra (*)
  22731e4... Update tinyvec, deduplicating it (*)
  42c6863... Merge branch 'deps-again' into 'master' (*)
  5745137... filters::render() - handle errors in a single place (*)
  b0a42dd... Pass the surface to filter to DrawingCtx::run_filters (*)
  309a29d... Do not consume the stroke_paint / fill_paint in filters::re (*)
  c97bac2... Compute the stroke_paint / fill_paint only once for each ru (*)
  4925b49... Split out FilterError into a FilterResolveError (*)
  5f4287a... Have FilterValue resolve itself to a FilterSpec (*)
  17e54e7... Pass AcquiredNodes to FilterEffect::resolve() (*)
  098d3e8... feImage: detect circular references now that primitives are (*)
  cb4a06a... Merge branch 'filter-more-refactor' into 'master' (*)
  993efd7... Add test about ignoring filter chains with unresolvable URI (*)
  e20cc8a... Add test for invalid references to non-filter elements (*)
  aae68b8... Remove FilterValueList.is_applicable (*)
  c7cd4e5... Start sketching the FilterFunction type for shorthand filte (*)
  d40e3b9... Parse the blur() filter function (*)
  1a80753... ResolvedPrimitive.into_user_space - take the ViewParams, no (*)
  06951ed... Translate the blur() filter function into filter primitives (*)
  4e61fc7... Appease Clippy about unnecessary Result (*)
  870684a... FilterFunction::parse - make it more obvious how to add new (*)
  db12b75... Merge branch 'filter-function' into 'master' (*)
  73567dc... (#718): Negative rx/ry in rect element should be ignored (*)
  1f09770... Merge branch 'rect-rx-ry' into 'master' (*)
  cd64991... Update MSRV to Rust 1.51 - nalgebra 0.26 requires it (*)
  964342c... Merge branch 'update-msrv-1.51' into 'master' (*)
  3b4bb24... parser: use const generics for NumberList (*)
  4b48319... parsers: implement Parse for NumberList (*)
  7ff6250... Merge branch 'const' into 'master' (*)
  4470034... Reference-count the DrawingCtx.cr_stack (*)
  e3bb911... DrawingCtx.nested() - replaces push_cairo_context / pop_cai (*)
  5ff7a1d... ImageSurface.draw() - let the callback consume the cr (*)
  04d71a3... Remove one use of with_cairo_context (*)
  37b1f98... Remove last use of with_cairo_context (*)
  a010b00... cargo fmt (*)
  8aa7f40... Docs for nested() (*)
  9d1bba5... Merge branch 'nested-drawing-ctx' into 'master' (*)
  b34968c... Don't push superfluous coordinate systems in ResolvedPatter (*)
  cef5348... length::NormalizeParams - new struct to hold the values for (*)
  e68ac6a... Length.to_user() - new function; take a NormalizeParams (*)
  ad95bf9... Filter::to_user_space - take a NormalizeParams (*)
  d5a2dd2... ResolvedPrimitive.into_user_space - take a NormalizeParams (*)
  59d04ad... Blur.to_filter_spec - take a NormalizeParams (*)
  99fb123... setup_cr_for_stroke - use NormalizeParams (*)
  f750ec7... Update doc comment (*)
  787df34... compute_stroke_and_fill_box - use NormalizeParams (*)
  5da7bda... text.rs - First pass at using NormalizeParams (*)
  df6a9cf... FontSize::to_user - renamed from normalize; use NormalizePa (*)
  754234b... LetterSpacing::to_user - renamed from normalize; use Normal (*)
  81d1d49... (#687) - text.rs - Don't clone the ComputedValues during te (*)
  f9f66de... LineHeight.to_user - rename from normalize; use NormalizePa (*)
  dd6e083... image.rs: use NormalizeParams (*)
  e50563a... pattern.rs: use NormalizeParams (*)
  8f3147e... gradient.rs: use NormalizeParams (*)
  5e9c20e... marker.rs: use NormalizeParams (*)
  8e39fa3... handle.rs: use NormalizeParams (*)
  6dc4ad4... Svg: use NormalizeParams (*)
  bb9400f... Use - use NormalizeParams (*)
  0c86f06... draw_from_use_node - take a ComputedValues, not CascadedVal (*)
  73e7f08... draw_from_use_node - Compute the use_rect in the caller (*)
  7b01fc5... Mask.get_rect: use NormalizeParams (*)
  3f2aae4... shapes.rs: use NormalizeParams (*)
  3786dcc... Finally remove Length.normalize - only to_user() is used no (*)
  5c1454a... Merge branch 'rename-normalize' into 'master' (*)
  b5065a5... with_saved_transform: don't take an Option<Transform>; it i (*)
  b980d3b... Fix misleading comment (*)
  675f7d3... DrawingCtx.with_alpha - no need to be public (*)
  eb46847... with_discrete_layer: take an extra arg with a user-space cl (*)
  075179f... Remove DrawingCtx::with_saved_transform(); pass the transfo (*)
  e5cd4c3... DrawingCtx::draw_from_use_node: don't frob the cr's transfo (*)
  ad7b9bf... New StackingContext struct (*)
  cad4d15... StackingContext: store the opacity here (*)
  63a9113... StackingContext: store the filter property (*)
  ef82864... StackingContext: store the mask (*)
  ec80267... Store the element_name in StackingContext (*)
  6bc3361... acquire_ref the mask node so it doesn't allow cycles (*)
  8a150aa... Merge branch 'stacking-context' into 'master' (*)
  13d6409... Implement Parse for NumberOrPercentage (*)
  28d9eee... Implement Sepia filter (*)
  fa066c6... Merge branch 'sepia-filter' into 'master' (*)
  6c37a0a... Implement opacity filter function (*)
  638d5a9... Implement saturate filter function (*)
  60ec5b6... Add `test_compare_render_output!` macro for filter ref test (*)
  41ce499... Merge branch 'more-filters' into 'master' (*)
  e9c2133... (#704): Circle/ellipse made out of a single Arc command doe (*)
  6bbe6c1... Merge branch 'single-arc-command' into 'master' (*)
  962727c... Remove ChangeLog.old from the source tree (*)
  58721b2... SECURITY.md - add missing newlines between paragraphs (*)
  b9650f2... SECURITY.md - Include details on dependencies and how SVG i (*)
  0e132c6... Clarify use of libcroco in older versions (*)
  010a9a4... Appease clippy by handling all the cases of BufReader.lines (*)
  0b40231... Clippy - order of struct fields (*)
  8d13da3... Merge branch 'security-docs' into 'master' (*)
  f50436f... Evaluate conditional processing attributes at rendering tim (*)
  801945a... Convert the locale to a list of language tags before matchi (*)
  93a4909... Convert the locale to LanguageTags only once (*)
  0e7b35f... Convert the systemLanguage attribute to LanguageTags, then  (*)
  56f3218... Store LanguageTags inside SystemLanguage and really evaluat (*)
  8882342... Start sketching out an Accept-Language parser (*)
  9b8db13... Finish parser for AcceptLanguage (*)
  b9158d5... AcceptLanguage - add an iter() method (*)
  b5d484d... Rename AcceptLanguageError (*)
  22bfd70... Add iter() method to LanguageTags (*)
  0ad432c... Add LanguagetTags::from() to construct it from a vector (*)
  722968a... Move LanguageTags to the accept_language module (*)
  7459bc1... Use a new Language / UserLanguage enum instead of LanguageT (*)
  71d2c1c... New API CairoRenderer::with_language (*)
  bb1bdb6... When a test reference file doesn't exist, panic with a bett (*)
  41edfce... impl Error for AcceptLanguageError (*)
  d1658a7... (#356): Add --accept-language option to rsvg-convert (*)
  a41f89d... Add --accept-language to rsvg-convert's man page (*)
  7a5f6e1... Add additional reference URLs to the man page (*)
  62c7db5... Remove "xml" and "recording" from the --format option in th (*)
  e830247... Clippy - is_empty() instead of len() == 0 (*)
  2567c6d... Clippy - coalesce ifs with same bodies (*)
  5f2530a... Merge branch 'accept-language' into 'master' (*)
  077f21b... Bump pango requirement to 1.44 (*)
  248d3ac... (#730): Incorrect text spacing when the transform is not 1: (*)
  87a0177... Regenerate all the test files that contain text (*)
  c960347... Merge branch 'text-spacing' into 'master' (*)
  bab1596... Implement grayscale filter function (*)
  ed210a2... Replace duplicated num-or-percentage parse functions with h (*)
  637221b... Implement `invert` filter function (*)
  76c1e5e... Implement `brightness()` filter function. (*)
  59dfc6f... Implement `contrast()` filter function. (*)
  cb67d21... Minor cleanup: use .ok() instead of if-let (*)
  d4650c6... Use 'green' rather than 'lime' for the brightness and contr (*)
  4e1ef2a... Whitespace fixups (*)
  1c74312... Merge branch 'johnl/librsvg-even-more-filters' (*)
  33dd0ed... Generate two sets of Rust docs, one the public API and one  (*)
  dc90534... Update links to the internals documentation (*)
  cc7391a... Merge branch 'split-docs' into 'master' (*)
  3a4eee2... Bump version to 2.51.2 (*)
  3096647... Update NEWS (*)
  4d86524... Merge branch 'prepare-release' into 'master' (*)
  70bf1d6... Oops, create a directory before copying the docs artifacts (*)
  23c67df... Implement drop-shadow filter (*)
  d2d35f7... DropShadow filter: allow parameters in arbitrary order (*)
  01ffc2d... Merge branch 'drop-shadow-filter' into 'master' (*)
  1bb4bf1... Move conversions to/from cairo::Matrix to drawing_ctx.rs (*)
  838f52b... Rename field (*)
  5307f01... Add an iterator for a subpath's commands (*)
  6aceaec... Add test for zero-length subpaths (*)
  207ec6d... Move the Path.to_cairo() machinery to drawing_ctx.rs (*)
  e8e1443... Document the rest of path_builder.rs (*)
  762ca64... shared_surface::Operator - new enum, to replace cairo::Oper (*)
  c04e08d... ImageSurface::compose - take our own Operator, not cairo::O (*)
  44bea11... Merge branch 'cairo-only-in-drawing-ctx' into 'master' (*)
  5053cbc... Toplevel docs for the c_api module (*)
  849772e... Fix toplevel docs for c_api/handle (*)
  a2f7c93... Document c_api/messages (*)
  a8d9714... Document c_api/sizing (*)
  9870e9b... Some more docs for c_api/handle (*)
  f65b83e... Toplevel docs for the filter_func module (*)
  5a591ef... Document the data flow in paint_server (*)
  5ba3b9e... Update COMPILING.md now that autotools is not as prominent (*)
  22aba35... Merge branch 'internals-docs' into 'master' (*)
  31adcce... (#741) Switch Rust nightly to Debian testing (*)
  f8ab9a1... Merge branch 'fix_pango' into 'master' (*)
  08c7d6a... (#744): Minimum Supported Rust Version is now 1.52 (*)
  477e0d5... Merge branch 'rust-1.52' into 'master' (*)
  83e731b... implement hue-rotate filter (*)
  133a8a8... Merge branch 'hue-rotate' into 'master' (*)
  67002e6... draw_text: extract the clipping code path to its own little (*)
  d51a04f... draw_text: make the stroke code path similar to the fill co (*)
  48cea17... Inline the call to draw_children() inside clip_to_node() (*)
  eb974cc... When clipping, only accept elements that can go inside a cl (*)
  e08ad08... Restrict elements that can be reference from Use inside a c (*)
  0064690... (#566): Restrict elements accepted inside a clipPath (*)
  86a3a49... Use matches! instead of match (*)
  8dfa5c6... Merge branch 'cleanup-clipping' into 'master' (*)
  651b98c... Stroke - new struct for a stroke parameter's in user-space  (*)
  4641ca2... Pass the Stroke to setup_cr_for_stroke (*)
  e411599... Put the clip-path in StackingContext (*)
  88732ae... Put the mix-blend-mode in StackingContext (*)
  91ac0fe... Pass the resolved currentColor down to to_filter_spec() (*)
  8af4c3a... Compute the currentColor only once for filters (*)
  ed7d919... Create the paint sources before running the filters (*)
  552a34a... Pass the NormalizeParams for filter functions directly from (*)
  7c458b0... Pass the NormalizeParams to run_filters() (*)
  5333a7a... with_discrete_layer: don't leave the user_space_params coor (*)
  d507eb9... Add a non-pushing version of push_coord_units (*)
  7aace4d... draw_shape: keep the Stroke around (*)
  52520d6... compute_stroke_and_fill_box: take the stroke parameters ins (*)
  b9fbfe0... PaintServer.resolve - recover from MaxReferencesExceeded to (*)
  b52c695... PaintServer.resolve() is infallible now (*)
  0066fc1... ViewParams::with_units - Allow creating a ViewParams from a (*)
  f1965ae... PaintSource::to_user_space - take a ViewParams, not the who (*)
  9fa029b... draw_shape: compute the bbox as early as possible (*)
  cf3d5aa... DrawingCtx::stroke/fill - take a UserSpacePaintSource inste (*)
  39977c1... draw_shape: simplify code flow by testing visibility outsid (*)
  0b2c6c9... shapes: create a temporary structure ShapeDef (*)
  11db795... Shape now contains its Stroke (*)
  23ff9f0... Shape now contains its resolved stroke_paint and fill_paint (*)
  2ad9bfa... Shape now has its ShapeRendering (*)
  680e0f9... Shape now has its FillRule and ClipRule (*)
  6cd3fb6... Shape now has its PaintOrder (*)
  afe4948... Shape now has its visibility (*)
  b68fd53... Pass the StackingContext to draw_shape; don't create it the (*)
  aac4d8f... Comments on next steps, with "TODO" in them (*)
  ab4e454... More TODOs (*)
  8e3117f... Merge branch 'resolve-values-early' into 'master' (*)
  a55259a... render_markers_for_shape - renamed from _for_path, and pass (*)
  8c40797... render_markers_for_shape: resolve the marker nodes here, no (*)
  2089108... Shape now has its markers (*)
  5ab0f9f... Move Shape to layout.rs (*)
  a8e2092... layout::Image - new; move the image rendering parameters he (*)
  4ccdcd9... Image: put the is_visible flag here (*)
  b571c28... Remove obsolete comment (*)
  cba52dd... layout::TextSpan - put a PositionedSpan's parameters here (*)
  9b0bd88... Don't use a special case to indicate that XmlLang is not sp (*)
  36dcbd0... layout::FontProperties - extract the font-related propertie (*)
  d8894ce... Remove superfluous return value (*)
  f6dc3a8... Merge branch 'more-layout' into 'master' (*)
  ffa8982... SavedCr: use the plain cairo::Context, not the whole Drawin (*)
  d2aec3d... (#746) - Possible cairo_save() without cairo_restore() in r (*)
  cdd237f... Merge branch 'balance-cairo-save-restore' into 'master' (*)
  a106542... librsvg.doap: make marge-bot a maintainer (*)
  8af71f6... Merge branch 'marge-bot-maintainer' into 'master' (*)
  eded062... Update tests/README.md now that "make check" is not the mai (*)
  51a56b0... Merge branch 'tests-readme' into 'master' (*)
  d0d15aa... Use just properties::Foo everywhere, instead of scattering  (*)
  8813da5... Have PathBuilder::parse instead of path_parser::parse_path_ (*)
  8e387c8... Fix the surface_from_pixbuf benchmark (*)
  96e6e5a... CI: run "cargo check --all-targets" to catch breakage in th (*)
  7e9d137... Merge branch 'minor-cleanups' into 'master' (*)
  5e45417... (#677) - Do not clip the rightmost/bottomost pixels of an i (*)
  34fed1e... Merge branch 'pixel-size' into 'master' (*)
  2f3c651... Don't pass ComputedValues to the make_property macro (*)
  f4de070... Allow documentation for the types generated by the make_pro (*)
  b553209... Update docs for all the CSS properties (*)
  a330f98... Merge branch 'document-all-properties' into 'master' (*)
  e9db53c... Use the smcp (small caps) OpenType feature for fonts that s (*)
  572a7d6... Merge branch 'small-caps' into 'master' (*)
  60da580... rsvg-convert.1: Put a few examples in synopsis (*)
  fad9a80... rsvg-convert.1: Fix the default DPI value (*)
  cfebe38... rsvg-convert.1: Make OPTIONS a toplevel section (*)
  872080e... rsvg-convert.1: Document the sizing behavior (*)
  4fc26f8... rsvg-convert.1: Example on background color (*)
  2d17d62... rsvg-convert.1: Section for multi-language SVGs (*)
  3f55f5d... rsvg-convert.1: Give an example of a user stylesheet (*)
  dced738... PdfPredicate::with_page_size - Don't take a DPI value (*)
  0aaa2db... Comment on what a PDF dimensions mean (*)
  c930b29... For tests, handle PDF dimensions in floats (*)
  6394139... Compare and print test dimensions in points, not millimeter (*)
  28dcc72... NormalizeParams::from_dpi - little hack for rsvg-convert (*)
  222ae0a... rsvg-convert: parse the --width and --height arguments as a (*)
  d07c43c... Extract function to get the natural geometry of a document (*)
  ba635fb... Add a Length.to_points function (*)
  71fe0a0... Get ready to translate the requested width/height to someth (*)
  d6be3f4... Compute the requested size in pixels or points, depending o (*)
  c4769b6... Convert sizes to the units required by the target format (*)
  1bd9771... Add tests for specifying the width/height of a PDF (*)
  073c539... rsvg-convert.1: Give examples of CSS lengths for --width an (*)
  fb49aeb... rsvg-convert: clarify the types of values in the help summa (*)
  8e437d0... rsvg-convert: New --page-width and --page-height options (*)
  2cc52d3... Test that both --page-width and --page-height are specified (*)
  262b49a... rsvg-convert.1: document the new options, and general overh (*)
  5f4c984... rsvg-convert.1: Split the options in subsections based on t (*)
  0587c76... rsvg-convert.1: Note on the environment variables used for  (*)
  3fd2739... rsvg-convert: Add a test for rendering a PNG with a page si (*)
  db17991... parse_length: don't just parse ULength (*)
  03a388a... rsvg-convert: add --top and --left options for the image of (*)
  6b70470... rsvg-convert.1: Document --top and --left (*)
  6f6d555... rsvg-convert.1: Oops, add --top and --left to the list of a (*)
  217f3eb... rsvg-convert.1: Document how --width and --height limit the (*)
  89547ad... rsvg-convert.1: Remove redundant section (*)
  105d92d... Oh, clippy, never change. (*)
  5df1c08... Merge branch 'rsvg-convert-units' into 'master' (*)
  6f984e8... (#484) implement basic auto-start-reverse functionality (*)
  f444b58... Move test_compare_render_output macro to reference_utils.rs (*)
  df6339a... Implement reference test for AutoStartReverse (*)
  aae49bb... Merge branch 'auto-start-reverse' into 'master' (*)
  c5ca858... Update NEWS (*)
  bcc712a... Bump version to 2.51.3 (*)
  4117bd6... Update to nalgebra 0.27.1 (*)
  4f45f2c... CONTRIBUTING.md: no need to recommend rust nightly anymore (*)
  f387266... Merge branch 'prepare-release' into 'master' (*)
  bfa616d... lib.rs: links to doc items by name (*)
  51828c7... property_macros.rs: links to doc items by name (*)
  72b7063... aspect_ratio.rs: links to doc items by name (*)
  2288215... c_api/handle.rs: links to doc items by name (*)
  7ee84f2... c_api/mod.rs: links to doc items by name (*)
  75db58b... c_api/sizing.rs: links to doc items by name (*)
  3ab98a4... element.rs: links to doc items by name (*)
  ca5cbb0... src/filter_func.rs: links to doc items by name (*)
  d644d08... href.rs: links to doc items by name (*)
  124c350... length.rs: links to doc items by name (*)
  26b2798... node.rs: links to doc items by name (*)
  dd8b263... paint_server.rs: links to doc items by name (*)
  5acd705... path_builder.rs: links to doc items by name (*)
  22238c1... properties.rs: links to doc items by name (*)
  d2f1c9d... property_defs.rs: links to doc items by name (*)
  7bed6c5... viewbox.rs: links to doc items by name (*)
  d280980... Merge branch 'doc-links-by-name' into 'master' (*)
  b17b497... Update gtk-rs crates to 0.14.0 (*)
  dd24360... use re-exported ffi (*)
  cb1ad20... use prelude for traits (*)
  b828ce9... update per subclassing changes (*)
  222f4be... drop get_ prefix from glib APIs getters (*)
  1523f40... glib::get_language_names -> glib::language_names (*)
  4e69d29... ToGlib was renamed to IntoGlib (*)
  bed7e1b... add cairo::Error to RenderingError (*)
  d5cb330... constructors are no longer prefixed with new_ (*)
  02aab1c... update per cairo changes (*)
  4e0fb67... rsvg-convert: use the new win32 io streams APIs (*)
  953d81f... c-api: update per subclassing changes (*)
  72b67ae... update per cairo/gio api changes (*)
  1d67944... tests/examples: update per api changes (*)
  4cd2665... benches: update per api changes (*)
  fa69023... c-api: import ffi types instead of using full path (*)
  6c22954... Unwrap the Cairo calls in the tests (*)
  6b436ea... ImageSurface::set_as_source_surface - return errors from cr (*)
  b0e4f3f... SavedCr::new - return the error from cr.save (*)
  e9fce2a... Handle two easy error cases from paint / paint_with_alpha (*)
  1079040... Return errors from set_gradient (*)
  a145e56... Handle cairo errors in draw_text_span (*)
  137fdff... Handle cairo errors in paint_surface (*)
  92a9847... Handle cairo errors from fill() and stroke() (*)
  68044cf... ImageSurface::draw is now generic on the error type (*)
  68c435b... Handle cairo errors when creating a mask (*)
  d4dc7f0... Ignore cairo errors when SavedCr is dropped (*)
  3ab3252... C API test for the sizes of structs and GType information (*)
  0120625... Fix return value (*)
  4ceefaf... Merge branch 'bilelmoussaoui/bump-to-future-gtk-rs' into 'm (*)
  df0558d... Fix a mut self that was explicitly typed (*)
  3035e42... New test for drawing to a non-image surface in the Rust tes (*)
  e8f8d15... (#758): Panic when rendering with masks or opacity to a non (*)
  2c87078... Merge branch 'non-image-surface-without-filters' into 'mast (*)
  66c0a47... (#757): Hack (?) to fix type inference on 32-bit builds (*)
  c715ced... Merge branch 'explicit-zero-type' into 'master' (*)
  bfdeb17... RELEASING.md - Instructions for making gitlab releases (*)
  dc34dfb... Merge branch 'release-instructions' into 'master' (*)
  1c11258... (#618) Implement context-fill and context-stroke (*)
  063d3bc... Add test for context-stroke in markers (*)
  f5e3e2a... Merge branch 'context-fill-stroke' into 'master' (*)
  7f67523... Add tools dir with Docker test scripts This allows someone  (*)
  9c34f72... Merge branch 'madds-docker-tests' into 'master' (*)
  bd34938... (#760) Resolve both context_fill and context_stroke Also im (*)
  25b96ac... Merge branch 'context-fill-stroke-tests' into 'master' (*)
  2df1d96... (#759) - Replace SavedCr again - use a with_saved_cr() func (*)
  1def7a8... Merge branch 'with-saved-cr' into 'master' (*)
  bcec7f2... (#727) Implement paint-order for text (*)
  7b78088... Rename test (*)
  6637aaf... draw_text_span: do the transforms the same way for each of  (*)
  3381ef0... Add test for paint-order for text elements (*)
  4d6d8f0... Merge branch 'madds-text-paint-order' into 'master' (*)
  d8f3bc2... (#747) Add "auto" for image element width/height (*)
  ed61932... Merge branch 'madds-image-auto-length' into 'master' (*)
  90a8f2e... rsvg-convert: test that unsupported units yield the correct (*)
  4aef73d... rsvg-convert: Test error message for invalid lengths (*)
  4a111b6... rsvg-convert: Test that the export-id option indeed accepts (*)
  a4c4824... rsvg-convert: Test that invalid language tags yield an erro (*)
  e1d8d5a... Iri does not need to implement Default (*)
  8c28136... Test when an image element has no href attribute (*)
  4af5940... rsvg-convert: Tests for invalid zoom factors (*)
  fc0dcc9... Merge branch 'test-coverage' into 'master' (*)
  0370d84... rsvg-convert.rs: Fix building on Windows (*)
  edb728d... Cargo.toml: Make some more packages optional on Windows (*)
  869fbf5... win32: Bring back the librsvg.symbols (*)
  f0b53a2... NMake Makefiles: Fix and revamp (*)
  f7d39d4... win32: Update README.txt (*)
  169ab91... Merge branch 'master.msvc' into 'master' (*)
  7a063a9... Update NEWS (*)
  0347445... Bump version to 2.51.4 (*)
  d39ceb8... Update to predicates 2.0.0 to dedup (*)
  1dcee5b... Merge branch 'prepare-release' into 'master' (*)
  c46eb55... Don't derive Copy for FontSize/LetterSpacing/LineHeight (*)
  9f30e9f... Don't derive Copy for some of the structs for path commands (*)
  f3bd54c... path_parser: Remove unused is_initial_moveto argument. (*)
  de12b10... Rect::make_shape - dedup function call (*)
  0343e69... Merge branch 'appease-clippy' into 'master' (*)
  6ab5f9b... (#763) Add auto width/height for rect element (*)
  44292c1... Merge branch 'madds-rect-auto-length' into 'master' (*)
  df9c9af... (#768): fix missing vapigen dependency for gdk-pixbuf (*)
  104fb59... Merge branch 'vapi-deps' into 'master' (*)
  0292db8... (#762) Support auto width/height for svg element (*)
  359544c... Merge branch 'madds-svg-auto-length' into 'master' (*)
  9eccd1c... (#767): Add test for generating links in PDF output (*)
  394fbb4... Merge branch 'test-pdf-link' into 'master' (*)
  4a571cf... (#618) Add context-fill and stroke for use element (*)
  f578f63... Remove superfluous clones, per clippy (*)
  c2cadfc... Merge branch 'madds-use-context-fill-stroke-wip' into 'mast (*)
  d081263... (#771): Fix incorrect default for the flood-color property (*)
  17ae0a0... Use the cargo cache for the fmt stage in CI (*)
  c1e514e... Merge branch '771-flood-color-default' into 'master' (*)
  4a6c9ed... Remove the generic type argument from trait Property (*)
  93299f9... Merge branch 'property-is-not-generic' into 'master' (*)
  adc4ebc... Store an element's transform in its SpecifiedValues, not in (*)
  bb54fc3... Copy the SpecifiedValues.transform to ComputedValues (*)
  0e98ad1... Use the transform from an element's ComputedValues everywhe (*)
  d524906... feImage: box a field to avoid a large enum variant in Primi (*)
  3c90e0d... Merge branch 'transform-in-values' into 'master' (*)
  795abbb... Fix documentation links since developer.gnome.org is thorou (*)
  d938f18... Fix clippy borrow errors (*)
  c647436... Merge branch 'appease-clippy' into 'master' (*)
  4e83432... Switch to rsync for copy to exclude git (*)
  a1531b9... Make cleanup code actually clean everything up Includes a c (*)
  ca49160... Don't copy twice please Also change cargo check to test, it (*)
  8a99973... Update readme and fix typos Also adjust the docker files fo (*)
  f55404b... Add blurb about docker tests to contributing.md (*)
  dab1044... Pass through temp directory, clean up images Now this uses  (*)
  bf47971... Merge branch 'madds-docker' into 'master' (*)
  a03f188... WIP: (#487) Begin implementing transform as property This c (*)
  8fa7ad4... Implement Parser for TransformList Current tests all pass,  (*)
  862a06a... Remove extra functions in transform attribute (*)
  6f1521e... Basic reftest for actually using the transform property (*)
  8a1d51d... WIP: Move parsing of the transform attribute to properties. (*)
  0457d50... Inline set_transform into its only caller (*)
  2e84c21... Select between the transform attribute and property in Spec (*)
  5e03867... impl Parse for Transform: don't ensure that it is invertibl (*)
  da33f00... Implement computing to transform and parsing tests Needs re (*)
  a8cf1b6... Appease clippy by simplifying (*)
  bdcafbe... Fix clippy borrow errors Most are references that are borro (*)
  7ffe5f9... Test compound transforms and use post_transform instead of  (*)
  df4b9a5... Move comma parse into try_parse for scale and skew Also add (*)
  e800444... Debugging transform.rs (*)
  016fe46... Remove dbg! swap transform order Also fix default scale in  (*)
  0dd3ebf... Remove straggling dbg! (*)
  ea6dfe1... Minor code improvements Added even more tests (*)
  beb88b5... Test that translate/scale/skew without the optional paramet (*)
  1770bd2... Support only translate/translateX/translateY in pixel units (*)
  139131e... Remove stray dbg!() (*)
  cd5e8db... Merge branch 'madds-transform-property' into 'master' (*)
  6a68c9a... Oops, parse "transform: none" as well as lists of transform (*)
  8afa001... Test that "transform: none" computes to an identity transfo (*)
  6e18a52... Ensure that <transform-list> is not empty in the transform  (*)
  1fb5275... TransformProperty::to_transform - use an exhaustive match (*)
  630f6e1... transform.rs - reorder a bit; improve toplevel docs (*)
  f9436f3... Start differentiating between TransformProperty and Transfo (*)
  8e3dc21... Merge branch 'refactor-transform' into 'master' (*)
  3dfd070... configure: Fix rustc version check (*)
  5d8c877... Bundle ax_compare_version.m4 (*)
  6b564e2... Remove LIB_NAME_WORKAROUND, not needed anymore (*)
  8e19dc7... Merge branch 'buildsystem' into 'master' (*)
  5e73f3a... Clean up docker script, add documentation This fixes temp d (*)
  4495315... Quick fix for Readme, remove errant tab and format (*)
  e1ad598... Merge branch 'madds-docker-tests' into 'master' (*)
  dffe88a... configure: Unify OS checks (*)
  872dcf5... Merge branch 'buildsystem-unify-os-checks' into 'master' (*)
  65ce8f1... (#669): Document that intrinsic_size_in_pixels returns floa (*)
  733df4e... Fix links in the C docs to the API ordering sections (*)
  be0f2fc... Deprecate rsvg_handle_get_dimensions() (*)
  c7149ec... Recommend rendering to a viewport in the docs for get_intri (*)
  75f746c... Fix deprecation docs for RsvgPositionData and rsvg_handle_g (*)
  e59ea00... Mention SVG2 in the start of the docs (*)
  7ce7c5d... Move docs for render_cairo and render_cairo_sub to a deprec (*)
  c8dfd92... Note the deprecation of the GdkPixbuf functions (*)
  57cfb4c... Fix "##" duplicated hashes in the C docs (*)
  435008c... Don't mention deprecated alternatives in the GdkPixbuf func (*)
  8180554... Do not recommend deprecated functions in the deprecation do (*)
  16a8d10... Mention API ordering restrictions for the get_pixbuf() func (*)
  e7aaeeb... Remove another deprecated example (*)
  69350d1... Clarify the Recommendations section a bit (*)
  dfc21c0... Merge branch 'migration-docs' into 'master' (*)
  74a2568... configure: Simplify setting defaults for empty vars (*)
  98daab7... configure: Use AS_CASE to check LIBRSVG_DEBUG (*)
  c962119... configure: Replace remaining "if" statements with AS_IF (*)
  6ca2cdd... configure: Replace obsolete AC_ISC_POSIX (*)
  f0fb6fc... configure: Replace AC_TRY_LINK with AC_LINK_IFELSE (*)
  9494677... configure: Remove obsolete AC_STDC_HEADERS (*)
  8286fc1... configure: Replace AC_HELP_STRING with AS_HELP_STRING (*)
  0776f43... configure: Request autoconf 2.69+ (2012) (*)
  031e149... Merge branch 'buildsystem' into 'master' (*)
  3fcbec4... Allow debian builds to fail (*)
  6a8ada3... Merge branch 'allow-debian-failure' into 'master' (*)
  0bb78c6... Include an example of usage from C (*)
  bb743e0... New chapter for the docs, migrating from old APIs (*)
  bb9c7ec... Docs about new APIs for obtaining dimensions (*)
  8ae5f9c... Docs - Migrating to the geometry APIs (*)
  9e6a31c... Docs - recommendation on injecting stylesheets (*)
  2613c85... Merge branch 'more-migration-docs' into 'master' (*)
  d99cd1c... Bump version number to 2.52.0 (*)
  51cd648... Copy release notes from the 2.50 series (*)
  6fb52e8... Update NEWS for 2.52.0, whew! (*)
  9c80d9b... RELEASING.md - note about the autotools command line (*)
  1729feb... Merge branch 'prepare-2.52' into 'master' (*)
  76a7d6e... Clarify usage of the write/close deprecated APIs (*)
  69b3242... Merge branch 'clarify-write-close' into 'master' (*)
  631db05... Make a list of attributes that need to be turned into prope (*)
  c6f0390... List the missing properties / presentation attributes from  (*)
  195d853... Annotate each property to say whether it has a presentation (*)
  b1c8a8e... (#792): Distinguish between properties and presentation att (*)
  8b6d679... parse_property - make the shorthands case symmetrical to th (*)
  2d66521... Rename parse_property to parse_value - it's not just for pr (*)
  c425185... Remove obsolete comment (*)
  9d9c4c1... Merge branch 'properties-vs-presentation-attributes' into ' (*)
  5c05ded... GdkPixbufRGBA, ToGdkPixbufRGBA - start naming types and con (*)
  3ba831a... New ToPixel trait (*)
  3fb1022... New ToCairoARGB trait (*)
  f2dc326... impl ToPixel for CairoARGB (*)
  92df18a... Merge branch 'argb-big-endian' into 'master' (*)
  0d22c3a... Add a --testing option to rsvg-convert - doesn't restrict t (*)
  130f98d... Remove obsolete comment (*)
  e4dc9ba... Check my assumptions about a layout's extents for RTL text (*)
  2cbf66e... Characterization tests for text_anchor_advance() so I don't (*)
  d649068... Remove unnecessary clone (*)
  de4b907... PositionedSpan::from_measured - compute the NormalizeParams (*)
  1457287... PositionedChunk::from_measured - take the ViewParams instea (*)
  3aa998c... DrawingCtx::create_pango_context - put this here, instead o (*)
  ceb0c1a... Let the positioning function know whether the whole text bl (*)
  7c8b132... Remove unused field (*)
  10ddc0c... Inline PositionedSpan::from_measured into its only caller (*)
  64be384... Compute all values for PositionedSpan before initializing i (*)
  571dc31... Remove unused fields (*)
  1ddb143... Test for writing_mode.is_horizontal everywhere rather than  (*)
  7c4b607... Inline WritingMode::is_vertical in its only caller (*)
  1f4d072... text_anchor_advance: take a horizontal flag, not the whole  (*)
  d4420a7... text_anchor_offset - rename function and its parameters (*)
  5bf6868... text_anchor_offset: handle the text direction based on the  (*)
  75aae86... Rename variable (*)
  d64936f... Rename variable (*)
  2b33cb1... (#791): Handle text direction while laying out spans inside (*)
  899ccd0... Merge branch '791-tspan-rtl' into 'master' (*)
  bfbf127... Rename references to the master branch to main (*)
  930207c... Merge branch 'rename-master-to-main' into 'main' (*)
  fa4711e... Start adding tests for the legacy sizing algorithm (*)
  b799710... Test for no intrinsic size at all (*)
  3ce1b78... Test for 100% width and height (*)
  2e5febf... Test for 100% width/height with no viewBox (*)
  d3f0ac1... (#797) - Handle the case where the toplevel SVG has only on (*)
  85b613d... Check for zero-sized viewBox (*)
  2cf4631... Update the man page for rsvg-convert for the new sizing log (*)
  480b193... Merge branch 'legacy-sizing-tests' into 'main' (*)
  2803c29... Remove duplicated code (*)
  863371f... Merge branch 'refactor' into 'main' (*)
  cd3e224... Pass the text element's WritingMode, not just whether it is (*)
  3cf258c... (#565): Apply writing-mode to text elements, not individual (*)
  25834ec... Parse writing-mode values from the CSS Writing Modes 3 spec (*)
  3418ef4... Merge branch 'text-writing-mode' into 'main' (*)
  4f27246... draw_text_span() - only do the work if there is stroke or f (*)
  31c5024... (#799): Don't leave active points in the current Cairo path (*)
  ad6c843... Merge branch '799-text-new-path' into 'main' (*)
  b5586e2... Bump version to 2.52.1 (*)
  48ba5b6... Update NEWS (*)
  22ba84b... Merge branch 'prepare-release' into 'main' (*)
  3e9d129... Make multi-page PDFs with mixed sizes (*)
  f7c0554... Add test case for multiple pages, and a single explicitly-s (*)
  03d4acd... Fix bug when page size is different from final canvas size (*)
  25d8275... Merge branch 'notriddle/multi-page-pdf' into 'main' (*)
  195b58c... Render and style text links (*)
  8c0791e... Implement `:link` pseudo-class (*)
  d0fdccd... Do not count tspan attributes on `<a>` (*)
  526fc51... Merge branch 'notriddle/colon-link' into 'main' (*)
  b6cb910... Expand `font:inherit` and `marker:inherit` (*)
  f340948... Merge branch 'notriddle/font-inherit' into 'main' (*)
  8533c08... Document the multi-page features (*)
  8d04918... Merge branch 'notriddle/docs-multipage' into 'main' (*)
  e079995... Add example on using a uniform page size for multi-page doc (*)
  a973666... Merge branch 'multi-page-example' into 'main' (*)
  805778c... Start a list of supported SVG features (*)
  5b8912a... Link to FEATURES.md from the README.md (*)
  edd2dde... Fix table markup (*)
  0f33f9d... Remove blank lines in tables; gitlab renders them ugly (*)
  623afd0... Note about presentation attributes vs. shorthand properties (*)
  997f2d5... Add attributes that are supported by all elements (*)
  0790444... Notes on the scope of librsvg in terms of spec versions (*)
  93aaac3... Merge branch 'list-of-features' into 'main' (*)
  b587892... Use specified width/height as inner SVG viewport by default (*)
  8ebcd78... Merge branch 'notriddle/inner-viewport-fix' into 'main' (*)
  728208b... Correct wrong comment (*)
  717e575... Make units case insensitive (*)
  2576d15... Add types basic 02 f test (*)
  413857f... Merge branch 'fix-unit-case-insensitive' into 'main' (*)
  f784fc0... Add support for CSS :lang() pseudo-class (*)
  8dc7906... Add features doc for other supported pseudo-classes (*)
  1787599... Fix clippy warning for single-branch `match` (*)
  5b918a7... Add support for comma-separated lists of languages (*)
  aecee49... Use ComputedValues for xml:lang (*)
  2a8c699... Add unit test to make sure xml:lang isn't clobbered by the  (*)
  28ae2e8... Box parsed LanguageTag in CSS property (*)
  49fa16a... Merge branch 'notriddle/lang-pseudo-class' into 'main' (*)
  c98023b... Fix obsolete function name (*)
  169253a... Start development docs on adding a new property (*)
  3107a74... Remove obsolete comment (*)
  92671ae... Define MaskType for the mask-type property (*)
  4d86cfb... Register the mask-type property (*)
  18c502d... Rename to_mask -> to_luminance mask (*)
  9224ce6... Process the mask-type in the drawing code (*)
  95db903... Add a test for mask-type (*)
  9cae2dc... Add mask-type to FEATURES.md (*)
  436630d... Merge branch 'mask-type' into 'main' (*)
  26d7662... Bump version number to 2.52.2 (*)
  4d6f1cb... Update NEWS (*)
  05dba6e... Merge branch 'prepare-release' into 'main' (*)
  4b68fed... Remove semicolon from macro that doesn't do anything (*)
  7570788... Merge branch 'notriddle/rust-1.56.0-lint' into 'main' (*)
  d091046... Use `unwrap_or_default` instead `unwrap_or_else(default)` (*)
  525fde7... Merge branch 'notriddle/clippy-1.56.0' into 'main' (*)
  4e3fe70... Add the Ahem font from the Web Platform Tests to the test s (*)
  e61bb31... For the test suite, ensure only the testing FcConfig is bei (*)
  ff1c99b... Add a test to ensure we are using the Ahem font correctly (*)
  1526fd7... layout::TextSpan - store the layout's gravity here instead  (*)
  eb93155... layout::TextSpan - compute the span's bbox and store it her (*)
  ea55976... DrawingCtx::with_link_tag - separate into helper functions (*)
  6aff484... layout::TextSpan - store the PDF link target here (*)
  9058a34... StackingContext: store the link_target here for <a> element (*)
  92dd748... PositionedSpan::draw - pass the ViewParams as an argument (*)
  63da931... PositionedSpan::layout() - Just create the layout::TextSpan (*)
  a671b7e... layout::TextSpan - carry the UserSpacePaintSources here (*)
  df8e425... Pre-compute all the layout::TextSpan instead of doing them  (*)
  426aede... Use the objectBoundingBox of the whole text element for eac (*)
  8b9c2b8... Remove superfluous references (*)
  463bcdf... Merge branch 'text-bounds' into 'main' (*)
  7f49e7a... Add Noto Sans Hebrew for the test suite (*)
  f412f2b... (#804) - tspan that changes the text direction is placed in (*)
  f5803ce... Merge branch '804-tspan-changes-direction' into 'main' (*)
  b679ebf... Inherit xml:lang early (*)
  08681a4... Merge branch 'notriddle/inherit-xml-lang' into 'main' (*)
  3959168... Move the text tests to a separate tests/src/text.rs module (*)
  bcd8d9e... Set up the test fontmap in test_compare_render_output too (*)
  41b43c3... test_svg_reference: new macro to have reftests from two SVG (*)
  890436a... Collect the advance of a chunk's spans until PositionedChun (*)
  d30ce4e... Extract function to compute the baseline offset for a span (*)
  166c054... Gather all the values from the MeasuredSpan as early as pos (*)
  3f4e395... Get the chunk_direction only once (*)
  3fb062b... Create the array for positioned spans right where it is nee (*)
  6ebf845... Apply the anchor offset in a second pass through the chunk' (*)
  54a47c4... Copy the layout_size from the MeasureSpan to the Positioned (*)
  738d609... children_to_chunks() - Only carry over the parent's dx/dy t (*)
  03cc62a... Don't copy the layout size to PositionedSpan after all (*)
  f188ddb... Use the Rect machinery instead of unioning bounds by hand (*)
  bf6bdae... Pass the whole chunk's bounds to text_anchor_offset(), not  (*)
  d789d6c... Use the whole chunk's bounds when computing the anchor offs (*)
  4d61770... Extract the dx/dy from the first span of a chunk and make i (*)
  a2bf360... Add test for #806 (*)
  6a5abe5... Test for when a span has a dx larger than its size (*)
  d8d4fd6... Remove superfluous reference (*)
  54c81ee... Merge branch '806-text-anchor-chunk' into 'main' (*)
  4ebe578... Attach link target to text span, not text chunk (*)
  027d6dc... Merge branch 'text-a-link-pdf' into 'main' (*)
  74744ae... Start a roadmap document for text layout (*)
  46c771d... Detail the text roadmap (*)
  a60dbd6... Note on multiply-nested changes in text direction (*)
  e431ca3... Merge branch 'text-roadmap' into 'main' (*)
  e9d02f7... Rename UnicodeBidi::Override to UnicodeBidi::BidiOverride (*)
  d992bb8... Add all the CSS3 identifiers to unicode-bidi (*)
  af81749... BidiControl: generate the Unicode control characters for un (*)
  bb2c019... (#249): Basic implementation of the unicode-bidi property (*)
  7fdc264... Set a pango::Layout's font description as an attribute (*)
  6f9a5a4... Do not set the PangoAlignment of a layout (*)
  26c4e25... Gather all the pango::Layout mutation in a single place (*)
  29e0e87... Extract function to populate a pango::AttrList from FontPro (*)
  e52ada9... Remove comment that will become irrelevant soon (*)
  a77f175... Do not modify the font description from the pango::Context (*)
  4c21fcd... Create each pango::Attribute with a range within the layout (*)
  6f9b6f1... Fix comment (*)
  f518435... text.rs: Use a mutable DrawingCtx only in Text::draw() (*)
  19f07cd... Require Pango 1.46 for PangoOverline (*)
  80a72e6... (#17): Render text-decoration:overline (*)
  1e53e85... Don't put the writing-mode in FontProperties (*)
  849bb7e... Pass the text writing mode around in a new LayoutContext st (*)
  8b1030b... Merge branch 'unicode-bidi' into 'main' (*)
  4850577... Put PangoGravityHint in the text roadmap's glossary (*)
  3715dda... GlyphOrientationVertical - new enum and parser for the glyp (*)
  e57fa6f... TextOrientation - define the text-orientation property (*)
  efd2084... Define the glyph-orientation-vertical property (*)
  8f5b945... Register text-orientation and glyph-orientation-vertical (*)
  529d1c3... Use TryFrom instead of the cast crate for usize -> u32 (*)
  1f425a1... Merge branch 'text-orientation' into 'main' (*)
  c9d3265... Note on Pango internals for emitting text to PDF (*)
  0e3c80e... Bump version to 2.52.3 (*)
  4ac6ec7... Update NEWS (*)
  b1124ad... Add texts/fixtures/text to Makefile.am (*)
  d921db4... Merge branch 'prepare-release' into 'main' (*)
  d3602ed... Use CStr for C string conversion instead of `as` (*)
  aee0b41... Strategy to select user specified units (*)
  2c721f3... Merge branch 'notriddle/use-cstr-for-c-strings' into 'main' (*)
  b55dd41... Change bare URL in doc comments to CommonMark hyperlinks (*)
  c8ab1e0... Merge branch 'notriddle/url-docs' into 'main' (*)
  5f5c3b1... Convert the test for #804 into a reference test (*)
  5408d36... PositionedSpan::layout - pass the DrawingCtx's transform in (*)
  a274bcb... create_pango_layout() - Get the writing_mode from the Layou (*)
  8719275... create_pango_context() - Take the font options as an argume (*)
  48d043f... create_pango_context() - Pass the transform as an argument (*)
  96f6174... create_pango_context() - Turn into a free function (*)
  7b117d2... Pass the DrawingCtx's current transform to the draw_fn call (*)
  2efc819... Use the transform passed to draw_fn instead of asking Drawi (*)
  9648a29... Create an empty bbox using the obviously right transform (*)
  aba75b4... Don't get the ViewParams twice (*)
  bb2e16d... Pass the view_params around in the LayoutContext (*)
  3a206a3... text.rs - Use LayoutContext in the last places that used Dr (*)
  e24ff76... Merge branch 'text-reftests' into 'main' (*)
  c3015b0... Call cairo_has_current_point() by hand since cairo-rs-sys i (*)
  562ea54... Merge branch 'suse-s390x-cairo' into 'main' (*)
  c5a197c... Pass unit to set_document_unit (*)
  e84c3a7... Convert top, left parameters to specified unit (*)
  3735fb4... Remove debugging info (*)
  f3001c0... Stop surfaces requiring points from using user units for -- (*)
  e5a4e80... Simplify match expression (*)
  1ced44e... DrawingCtx.initial_transform_with_offset - remove this func (*)
  1b93dea... Remove unused function (*)
  ea0b947... Merge branch 'transform-cleanup' into 'main' (*)
  f98b392... Define the isolation property (*)
  9c73fa5... StackingContext: carry the value of the isolation property  (*)
  7eb6d56... Handle the isolation property in the drawing machinery (*)
  c7d0525... Merge branch 'isolation' into 'main' (*)
  59e8c8b... No need to handle filterUnits specially anymore (*)
  f9e15ff... pattern: Don't panic when trying to resolve with an empty b (*)
  7b12391... (#818): Allow having a mask and opacity in the same element (*)
  72bb873... Merge branch 'drawing-fixes' into 'main' (*)
  d5b6331... NMake Makefiles: Support Visual Studio 2022 (*)
  0164c3b... NMake Makefiles: Fix running Rust tests (*)
  8c6db5b... Merge branch 'vs2022-config' into 'main' (*)
  01e1a5f... List the isolation property in FEATURES.md (*)
  b75bda7... Update NEWS (*)
  e3b7d84... Bump version to 2.52.4 (*)
  2ed9257... Add svg2-reftests to tests/Makefile.am (*)
  2f6f58e... Merge branch 'prepare-release' into 'main' (*)
  1f0e821... Don't output the rust/cargo versions in all CI jobs (*)
  9bf5957... Add an msys2-mingw64 CI job (*)
  2f03bda... Makefile.am: use the correct EXEEXT extension for the rsvg- (*)
  b1837b9... url_resolver.rs: use URIs that will resolve to correct path (*)
  562a63a... Allow failure of the Windows tests (*)
  a60e83e... Run the Windows tests in the acceptance tests phase (*)
  21b36d8... Merge branch 'msys2-ci' into 'main' (*)
  338f88a... SvgPredicate with libxml parser (*)
  66fffab... SvgPredicate with libxml parser (*)
  b6757fe... Linting changes (*)
  29963c9... Do not use Win32OutputStream for stdout (*)
  d22af1a... Merge branch 'notriddle/rsvg-convert-for-windows' into 'mai (*)
  82212c5... Mark field as unused (*)
  c104d4d... Remove unused struct (*)
  c831aec... Store the T in ImageSurface<T> as PhantomData (*)
  5219956... Merge branch 'unused-warnings' (*)
  612afb1... Link to necessary libraries on Windows. (*)
  8eb81fb... Merge branch 'mingw' into 'main' (*)
  1287cb8... Merge branch 'user-specified-units' into 'main' (*)
  f3d7df9... SvgPredicate: make eval() actually test if some bytes are a (*)
  720d07c... SvgPredicate: extract the dimensions with librsvg itself (*)
  ebca891... Merge branch 'test-with-rsvg' into 'main' (*)
  954bfe9... Update the assert_cmd dependency (*)
  19ac036... Update the cast crate, and fix the workaround there was for (*)
  8a836c9... Update to selectors 0.23.0 and cssparser 0.28.0 together (*)
  c7349b7... Update the png crate (*)
  34dac56... Update the proptest crate (*)
  c8f9401... Update the itertools crate (*)
  ec4b43e... Update the rctree crate (*)
  76d924f... Update the system-deps crate (*)
  7277d2e... Update the nalgebra crate (*)
  f5b347b... Update the float-cmp crate (*)
  928d8d7... Update the clap crate (*)
  dff1295... Merge branch 'deps-update' into 'main' (*)
  2fe6115... README.md: Link to FEATURES.md near the beginning (*)
  8c56aa6... FEATURES.md: Add a section at the end for the rendered foot (*)
  14f5cb4... FEATURES.md: Add a table of contents (*)
  ebde228... README.md: Add a table of contents (*)
  10cfbff... Merge branch 'features-readme' into 'main' (*)
  15ee361... Update NEWS (*)
  cc3d69c... Bump version number to 2.52.5 (*)
  c3217f7... tests/Makefile.am - Oops, add src/predicates/svg.rs (*)
  756616b... Merge branch 'prepare-release' into 'main' (*)
  6e0b8ee... devel-docs/README.md - This is the development roadmap now. (*)
  9d3291e... Bump version to 2.53.0 - start of the development branch (*)
  51bc6b9... Merge branch 'bump-to-2-53' into 'main' (*)
  2b83662... Initial conversion of rsvg-convert.1 to rsvg-convert.rst (*)
  192aced... Make rsvg-convert.rst markup closer to RST conventions (*)
  5941b70... Check for rst2man in configure.ac (*)
  af61e6c... Generate rsvg-convert.1 from the RST source (*)
  b61a561... Install python3-docutils for the CI (*)
  c0ea3ac... Install python3-docutils for the msys2 job (*)
  fee46f6... Merge branch 'man2rst' into 'main' (*)
  1dd1028... Check for both rst2man and rst2man.py in configure.ac (*)
  4a35396... Merge branch 'abderrahim/rst2man' into 'main' (*)
  eff053d... rsvg.h - first pass at conversion to Markdown (*)
  13b9709... rsvg-features.h - first pass at conversion to Markdown (*)
  3da89b7... rsvg-cairo.h: first pass at conversion to Markdown (*)
  7f1b660... fix: rsvg.h (*)
  a89fd3f... Remove comment block with duplicated section name (*)
  50213bf... Add missing description for RsvgHandleFlags (*)
  f1c0096... Add a few missing Returns: (*)
  a4aa315... Fix docstrings for properties (*)
  f7c6264... Missing docs for a no-op function. (*)
  2f67661... Move all the introductory material to overview.xml (*)
  94cbc24... Convert the individual chapters to Markdown (*)
  a24f2c3... Initial TOML configuration for gi-docgen (*)
  0e6ba74... Include "Title:" headings in the chapters so they get shown (*)
  4fceed9... configure.ac: require gi-docgen (*)
  cd3c411... doc/Makefile.am - Build the docs with gi-docgen; remove the (*)
  cc11680... Remove gtk-doc detritus from configure.ac et al (*)
  f62d3f2... Install gi-docgen during the CI (*)
  05280db... Remove --enable-gtk-doc arguments from the CI scripts (*)
  14c3699... RELEASING.md: Update to not mention --enable-gtk-doc (*)
  a93ac54... tools/docker/*/Dockerfile - install gi-docgen (*)
  2cb5a27... Install gi-docgen for the msys2 job (*)
  c64613e... Update COMPILING.md for gi-docgen and docutils (*)
  65b4f14... Merge branch 'gi-docgen' into 'main' (*)
  86bb0c0... Fix typo in the docs EXTRA_DIST (*)
  67c52f3... Publish the gi-docgen docs (*)
  5865d6c... Update the location of the published C docs in README.md (*)
  bafd278... Merge branch 'publish-docs' into 'main' (*)
  f9da4f2... Add test cases for display:none and visibility:hidden (*)
  46728f6... Merge branch 'notriddle/text-child-visibility' into 'main' (*)
  82a53f8... Visual Studio: Link against bcrypt (*)
  52d9a6a... Merge branch 'bcrypt' into 'main' (*)
  31b8ddd... doc/Makefile.am - Install to DESTDIR (*)
  46e1606... Update the development roadmap (*)
  cf0c3b8... Cargo update (*)
  12c8c18... Update NEWS (*)
  c3cfe75... doc/Makefile.am - Implement uninstall-local (*)
  25a7d15... Merge branch 'prepare-release' into 'main' (*)
  4623ba5... Visual Studio: Keep cairo dep in the .pc file (*)
  4bf762d... Merge branch 'keep-cairo' into 'main' (*)
  2750771... Visual Studio: Support building from GIT checkout (*)
  40601c4... Merge branch 'git-msvc' into 'main' (*)
  18ed377... (#628): Implement cobertura report (*)
  e80ed99... Merge branch 'cobertura' into 'main' (*)
  6428483... Publish HTML test coverage (*)
  8f1ef4c... Merge branch 'publish-html-coverage' into 'main' (*)
  7398d50... Hack around grcov bug to make the toplevel index.html actua (*)
  e4b520a... Merge branch 'html-toplevel-dir' into 'main' (*)
  f81a4da... Start the msys2-mingw64 job earlier to shorten the pipeline (*)
  f95afed... Merge branch 'start-msys2-earlier' into 'main' (*)
  a4312ce... Update test reference files for Pango (*)
  5ff60c1... Require Pango 1.48.11 (*)
  b1f050b... Ignore the three tests that have text scaled non-uniformly (*)
  a1d1686... Refresh text-text-03-b-ref.png (*)
  6fafdad... make clippy happy (*)
  881145e... ci: Port to fd.o ci-templates (*)
  15d99e6... ci: disable fedorta and debian builds (*)
  d93f1b6... ci: disable aarch64 build (*)
  a5825af... Merge branch 'alatiera/ci-templates' into 'main' (*)
  81cb05e... ci: source the cargo bin path before running grcov (*)
  fe6c82d... Merge branch 'alatiera/grcov' into 'main' (*)
  a287e81... Rebuild the CI image to get a newer grcov (*)
  f068d17... Merge branch 'update-ci-image' into 'main' (*)
  176dd07... update to latest gtk-rs release (*)
  768a4a9... update per gtk-rs changes (*)
  a255a7a... c-api: omit ParentType (*)
  2f0610c... tests: revert the cairo workaround in !627 (*)
  9556e8a... c-api: use the new ParamSpec API (*)
  578560f... c-api: adapt to macros renames (*)
  507d930... update to 2021 edition (*)
  7274d4f... tests: fix broken API usage (*)
  e39c063... update per ObjectSubclassExt::imp addition (*)
  cfd52d8... c-api: update per Quark api changes (*)
  0ab1d70... Fix usage of the glib::flags derive (*)
  de551ff... Merge branch 'bilelmoussaoui/new-gtk-rs-stack' into 'main' (*)
  e7a1502... Fix dimensions in test case (*)
  730e8d0... Extract function to compute bounding rectangles from comput (*)
  69c9b34... Add a test for the bounds of a text element (*)
  0e371a1... New test for the computed bounds of text elements at the AP (*)
  b12af01... Remove obsolete tests for 777834-empty-text-children.svg (*)
  27e89f8... Path::from_cairo() - New function to convert a librsvg path (*)
  4a29228... New functions to create a Path from a pango::Layout (*)
  02584e0... TextSpan: pass the original stroke paint source here (*)
  0615983... Path::to_cairo - strip out paths composed only of MoveTo (*)
  fc5579d... (#599) - Draw all text as paths, to fix text scaled non-pro (*)
  4887a02... Enable the SVG1.1 tests with text scaled non-proportionally (*)
  fdbbcd1... Remove test for empty text after all (*)
  4ba167a... Merge branch 'text-as-path' into 'main' (*)
  1372272... Update NEWS (*)
  59e64a0... Bump version to 2.53.1 (*)
  91ecdc9... Merge branch 'prepare-release' into 'main' (*)
  5271310... win32/README.txt: Note that paths should be quoted (*)
  9e85c69... win32/info-msvc.mak: Update build info (*)
  6d1a7bd... Only build the documentation in the main branch (*)
  a904ea2... Don't litter with so many coverage profile files (*)
  c475acd... Move .gitlab-ci to just ci (*)
  c991066... Build the container image with an updated rust-nightly and  (*)
  fdb7d6f... Merge branch 'coverage-updated-nightly' (*)
  bd69b8f... Oops, create the public directory before emitting coverage (*)
  ad0f63f... Merge branch 'improve-msvc-docs' into 'main' (*)
  4b039f0... Run the full test suite for the coverage job (*)
  b3773f5... Always keep the coverage reports (*)
  af838f1... Let individual 'make' targets fail in the coverage job (*)
  0168b66... Ignore dependencies for coverage info (*)
  91e5a99... Merge branch 'coverage-full-test-suite' (*)
  2308117... Work around #848 by using crun for runners instead of stand (*)
  4a574e6... Merge branch 'crun-workaround' into 'main' (*)
  d47dc95... Fix needless late initialization (*)
  622296a... Rename `new` to `clone_with_node` (*)
  a69d5d4... Merge branch 'notriddle/clippy' into 'main' (*)
  bb9a3f9... NMake Makefiles: Fix introspection for release tarballs (*)
  c68657c... Merge branch 'msvc-tarball-introspection' into 'main' (*)
  dfb331b... ResizeStrategy.apply() - don't consume the input size (*)
  4d30fe9... Don't nest the rsvg-convert color tests in a submodule (*)
  a772cf3... rsvg-convert.rs: add tests for ResizeStrategy (*)
  bd3001f... Tests for fitting to width and height (*)
  d33fd8e... Test FitLargestScale with no maximum size (*)
  184b894... Initial tests for ResizeStrategy::FitLargestScale (*)
  15b4e9d... ResizeStragegy: rename FitLargestScale -> ScaleWithMaxSize (*)
  a199275... Rename the bindings for the ScaleWithMaxSize variant (*)
  e307d3f... ResizeStrategy: embed the keep_aspect_ratio flag here only  (*)
  b376aac... ResizeStrategy::Fit - use a Size instead of separate width/ (*)
  462cdb9... Use the AspectRatio machinery for ResizeStrategy::Fit when  (*)
  59a1920... Start reimplementing ResizeStrategy::ScaleWithMaxSize (*)
  b68f29d... Tests for width-only ResizeStrategy::ScaleWithMaxSize (*)
  e7d5546... Tests for height-only ResizeStrategy::ScaleWithMaxSize (*)
  7b725e1... Add tests for the missing cases (*)
  5648e3c... Remove debug code (*)
  a5de2d9... Merge branch 'test-custom-size' into 'main' (*)
  b285f46... Fix unsound implementation of ImageSurfaceDataExt (*)
  d04ae6e... Merge branch 'notriddle/imagesurfacedataext' into 'main' (*)
  e798ce3... gdk-pixbuf-loader/Makefile.am: set GDK_PIXBUF_MODULEDIR (*)
  b8cad98... Merge branch 'gdk-pixbuf-loaders' into 'main' (*)
  c9571cc... Implement geometry properties (*)
  bbef5ac... Note that structure::IntrinsicDimensions now stores compute (*)
  d697cb8... Use ULength for the R property, since it does not accept ne (*)
  51416ad... Note where the geometry properties of elements are defined (*)
  f4a1d6e... test_svg_reference: declare all the imports here so users d (*)
  52a98a0... Add tests for when ellipse's rx/ry properties default to "a (*)
  0ce7ee1... Merge branch 'implement-geometry-properties' into 'main' (*)
  9828bbb... Revert "Remove test for empty text after all" (*)
  d790219... Revert "Enable the SVG1.1 tests with text scaled non-propor (*)
  83f84b7... Revert "(#599) - Draw all text as paths, to fix text scaled (*)
  9949c8d... Revert "Path::to_cairo - strip out paths composed only of M (*)
  f1f5452... Revert "TextSpan: pass the original stroke paint source her (*)
  ced1c3c... Revert "New functions to create a Path from a pango::Layout (*)
  13255e0... Revert "Path::from_cairo() - New function to convert a libr (*)
  f94b89b... Merge branch 'revert-text-as-path' into 'main' (*)
  b9b9061... New test file for text elements (*)
  874c16e... Remove the last uses of "extern crate" (*)
  8dc8194... PdfPredicate.with_text() - simple way to test for a PDF con (*)
  dbafb2e... New test to ensure an output PDF has textual content (*)
  33af1b3... CI: Install google-roboto-fonts for rsvg-convert's tests (*)
  74c0dc1... Path::from_cairo() - New function to convert a librsvg path (*)
  84eeace... New functions to create a Path from a pango::Layout (*)
  5ab8d17... TextSpan: pass the original stroke paint source here (*)
  cfb5dd8... Path::to_cairo - strip out paths composed only of MoveTo (*)
  d6f9bc7... (#599) - Draw all text as paths, to fix text scaled non-pro (*)
  363b128... Enable the SVG1.1 tests with text scaled non-proportionally (*)
  a48a48a... Remove test for empty text after all (*)
  b973fab... (#851): Output filled text as text for PDF, instead of text (*)
  e33995f... Merge branch 'pdf-text-as-text' into 'main' (*)
  e79934d... Fix unsound transmute from `[u8]` to `[CairoARGB]` (*)
  ff17d99... Rename row_of_bytes to row_of_u32 since that's what it cont (*)
  7a1ee82... Merge branch 'notriddle/as-cairo-argb' into 'main' (*)
  719ea43... Add a urlmap.js for gi-docgen, to resolve names in other li (*)
  ce88488... Add links to overview.md, and the example program (*)
  7f6a21d... recommendations.xml - add links (*)
  9d75913... Fix all warnings from g-ir-scanner (*)
  2cdb472... Create a search bar for the docs (*)
  00a7cd5... migrating.md - add links (*)
  e926f83... Add links to the "API ordering" section in the inline docs (*)
  2ddfab8... Add links to rsvg*.h (*)
  fdfccba... Don't skip the deprecated functions for g-ir-scanner (*)
  3948072... rsvg.h - Add missing introspection annotations (*)
  b895d9e... Merge branch 'prettify-docs' into 'main' (*)
  318d586... Update NEWS (*)
  2ab6609... Bump version to 2.53.2 (*)
  0966da4... Merge branch 'prepare-release' into 'main' (*)
  207fa66... Add urlmap.js to doc/Makefile.am (*)
  f80d32f... Remove old gtk-doc files (*)
  b04b449... Oops, bump version in doc/librsvg.toml as well (*)
  c5d0eb6... Merge branch 'add-missing-file' into 'main' (*)
  b51a393... (#721): Catch circular references when drawing patterns (*)
  b4c581a... Merge branch 'pattern-cycles' into 'main' (*)
  ccb6016... Write internal docs for AcquiredNodes (*)
  b6766e3... Update docs for rsvg_handle_get_intrinsic_dimensions to tak (*)
  1a7ec9f... Fix markup in inline docs (*)
  afe37fc... (#852): Rewrite the Recommendations chapter to explain what (*)
  9ea8796... Merge branch 'docs-improvements' into 'main' (*)
  5e492c0... (#853): Fix incorrect suggestion in API docs about measurin (*)
  dea5ca6... (#854): Document changes to width/height's computed values  (*)
  4d3e8b6... Wrap all URLs in rust-doc comments with angle brackets (*)
  1d79ed4... Merge branch 'more-docs-fixes' into 'main' (*)
  e20f6df... Bump version to 2.54.0 (*)
  4524f47... Update NEWS (*)
  bad722e... Merge branch 'prepare-release' into 'main' (*)
  3391fbc... build: Require rust-1.56 (*)
  7dff70b... Merge branch 'require-rust-1.56' into 'main' (*)
  5559828... Install autotools for the msys2 job. (*)
  9a1b60d... Merge branch 'msys2-autotools' into 'main' (*)
  d158d11... (#856): Don't use /* as part of the text in C documentation (*)
  39a6d34... Merge branch 'fix-c-comments' into 'main' (*)
  14a7d38... (#859): Make rst2man and gi-docgen optional (*)
  3db56f2... Merge remote-tracking branch 'kleisauke/optional-man-doc' (*)
  4bd8b4d... Bump version to 2.54.1 (*)
  79246ef... Update NEWS (*)
  f6dfe9e... Merge branch 'prepare-2.54.1' into 'main' (*)
  f20d11b... build: Add --enable-gtk-doc flag (*)
  e604a51... Merge branch 'enable-gtk-doc' into 'main' (*)
  72c7fdd... (#823): Regression in geometry computation when the SVG vie (*)
  8d03adf... CI: Fix the clippy job to emit the code quality report in j (*)
  b3ff0df... Merge branch '823-geometry-viewbox' into 'main' (*)
  5fd55f3... NMake Makefiles: Support generating documentation (*)
  7dbf4ee... Merge branch 'msvc-gen-docs' into 'main' (*)
  07e2993... NMake Makefiles: Allow one to pass in introspection paths (*)
  d9ebfb9... Merge branch 'msvc-introspection-config' into 'main' (*)
  19d95eb... win32/info-win32.mak: Update info for new targets and confi (*)
  d4c6a0b... win32/README.txt: Mention about new options and targets (*)
  185d448... win32/README.txt: Update instructions for building from GIT (*)
  eb98d76... Convert Visual Studio instructions to MarkDown (*)
  d392863... Merge branch 'update-msvc-doc' into 'main' (*)
  0c1be14... tests/src/primitive_geometries.rs: Start a new suite of tes (*)
  00c3909... Test stroked, and stroked/unfilled rectangles (*)
  9f1d2c3... Add serde/serde_json for the tests (*)
  56ba58c... Add the anyhow crate for the tests (*)
  979fb03... tests/src/geometries.rs: Start a test module for element ge (*)
  00e65b5... Add test files from the Horizon EDA project (*)
  a97af45... Read the geometry files (*)
  4a80861... Test all the geometries for named elements in the Horizon E (*)
  9ade0bf... Use JSON fixtures for the primitive_geometries tests (*)
  7f858c7... Add test for a rect in an isolation context (*)
  130cb10... Add the primitive_geometries fixtures to Makefile.am (*)
  97da67b... Compare geometries rectangles with Rect::approx_eq() (*)
  b4170e3... Increase the epsilon for Rect::approx_eq() (*)
  44927af... (#823): Fix geometry computation for individual layers (*)
  1b3c55e... Merge branch 'primitive-geometries' into 'main' (*)
  26eea73... Bump version to 2.54.2 (*)
  e500c50... Update NEWS (*)
  a380a1b... Merge branch 'prepare-2.54.2' into 'main' (*)
  192cf48... build: Fix gtk-doc check (*)
  97ef553... CI: Always build the reference docs on branch pipelines, no (*)
  d6e847c... docs: Install to the correct directory that Devhelp expects (*)
  61b338f... Merge branch 'wip/davidk/gtk-doc-configure' into 'main' (*)
  a3aaff1... Bump version to 2.54.3 (*)
  8940f6d... Update NEWS (*)
  63ef9f6... Merge branch 'prepare-2.54.3' into 'main' (*)
  7e610a6... build: fix Windows NMake install when docs aren't built (*)
  e6607c9... Merge branch 'fix-msvc-no-docs-install' into 'main' (*)
  f750803... (#870): Revert "Require Pango 1.48.11" (*)
  a2a9dc3... CI: Enable Fedora 33 build (*)
  876662a... Merge branch 'lower-pango-version' into 'main' (*)
  e9d1e48... Allow percentages to be used as opacity (*)
  112bd8d... Merge branch 'notriddle/percentages-opacity' into 'main' (*)
  a8bb0f7... SECURITY.md: note on where to report security bugs (*)
  c960913... Bump version number to 2.54.4 (*)
  1aa8474... Update NEWS (*)
  8205d58... NEWS.md - Reformat as Markdown (*)
  1ae4f5b... Merge branch 'prepare-2.54.4' into 'main' (*)
  eff748c... CI: Run the distcheck job for merge request pipelines (*)
  997764b... Fix NEWS.md in Makefile.am (*)
  d3b5078... CI: use a workflow, copied from at-spi2-core (*)
  6539eef... Merge branch 'prepare-release-2.54.4' into 'main' (*)
  e68c3cf... RELEASING.md: instructions for creating a stable branch (*)
  83d0f14... RELEASING.md: update for Markdown version of NEWS.md (*)
  008dda8... README.md: section about supported branches (*)
  7419dfd... Bump version to 2.55.0 (*)
  f50f2e5... Merge branch 'releasing-updates' into 'main' (*)
  d5c8e9d... CI: Pass C compiler flags for code coverage (*)
  d61e196... CI: do not pass --llvm to grcov, since we have a gcc+llvm b (*)
  1c12b0d... CI: also scan the _build directory for coverage data files (*)
  007cb72... CI: move the coverage script to a standalone shell script (*)
  070df59... rustc: use -Cinstrument-coverage instead of the deprecated  (*)
  ff01325... Merge branch 'c-api-coverage' into 'main' (*)
  01793b8... coverage: Oops, ignore cargo_cache as well (*)
  af65af1... Merge branch 'ignore-cargo-cache' into 'main' (*)
  58e3f20... .gitlab-ci.yml: Replace the cobertura tag with coverage_rep (*)
  0e6ba07... Merge branch 'update-coverage-gitlab-15' into 'main' (*)
  d2c2e53... micro-optimization: use Box slice instead of Vec for Attrib (*)
  b47777e... Assume that attributes are normally going to be valid (*)
  ca04b9b... Merge branch 'notriddle/box-slice' into 'main' (*)
  43616bf... ci/pull-container-image.sh - New script to make it easy to  (*)
  dca3f6c... pattern.rs: Remove temporary variable (*)
  9a15ac3... (#880): Accept patterns with userSpaceOnUse units even if t (*)
  52acc24... Merge branch '880-stroke-wide-line' into 'main' (*)
  4aa3e03... (#848) CI: remove the "crun" tag from all the jobs that had (*)
  de18148... CI: don't build cargo-c for now; it's not being used (*)
  dff7b6a... (#881) CI: Update rustup to 1.25.1 (*)
  6d8a0b7... CI: Always run the distcheck job for the main branch (*)
  00c15fc... Merge branch 'ci-updates' into 'main' (*)
  213063c... CI: No, really, run the distcheck job always (*)
  52a07f1... Merge branch 'no-really-run-distcheck' into 'main' (*)
  7e5e7e5... (#855): Don't cargo-vendor the Rust dependencies anymore (*)
  ce148d1... Merge branch '855-dont-vendor-dependencies' into 'main' (*)
  891ef1f... gdk-pixbuf-loader: initial attempt to port to rust

(*) This commit already existed in another branch; no separate mail sent


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