[librsvg/nmake] (1204 commits) ...Update NEWS



Summary of changes:

  b53df7d... (#481): Length::parse() - don't expect_exhausted() (*)
  17e53d6... rsvg_internals/build.rs: Fix native, non-cross Windows buil (*)
  948dc99... Merge branch 'fix-build-rs-windows' (*)
  c8e65fd... Merge branch 'nmake' (*)
  ed30178... Docs: mention that the cairo_t must not be in an error stat (*)
  44f8524... Remove rsvg-view.c and its Makefile stuff (*)
  522aeee... Remove GTK3 bits from configure.ac (*)
  654329c... Remove references to GTK in various documentation files (*)
  b084d48... tools/Makefile.am: Remove references to GTK (*)
  a1a7e51... doc/Makefile.am: Remove references to GTK (*)
  d185c27... Merge branch 'remove-rsvg-view' (*)
  f1a09ce... Update NEWS (*)
  00a0009... Post-release version bump (*)
  630c6a0... librsvg headers: Decorate public/semi-public symbols for ex (*)
  fced6df... librsvg/rsvg-base.c: Include rsvg.h (*)
  a3fa1c5... MSVC builds: Export symbols using compiler directives (*)
  ced886a... Remove rsvg.symbols (*)
  37674fc... Merge branch 'drop-rsvg-symbols' into 'master' (*)
  b1ceee9... Update locale_config (*)
  526fe85... Merge branch 'winapi' into 'master' (*)
  5177a3d... Update all gtk related crates (*)
  afb6113... Merge branch 'update-gtk-stuff' into 'master' (*)
  f304e84... Bump minimum Rust version to 1.34 (*)
  449fdcc... Ensure that the __clzsi2 symbol is present (*)
  6fa5391... Merge branch 'fix-clzsi2' into 'master' (*)
  624d6af... NMake Makefiles: Make gettext-runtime libname configurable (*)
  ab61c26... Update NEWS (*)
  f6dfb71... Allow building with gettext ≥ 0.20 (*)
  bd1f85c... Merge 'origin/wip/lantw/allow-building-with-gettext-0.20' (*)
  a80397b... Add rsvg_g_critical_from_c() (*)
  e07a99b... Clarify the comment in rsvg_g_warning() (*)
  9d26e03... c_api.rs: Use rsvg_g_critical() to indicate programming err (*)
  7715a46... RsvgDimensionData::empty(): new; use wherever we were gener (*)
  bf2be6d... Refactor match (*)
  fc575d2... CHandle::get_dimensions() - return a Result; don't panic if (*)
  0bca3ca... Move get_dimensions_no_error() to CHandle as get_dimensions (*)
  38611a4... CHandle: turn explicit panics into g_critical (*)
  a666e08... rsvg_handle_get_intrinsic_dimensions(): Move the out-of-ord (*)
  1e14058... Merge branch 'g-critical' (*)
  3f164e3... (#436): Explain reasons for deprecation of the width/height (*)
  51f9b84... Clarify the meaning of a panic (*)
  62d877e... Mention which functions create RsvgHandle without flags (*)
  d826830... Improve the wording around error return values (*)
  a0409e5... Hint at what to do after calling rsvg_handle_new_from_file( (*)
  15b76e0... Be more explicit at how to pass fragment ids for the _sub() (*)
  56d9a44... Clarify which functions require the base file to be set bef (*)
  bea9fa3... Mention which functions depend on the DPI being set (*)
  b800a38... Mention panics due to incorrect API ordering in the new API (*)
  822408a... Merge branch 'update-docs' (*)
  6e6b2e9... PathOrUrl: test backslashes for Windows pathnames (*)
  9eb2d22... render_to_viewport() - New primitive, intended for renderin (*)
  e925f5e... Rename CairoRenderer::render_to_viewport -> ::render_docume (*)
  56be222... Rename CairoRenderer::render_element_to_viewport() -> ::sna (*)
  c690699... Document render_document() and snapshot_element() (*)
  12194fa... CairoRenderer::render_element() - new API function (*)
  6db7636... Rename snapshot_element -> render_layer (*)
  243cd2e... Rename geometry_for_element -> geometry_for_layer throughou (*)
  2bbb1fd... Rename geometry_for_untransformed_element -> geometry_for_e (*)
  c2c7903... Add C version of rsvg_handle_render_layer() (*)
  16d8b47... Documentation for rsvg_handle_render_layer() (*)
  e943136... Add new API rsvg_handle_render_document() (*)
  f088071... Add new API rsvg_handle_get_geometry_for_element() (*)
  59825cc... Fix deprecation annotations for get_dimensions_sub/get_posi (*)
  5ce94a5... Add new API rsvg_handle_render_element() (*)
  ea76142... Merge branch 'render-element-to-viewport' into 'master' (*)
  4167c96... (#491): rsvg_internals: Don't require environment variables (*)
  1de30a7... length.rs: Turn doc comments into normal comments to avoid  (*)
  163334c... librsvg_crate/tests: allow unused test utility functions, t (*)
  fd293a7... rsvg-handle.c: Remove an HTML entity in the docs (*)
  d14f063... Add index for the new symbols in 2.46 (*)
  e577c3d... Fix docs reference to a function that changed name (*)
  be01a54... Add doc/rsvg.types so the object hierarchy gets generated (*)
  4acc3ad... Move back to DocBook 4.3 (*)
  a67902d... Reorder docs a bit (*)
  a139ad1... Bump version number to 2.45.90 (*)
  0b7ce43... cargo update (*)
  152d284... Update NEWS (*)
  de147d4... (#410): Update introspection annotations (*)
  253512d... Post release version bump (*)
  2478d11... Update float-cmp (*)
  28c224d... doc/Makefile.am: Add include path builddir/librsvg (*)
  ca9246e... Update url to 2.0 and run a full cargo update (*)
  9edd346... Another cargo update (*)
  ccb0717... (#494): Fix combination of "x" and "dy" attributes for tspa (*)
  dc6c738... doc/recommendations.xml: New chapter on Recommendations for (*)
  1761fd5... (#449): librsvg_crate: Make cancellable arguments consisten (*)
  710172f... librsvg_crate: Take all gio arguments as IsA<SomeGioType> g (*)
  260ef5e... Update markup5ever to 0.9 (*)
  8c5587d... cargo update (*)
  90779ad... (#451): Make rsvg-convert detect images larger than pixman' (*)
  55c57b3... Update NEWS (*)
  2296b59... Post-release version bump (*)
  2205cd8... Update the description in the .doap file (*)
  6475ffb... (#496): Ensure all lengths and angles parse as finite numbe (*)
  ac96f5a... (#497): Don't panic on paths with all-invalid commands (*)
  c9827b7... (#500) Added additional SVG blend-modes for feBlend (*)
  665b979... Merge branch 'Andargor/librsvg-master' (*)
  8c91898... Regenerate test reference files with text (*)
  577dcfd... Handle::get_bbox_for_element() - Factor out duplicated code (*)
  c8540b9... handle.rs: Extract function to create a unit rectangle (*)
  c2811e0... c_api.rs: Check the incoming cairo context here to emit a g (*)
  3e11049... c_api.rs: Warn when passing external references here, not i (*)
  d8495a0... Move rsvg_g_warning() and rsvg_g_critical() to c_api.rs (*)
  7821989... Move C API glue to a librsvg_c_api crate (*)
  38fe68c... Remove the c-library feature for the librsvg_c_api crate (*)
  683d92c... Merge branch 'c_api_crate' (*)
  e6683fa... Makefile.am: remove unused variable (*)
  65bac77... Appease autotools a bit by not using _SOURCES suffixes (*)
  601b2f0... Appease "make distcheck" by adding an empty source list for (*)
  7cd081d... Update NEWS (*)
  68e4ca4... Use openSUSE Tumbleweed for the first tests and the "make d (*)
  e7631db... Run "make" before "make distcheck" in the CI (*)
  74bd1f6... Don't rebuild before distcheck; try to use the previous sta (*)
  a3e68a8... (#503): Add "dyn SomeTrait" where rust 1.39 warns about it  (*)
  bafddce... Make the tarball stage depend on the build stage's artifact (*)
  3cf1819... Explicitly list the artifacts under _build to avoid storing (*)
  aca5034... Add artifacts for files which autotools litters in the sour (*)
  5e39ce0... Add the .la files to the artifacts (*)
  46eb905... Oops, sync the crate version number for librsvg_crate (*)
  e7f5fdb... Sigh, allow failures in debian_i386 (*)
  0b1884e... Merge branch 'opensuse-ci' (*)
  8053315... Return a SharedImage, not &SharedImage, from FilterContext: (*)
  5adb6bd... Use RefCell instead of UnsafeCell for FilterCtx::background (*)
  3166ce4... Bump version to 2.46.0 (*)
  3137e6c... Update NEWS (*)
  b4aa8d2... Cargo update (*)
  ae7ecfa... (#506): Fix empty patterns which reference a fallback patte (*)
  eb0c872... Start branch explicit-bboxes (*)
  99b291a... Remove the 91-nonzero-translation.svg test (*)
  cd8c0fe... Make stroke_and_fill() return a Result<BoundingBox> (*)
  a2b3463... DrawingCtx: remove the bbox field; propagate it through Res (*)
  077a8cf... Merge branch 'explicit-bboxes' (*)
  1fc38c2... Allow failures on anything non-opensuse :/ (*)
  1d73b9f... Use or_else() to compute fallbacks in gradients/patterns (*)
  453e81b... set_pattern_on_draw_context(): consume the pattern instead  (*)
  845cd6e... CommonGradient: new struct, a resolved version of CommonGra (*)
  4167d25... LinearGradient: resolved version of LinearGradientData (*)
  4d91da6... RadialGradient: resolved version of RadialGradientData (*)
  bb76723... CommonGradientData::set_on_cairo_pattern(): rename from set (*)
  2c4ddaf... Rename PaintSource's associated type Source to Resolved (*)
  4ef3d70... Move set_pattern_on_draw_context() to a new ResolvedPaintSo (*)
  6e7ad24... Add ResolvedLinearGradient and ResolvedRadialGradient (*)
  7d45042... Implement to_resolved() for NodeFooGradient as a macro (*)
  af76b4d... Move the functions which set the gradient on the DrawingCtx (*)
  ca80aa8... Specify the resolved gradient type to impl_paint_source!() (*)
  aaf920e... impl_paint_source! - use a type, not a token tree, for the  (*)
  2f80a1e... gradient.rs: remove "pub" in a bunch of places (*)
  deebf5c... Move the fallback field from CommonGradientData to NodeLine (*)
  cede339... Replace the two gradient nodes with a single NodeGradient (*)
  b6d48d5... Simplify the while loop in NodeGradient::resolve() (*)
  0f55aa1... gradient.rs: Don't impl Resolve; do everything directly in  (*)
  c6fcf06... gradient.rs: Rename all the things to make them more consis (*)
  6066421... Add an UnresolvedGradient, and use that instead of temporar (*)
  7a64dff... add_color_stops_from_node(): Borrow the child node only onc (*)
  f0308ab... NodeGradient::resolve(): Rename temporary variables (*)
  b1af8cf... Inline Common into Gradient (*)
  8d0060e... Inline Linear/Radial into Variant (*)
  1c00a94... Give a name to the (UnresolvedGradient, next_fallback) tupl (*)
  d49c6d2... Make resolve_*() not mutate self (*)
  c9bf746... Remove NodeStop.get_offset(); access the field directly (*)
  1656ff2... Fix tests (*)
  125c661... Remove superfluous binding (*)
  7a701f6... gradient: check the validity of the bbox as late as possibl (*)
  c43c4b1... Remove the bbox argument from PaintSource::resolve() (*)
  c356f4f... PaintSource::resolve() - Return a PaintServerError, not a R (*)
  154b806... Refactor DrawingCtx::get_clip_in_user_and_object_space() (*)
  e5bffea... Make sure we always pass a Some() to get_node_of_type() (*)
  0419915... DrawingCtx::get_node_of_type(): Take a &Fragment, not Optio (*)
  07f72ad... Return Result<Resolved> from resolve(), not Result<Option<R (*)
  6adabd4... Go back to having NodeLinearGradient and NodeRadialGradient (*)
  601df3a... Add back a Common structure for NodeFooGradient fields (*)
  f2913f0... Split off a get_unresolved_variant() function from each gra (*)
  832be04... Compress get_unresolved() with a macro (*)
  aa36e08... Cache resolved gradients (*)
  3505623... Move the resolved field into Common (*)
  55c5562... Document the structs in gradient.rs (*)
  233b26c... Clone the stops directly; don't use a helper clone_stops() (*)
  73893a4... Merge branch 'refactor-gradient' (*)
  f2ca1bb... pattern: set the weak ref on the result, not the long-lived (*)
  52a4ecd... Use a strong reference to the pattern's node that has the c (*)
  df69134... gradient: Ahem, really make resolve_from_fallback() immutab (*)
  aef62b0... Comment out RsvgWeakNode; it is unused (*)
  0a00f72... gradient: remove the fallback_to! macro now that plain Opti (*)
  2a9a56c... NodePattern: move the fallback field to the end (*)
  8b0d6f9... gradient: really make resolve_from_defaults() immutable (*)
  4c07bff... Make resolve_from_*() take &self, not &mut self (*)
  f8f2f55... Prepare trait Resolve for immutability later (*)
  9f4ef22... NodePattern: make fields private (*)
  fe8915f... NodePattern: move common fields to a Common struct (*)
  0f34a58... pattern: split off an UnresolvedPattern, similar to the gra (*)
  41e5c9d... NodePattern: cache the resolved Pattern (*)
  a3043ae... Introduce UnresolvedNodeWithChildren to finally keep track  (*)
  96cdcf5... Rename to UnresolvedChildren / Children (*)
  5da875a... Rename PaintServerError to AcquireError (*)
  8a90d6c... Make get_node_from_type() return a Result, not an Option (*)
  abb4e68... Make get_node() return a Result, not an Option (*)
  878b08e... Make get_node_of_type() take a slice of valid types, instea (*)
  3b0da95... Remove the public AcquiredNodes::get_type(); use get_node_o (*)
  2421bab... Rename get_node_of_type() to just acquire() (*)
  78670b2... Make AcquiredNodes private; use DrawingCtx::acquire_node()  (*)
  2321911... Rename trait and method to AsPaintSource::set_as_paint_sour (*)
  f8c907f... Merge branch 'refactor-pattern' (*)
  54b710c... Use the cr.path_extents() from gtk-rs, not an unsafe call. (*)
  5c986d5... Use plain Pixbuf::new() now that it detects out-of-memory p (*)
  4df2778... Move pixbuf_utils to the librsvg_c_api crate (*)
  50b3a5f... limits.rs - New file; move the constant for maximum instanc (*)
  f14b536... Rename num_elements_rendered_through_use to num_elements_ac (*)
  2650d97... AcquireError: Add a MaxReferencesExceeded variant (*)
  d0cbdbf... Do the limits check in acquire_node() (*)
  7fb5175... Propagate AcquireError::MaxReferencesExceeded quickly upstr (*)
  2151b3b... Add test for the billion-laughs equivalent from issue #515 (*)
  01c6184... xml.rs: Export a single xml_load_from_possibly_compressed_s (*)
  197e7e2... XmlState: make a field private (*)
  2c25647... Inline load_from_possibly_compressed_stream() into its sing (*)
  e0beb49... Use a IsA<gio::InputStream> generic only in the toplevel li (*)
  1869767... Rename ctx to user_data in the libxml2 callbacks (*)
  ee6b6e1... Use Xml2Parser for the user_data of libxml2 SAX callbacks i (*)
  74f2ca0... Call xmlStopParser() when the start_element callback return (*)
  9a32e5e... Use the last error obtained in XmlState as the final result (*)
  572f95f... (#515) - Add a limit for the number of loaded elements (*)
  4458540... Merge branch 'limits' (*)
  ccc4ea3... Rename light node types (*)
  92f6d90... Use separate structs for light source nodes (*)
  ad86ab8... Simplify the generation of the libtool archive file (*)
  c5f550d... Lighting: move compute_factor in an impl method (*)
  76a8cfe... path_builder: use is_empty (*)
  65532f4... property_defs: take self in is_vertical (*)
  1946bff... handle: use is_none (*)
  dcbbf9c... handle: cleanup calls to map() (*)
  80b4c29... marker: use the ..= syntax (*)
  fd1eb86... marker: prefer "if let" (*)
  2027774... properties: prefer "if let" (*)
  09f75d5... style: remove uneeded into_iter call (*)
  9952fb5... transform: cleanup map_err calls (*)
  ca0e1a6... svg: cleanup map call (*)
  c22aa90... svg: use is_empty (*)
  b52c6f4... text: code cleanup (*)
  42b7ba9... xml2: use "cloned()" (*)
  8ee9bd6... pattern: prefer or_else (*)
  5eccf5d... gradient: prefer or_else (*)
  6b64060... rect: shorten code using iterator methods (*)
  69983e9... rect: add conversion to cairo::Rectangle (*)
  aec2c61... shared_surface: use rect conversion to shorten code (*)
  1512141... filters: use rect conversion to shorten code (*)
  bca3fa1... surface_utils: prefer explicit conversion (*)
  b891ab5... turbolence: remove identity conversion (*)
  e502464... xml: use "copied()" (*)
  aaa9f22... xml: use () instead of return (*)
  f5d48bd... xml: use is_empty and return early (*)
  dd23ef0... xml: shorten code using a single match (*)
  32df3b7... xml: cleanup map_err (*)
  79353c1... angle: pass by value (*)
  b74ade8... drawing_ctx: pass colors and opacity by value (*)
  ecb89f2... length: pass by value (*)
  eed2c6b... aspect_ratio: use unwrap_or_default (*)
  7797c50... structure: marge "else if" in outer "if" (*)
  bfddafb... angle: prefer explicit conversion (*)
  5d1da0e... color: cleanup map() call (*)
  3633e8d... cond: cleanup map() call (*)
  db28807... css: use is_empty (*)
  c4b0175... css: cleanup map() call (*)
  8bd1b12... drawing_ctx: use is_empty (*)
  04e7d8a... font_props: prefer "if let" (*)
  8f80655... font_props: do not clone Copy values (*)
  11baafc... path_parser: simplify if clause (*)
  39632be... allowed_url: use is_empty (*)
  33d3555... COMPILING.md: update fedora deps (*)
  ebfa252... rsvg_internals: remove update note from cargo.toml (*)
  e5bb858... Update NEWS (*)
  9288537... Merge branch 'pborelli/librsvg-light-source' (*)
  8ed2313... Bump Rust version to 1.36, for string-cache and Option.copi (*)
  1f7d9c4... Merge branch 'pborelli/librsvg-clippy' (*)
  7b97106... configure.ac: Bump to 2.47.0 (*)
  f184599... AcquiredNodes: reorder the type/acquisition checks (*)
  2ebae34... Turn AcquiredNode into a real struct, not a tuple struct (*)
  5df5db7... AcquiredNode: store the stack as an Option. (*)
  cd3683d... AcquiredNodes: Only push nodes which are accessed by refere (*)
  ddbfb47... NodeUse: don't drop the acquired node immediately (*)
  05b1c3f... AcquireError::CircularReference(n) now stores an RsvgNode,  (*)
  c9d4f78... Make <use> always acquire itself, to catch circular referen (*)
  9f7a845... (#308): Don't exhaust the stack on recursive <use> (*)
  48a9ea4... Merge branch 'recursive-use' (*)
  da907ba... Add a test for recursive feImage (*)
  96b34f8... Use the LGPL 2.1 consistently (*)
  c17b9c8... component_transfer: split FuncA, FuncR, FuncG, FuncB nodes. (*)
  413152e... lighting: split DiffuseLighting and SpecularLighting (*)
  60de0bd... shapes: split polygon and polyline nodes (*)
  f796986... node_create: move the call to default() in the macro (*)
  8cea2b3... Add a dummy file, to make sure the library is non-empty (*)
  6ab6ea9... Merge branch 'pborelli/librsvg-node-biun' (*)
  a1d384e... Merge branch 'kleisauke/librsvg-simplify-la-generate' (*)
  e2c9cbe... Makefile.am: update comment (*)
  57c2a2e... Merge branch 'make' into 'master' (*)
  23b832d... Store a QualName instead of a LocalName for a node's elemen (*)
  fa8874a... Initialize the xmlSAXHandler in a more legible way (*)
  bd49bec... xmlSAXHandler: add prototypes for the startElementNs and en (*)
  8670abf... PropertyBag: allow storing two kinds of data internally (*)
  94a61b8... PropertyBag: Add constructor for namespaced attributes from (*)
  eacaad8... PropertyBag: handle empty attribute values (*)
  735910b... xml2_load.rs: Switch to using the namespaced SAX2 callbacks (*)
  58e9f27... (#521): Compute geometries correctly if there is a viewBox  (*)
  4167ade... DrawingCtx.draw_node_on_surface(): Pass the affine directly (*)
  90742ad... generate_cairo_mask(): Return the mask surface instead of m (*)
  571ffbe... mask: move code to surface_utils (*)
  6149d40... Merge branch 'mask' into 'master' (*)
  9fa2453... NodePath: store a plain PathBuilder, not Option<PathBuilder (*)
  e25c744... Convert everything from LocalName to QualName (*)
  341bbf0... 338-zero-sized-image.svg: Add missing namespace declaration (*)
  b769a5c... Add release notes about namespace support and strictness (*)
  b54a6ba... 342-use-references-ancestor.svg: Add missing namespace decl (*)
  8ca0a26... 497-path-with-all-invalid-commands.svg: Remove invalid name (*)
  08f2316... 777155-zero-sized-pattern.svg: Fix invalid namespaces (*)
  6378277... PropertyBag::new_from_namespaced_attributes: rename to new_ (*)
  05581a7... PropertyBag: take in the element's namespace to assign it t (*)
  76ae722... Assign the empty namespace to the "id" attribute (*)
  d81625a... tests/fixtures/errors/*.svg - Add missing namespace declara (*)
  e1c4fdb... NEWS - note on namespace for xi:include (*)
  dceecd1... tests/fixtures/infinite-loop/* - Fix missing namespaces (*)
  4e98718... Merge branch 'namespaces' (*)
  354e42c... Rename struct Svg to Document (*)
  02e7fc7... document: factor out a DocumentBuilder object (*)
  65beb56... Merge branch 'docbuilder' into 'master' (*)
  6f86ddd... c_api.rs: Extract the BaseUri logic to its own struct (*)
  687d0af... BaseUrl: use a single Option for both the url and the cstri (*)
  bf8dfb2... Merge branch 'base-url-single-field' (*)
  61bfb8b... CHandle: set/get the dpi in a single set of functions (*)
  ca928b3... CHandle: add accessors for setting/getting flags (*)
  cfd4530... c_api.rs: Make a bunch of functions private (*)
  9a2ec35... CHandle: move the configuration part to an inner structure (*)
  c33f11a... Merge branch 'chandle-mutability' (*)
  60a4d73... space.rs: make function argument variable mutable (*)
  8d97c1d... Merge branch 'alatiera/function_arg_mut' into 'master' (*)
  a11f5d6... Update NEWS (*)
  6564aa8... librsvg_crate/Cargo.toml - Oops, bump to 2.47.0 (*)
  7003dc1... Cargo update (*)
  226b713... Start documenting the toplevel rsvg_internals/lib.rs (*)
  5875ccb... Publish the internals documentation in gitlab pages (*)
  7c729f2... Cargo update (*)
  209e3af... Rename docs job to "pages" so gitlab will publish its artif (*)
  0f833ca... Run the "make distcheck" CI only on schedule (*)
  def6fb4... Actually, run "make distcheck" on every CI run (*)
  2cdaac7... Build the docs pages in the same stage as the tests (*)
  25307a9... Link to the documentation pages from the README.md (*)
  9865e1a... Document IntrinsicDimensions (*)
  913bdd8... Clarify docs for with_dpi (*)
  38f047e... Use "SVG document" instead of "SVG file" where appropriate (*)
  737d2bf... Don't re-export LoadOptions from librsvg_crate (*)
  317169a... Mention that Loader is a builder pattern (*)
  477837f... librsvg_crate: Make all the examples runnable as tests (*)
  29363e6... Consistency fixes for docs (*)
  2ef2ea6... Length.get_unitless and from_cssparser should not be public (*)
  7e7b5ee... Document the Length type (*)
  8fc9bf1... document: shorten code (*)
  3e6b5a2... xml: pass DocumentBuilder from the caller (*)
  5661040... xml: append stylesheets to the builder and then load them (*)
  74a0d9d... tests: add a test for issue 524 (*)
  e0766c3... filters: rename Filter trait to FilterEffect (*)
  f0777bb... pattern: rename inner struct to ResolvedPattern (*)
  1195fe5... Rename all node structs so that they match the element name (*)
  c423018... node: remove the Defs type (*)
  2e6c711... create_node: simplify macro (*)
  d68ca3c... Merge branch 'rename' into 'master' (*)
  7bf1391... DocumentBuilder.build() - consume self instead of doing acr (*)
  1230995... Merge branch 'pborelli/librsvg-doc' (*)
  e219c3a... Parse <style> contents directly DocumentBuilder at the time (*)
  7559e86... Move the filter node out of filters (*)
  325b9de... document: accumulate all the style text before parsing it (*)
  3732122... Respect the contentStyleType attribute of the svg element (*)
  8712cc6... Merge branch 'style' into 'master' (*)
  7bbb590... Add commented-out code to examine data: URLs (*)
  1fee7f9... croco.rs: Add struct definition for CRSimpleSel (*)
  3d3aacb... Compute the specificity of CSS selectors (*)
  c0f28be... (#525): Consider specificity when applying CSS selector mat (*)
  22c3e2b... Merge branch 'specificity' into 'master' (*)
  887fb8a... element_name() - return a QualName, not a str (*)
  4406568... Temporary snapshot of various servo crates (*)
  8ced490... Depend on the selectors crate (*)
  2c47d30... NodeChars::is_empty() - new method (*)
  eb86c9f... Start defining the types that SelectorImpl requires (*)
  8d3c6f4... Use the same cssparser version that Servo requires (*)
  ef8da41... First implementation of selectors::Element (*)
  f42d533... derive_common: Fix example in documentation (*)
  2b251eb... Rename function to append_stylesheet_from_xml_processing_in (*)
  6f7e6b8... Load the stylesheet directly in append_stylesheet_from_xml_ (*)
  02be814... Add a state for parsing <style> to XmlState (*)
  8928168... Store the stylesheet data in the Style node and load it whe (*)
  5d4e309... Rename CssRules to Stylesheet (*)
  6e10007... DocumentBuilder: store a list of stylesheets, not a single  (*)
  1fcb7fd... Replace lazy_static with once_cell (*)
  04e27e5... Implement selectors::Parser and cssparser::QualifiedRulePar (*)
  644da96... Implement cssparser::QualifiedRuleParser and do matching wi (*)
  03ce9bd... Remove references to libcroco (*)
  c2cb0d5... Internals documentation for the css module (*)
  4aeef8c... Rename property names to prop_name in general (*)
  579f69f... Implement minimal handling of @import (*)
  285e005... Cover both variants of @import (*)
  cb62442... document: remove uneeded map_err (*)
  07fdfa2... create_node: remove a macro, leverage FromIterator for the  (*)
  7273e97... css: make code shorter and idiomatic (*)
  014c290... css: simplify code (*)
  2258fdf... css: rename RsvgSelectors to Selector (*)
  449e20c... Merge branch 'once_cell' into 'master' (*)
  cad0967... (#237): Use cssparser and selectors, not libcroco (*)
  2a6e8bc... Use chunks_exact instead of manual iteration (*)
  ecfdb08... Improve a comment (*)
  61addb9... xml: small cleanup (*)
  8e4d36c... css: remove unneded into_iter (*)
  0f5480c... Add test case for issue #336 (*)
  67b9ce8... Move the test for #336 to tests/fixtures/crash/ (*)
  389e5b7... Stylesheet.get_matches() - renamed, and return a vec of Dec (*)
  b4558d1... Extract function to run the main cascade (*)
  fc9721a... get_matches() doesn't need to be public anymore (*)
  8123633... Use matches_selector() instead of matches_selector_list() s (*)
  b0885e4... Consider specificity during matching (*)
  7e70013... Create the MatchingContext only once per element (*)
  1277fc3... Adjust docs (*)
  d4599a4... Store a Stylesheet's origin (UserAgent, User, Author) (*)
  c7197eb... Copy the stylesheet's origin into the Match struct (*)
  85fb096... Impl Ord for Match and for Origin (*)
  04d900d... Remove unused error variant (*)
  8edc869... Allow unused variants for Origin, since we are only using A (*)
  fe1d09b... Remove content_style_type() after all (*)
  58ee9ea... Merge branch 'cascade' (*)
  9bef7f0... make_property! - use impl_property! where there was a bit o (*)
  2c397aa... Little hack to make it possible to print sizes of various s (*)
  caf4177... Toplevel docs for the length module (*)
  4c4796f... Remove Length.get_unitless(); use plain length() from the f (*)
  21a40f4... Put most of the define_length_type macro in a trait (*)
  0046257... Make structure::IntrinsicDimensions not use oriented length (*)
  e628b7f... Make RsvgLength the #[repr(C)] type, separate from Length (*)
  5dc531c... Rename Orientation.scaling_factor() to .normalize() (*)
  710c487... Inline Length::from_cssparser into Length::parse (*)
  d8e26cb... Don't create a LengthFoo::from_cssparser; we already create (*)
  93cb8e7... Make Length<O> the one and only length type (*)
  9655354... Merge branch 'length-cleanup' (*)
  f7f4367... Fix the length module's docs with the new Orientation trait (*)
  81de7a7... Rename trait Orientation to Normalize (*)
  5555374... Add the servo_crates sources to Makefile.am (*)
  b7d7d58... Fix link in docs (*)
  7ad034d... Disable link-time optimization (LTO) in release mode (*)
  858b755... Bump version to 2.47.1 (*)
  e7fdf36... Ignore the keep_image_data() test so it doesn't write to sr (*)
  6000501... Dear autotools. (*)
  da712ab... Link to the generated internals docs (*)
  6bded08... Update NEWS (*)
  8780d91... (#504): Provide an usage example in the librsvg crate docs (*)
  a5fc228... viewbox: small cleanup (*)
  c275b79... image: small cleanup (*)
  4fef254... benches: remove unused cairo_sys (*)
  92e22c3... filters: shorten code leveraging Rect's From trait (*)
  e603851... surface_utils: use IRect::contains (*)
  be65eed... rect: add from_size to RectangleExt (*)
  6d1aa33... rect: add (x|y)_range methods to IRect (*)
  db5a6c6... rect: add constructrors for IRect (*)
  52141b0... rect: rename method to intersection (*)
  3612184... rect: add translate and intersection for IRect (*)
  e6b5442... rect: add translate method (*)
  f87fccf... Move RsvgRectangle in the legacy C api (*)
  e74a338... Merge branch 'rect' into 'master' (*)
  28fde5d... dasharray: split to its own module (*)
  a90674c... Merge branch 'dasharray' into 'master' (*)
  ec2bbf2... Add IRect::width() and height() (*)
  f6cf1eb... Doc comments for the Parse trait (*)
  7b7b983... Generate slightly more meaningful ParseError messages (*)
  e5a1b3c... Remove ParseFromStreamError; use LoadingError directly ever (*)
  ed1f453... Change the error code for short files (*)
  be1f3ed... Move all the GError machinery to c_api.rs (*)
  9b84dd7... Log all errors in c_api to get diagnostics from apps which  (*)
  92c49be... parse_one_presentation_attribute() - renamed from parse_att (*)
  9c404a7... Don't log non-presentation attributes as unknown properties (*)
  bf06b86... Log parse errors on properties with less noise from QualNam (*)
  059be99... Log errors for presentation attributes as such, not as styl (*)
  7c1004b... Make fmt::Display for NodeError less verbose (*)
  d5826ff... Don't convert to NodeError in parse_one_presentation_attrib (*)
  0716181... impl Parse for IRI - return ValueErrorKind, not ParseError (*)
  9d46585... trait Parse - remove the Err associated type (*)
  2959f77... NodeError::new() - renamed from ::attribute_error() (*)
  e97580e... Convert directly from cssparser::BasicParseError to our Val (*)
  f147829... Images: make methods private (*)
  a34a632... Images::lookup() - take an AllowedUrl, not a &str (*)
  2c4ebf3... Get rid of ParseError; only use ValueErrorKind (*)
  a974bc4... Merge branch 'refactor-errors' (*)
  5d5b548... bbox: rework API and internals (*)
  ab1a9fa... rect: drop outer() method (*)
  5267c04... filters: avoid rect conversion roundtrip (*)
  deb015e... Merge branch 'bbox' into 'master' (*)
  2fa0d40... (#408): Don't clip feImage to integer bounds (*)
  9e48fc1... Merge branch 'pborelli/librsvg-filters' (*)
  7b9e2d8... pattern: small cleanup (*)
  f8fa7f9... rect: replace IRect with a generic rect (*)
  0f0492c... Add a Rect type alias for rect::Rect<f64> (*)
  0de009d... rect: conversion trait (*)
  aa3311e... Move all the internals from cairo:Rect to Rect (*)
  d20b4f9... viewbox: make viewbox a newtype on Rect (*)
  75c9af5... rect: remove cairo extension trait (*)
  4162693... Remove __clzsi2 workaround (*)
  eea4aa3... Merge branch 'remove-clzsi2-workaround' into 'master' (*)
  51b80dd... Merge branch 'pborelli/librsvg-rect' (*)
  b7e65f1... Rect: extract a make_path_builder() function (*)
  72911e2... Circle, Ellipse: extract a make_path_builder function (*)
  6d168b4... Polygon / Polyline: extract a make_path_builder function (*)
  85e5a72... Line: extract a make_path_builder function (*)
  ffdbe70... Return Cow<PathBuilder> from all the make_path_builder func (*)
  abfd8ac... Path: extract a make_path_builder function (*)
  3f6d36a... shapes.rs: Make all the draw() functions the same (*)
  56c0be0... shapes.rs: Move the common draw() code to a trait Shape (*)
  445f5ab... lighting: get w,h just once (*)
  ebad0fe... Use a struct Shape instead of a trait (*)
  d2abd48... Use a custom Markers enum instead of a bool (*)
  6f1081a... Shape: use an Rc<PathBuilder>, not a Cow (*)
  238053e... Merge branch 'refactor-shapes' (*)
  fde7422... filters: shorten context code (*)
  8ce7041... filters: factor out shared conversion code (*)
  abd99a9... Document the `LoadOptions` struct (*)
  98524a4... Docs for the Document struct (*)
  d13d881... Start documenting RsvgNode and create_node (*)
  8a12369... Document PropertyBag (*)
  cb57379... Add one-line descriptions of each module (*)
  3b441d9... Use a utility function (*)
  442c0ec... Use ValueErrorKind::parse_error instead of creating the var (*)
  3f5ec73... lighting.rs: Don't use NodeError directly (*)
  f32996d... turbulence.rs: Don't create a NodeError directly (*)
  6445bb1... filters/image.rs: Don't create a NodeError directly (*)
  0384845... morphology.rs: Don't create a NodeError directly (*)
  02e82cc... gaussian_blur.rs: Don't create a NodeError directly (*)
  cffd40e... component_transfer.rs: Don't create a NodeError directly (*)
  7b27f07... convolve_matrix.rs: Don't create a NodeError directly (*)
  acae66e... image.rs: Don't create a NodeError directly (*)
  302eb3d... parsers.rs: Don't create a NodeError directly (*)
  81e38af... node.rs: Don't create a NodeError directly (*)
  54f2f49... color_matrix.rs: Don't create NodeError directly (*)
  61d5fed... NodeError: remove unused method value_error() (*)
  1e08436... displacement_map.rs: Don't create a NodeError directly (*)
  8fc05fd... morphology.rs: Don't create a NodeError directly (*)
  8d9fa4f... component_transfer.rs: Don't create a NodeError directly (*)
  789fea9... convolve_matrix.rs: Don't create a NodeError directly (*)
  b52d55b... blend.rs: Don't create a NodeError directly (*)
  85614c7... filters/input.rs: Don't create a NodeError directly (*)
  674ded5... turbulence.rs: Don't create a NodeError directly (*)
  e37ee52... Remove unused NodeError::parse_error (*)
  5954f6f... Inline NodeError::new() into its only caller (*)
  695e30d... Remove unneeded type parameter E on AttributeResultExt (*)
  b72421e... Introduce a ParseError type (*)
  4f5212b... parse_identifiers! - new macro for parsing symbol lists fro (*)
  7d9973a... aspect_ratio: use parse_identifiers! (*)
  2ffe439... property_macros: use parse_identifiers! for the identifiers (*)
  ca28b2b... FontSizeSpec: simplify parsing (*)
  aa4b4f7... LetterSpacingSpec: simplify parsing (*)
  3428fe7... SpreadMethod: simplify parsing (*)
  2a9b4a3... MarkerUnits: simplify parsing (*)
  7a5d0da... CoordUnits: simplify parsing (*)
  00dae7c... BaselineShift: simplify parsing (*)
  f4705c1... Operator: simplify parsing (*)
  b6f3073... component_transfer.rs: impl Parse for FunctionType instead  (*)
  bbd9c56... displacement_map.rs: impl Parse for ColorChannel instead of (*)
  6d36336... morphology.rs: impl Parse for Operator instead of using a c (*)
  b315842... Remove a few unnecessary derives (*)
  24f86fc... convolve_matrix.rs: impl Parse for bool for the preserveAlp (*)
  62c0cff... convolve_matrix.rs: impl Parse for EdgeMode instead of usin (*)
  34cabb8... color_matrix.rs: impl Parse for OperationType instead of us (*)
  af9fec4... color_matrix.rs: impl Default for OperationType (*)
  c4cf96e... blend.rs: impl Parse for Mode instead of using a custom met (*)
  cc97f87... turbulence.rs: impl Parse for StitchTiles and NoiseType ins (*)
  113dd79... filters/input.rs: Implement the CSS custom-ident type (*)
  b08f449... Return a BasicParseError from parse_identifiers (*)
  67d4014... Input::FilterOutput(x) make x a CustomIdent, not a String (*)
  76360fe... FontSizeSpec: simplify parser (*)
  2781f03... Remove the CssParserExt trait (*)
  d1a81ab... Merge branch 'refactor-parsers' (*)
  e438042... Update NEWS (*)
  d119a64... Bump version to 2.47.2 (*)
  a894488... Cargo update (*)
  832cca5... properties.rs: Add a helper parse_input_to_parse_error to c (*)
  cee6918... Temporarily rename ParseError to CssParseError (*)
  64e292e... Introduce a ParseError enum, temporarily with variants for  (*)
  759769b... Return a ParseError from the basic parse_property() (*)
  f5ee9e6... TextDecoration: return a CssParseError (*)
  c269c12... Convert all the "identifiers" properties to CssParseError (*)
  03203c3... Convert Color, FontSizeSpec, LetterSpacingSpec to CssParseE (*)
  4fab2a5... Convert SingleFontFamily / FontFamily to CssParseError (*)
  4d8f891... Convert FontWeightSpec / FontWeight to CssParseError (*)
  1614684... Convert UnitInterval / all the *Opacity properties to CssPa (*)
  02187a6... Convert IRI, ClipPath, Filter, Marker*, Mask to CssParseErr (*)
  95b97b8... Temporary trait ParseValueToParseError (*)
  5ea031c... Convert PaintServer, Fill, Stroke to CssParseError (*)
  7a1aa7c... Convert Dasharray, StrokeDasharray to CssParseError (*)
  da175ef... Convert StrokeMiterlimit to CssParseError (*)
  8801315... Convert Length and all properties/attributes of that type t (*)
  6d660a3... Remove unused parse_input() (*)
  d7e14d1... Remove unused parse_and_validate() (*)
  868547d... Convert NumberList and ViewBox to CssParseError (*)
  dc99be7... Remove the is_*_error() functions for tests (*)
  fcea36d... Convert Matrix to CssParseError (*)
  c1b12d3... Convert Input and CustomIdent to CssParseError (*)
  245f873... impl ParseToParseError for i32 instead of using an integer( (*)
  4758373... Replace number_optional_number() with a NumberOptionalNumbe (*)
  a1d25b5... Convert Angle, MarkerOrient to CssParseError (*)
  09d0821... Convert StitchTiles, NoiseType to CssParseError (*)
  5b493fa... Convert blend::Mode to CssParseError (*)
  5776e36... Convert OperationType to CssParseError (*)
  bd12952... Convert EdgeMode to CssParseError (*)
  748ac7c... Convert FunctionType to CssParseError (*)
  ae03cf4... Convert composite::Operator to CssParseError (*)
  49c3447... Convert morphology::Operator to CssParseError (*)
  46e6efb... Convert ColorChannel to CssParseError (*)
  a5ed474... Convert CoordUnits to CssParseError (*)
  7c31e69... Convert XmlLang, XmlSpace to CssParseError (*)
  104b353... Convert AspectRatio, MarkerUnits to CssParseError (*)
  53f19b4... Convert Points to CssParseError (*)
  b1a3738... Convert all the remaining uses of f64::parse to the CssPars (*)
  e4c0443... Convert SpreadMethod to CssParseError (*)
  5b604cd... Convert StyleType to CssParseError (*)
  024e186... Remove the Parse and ParseValue traits (*)
  f7f70fe... The Great Renaming is done! (*)
  fa0cd8f... Merge branch 'css-parse-error' (*)
  0edc80c... Switch to the released version of the selectors crate (*)
  798e5c0... Merge branch 'selectors' into 'master' (*)
  0199885... drawing_ctx: make CompositingAffines private to the module (*)
  f5f4a10... bbox: tweak construction API (*)
  58c4297... Merge branch 'cleanup' into 'master' (*)
  ff2ba47... filters: shorten code (*)
  528a84f... Move test in the correct place. (*)
  d78a352... Move composition code in surface_utils. (*)
  b210fe7... filters: use compose method also for FeMerge (*)
  32c1d1a... filters: use compose method also for FeBlend (*)
  9ae2ba3... Merge branch 'filters' into 'master' (*)
  1b1cc4d... image: reduce scope of cairo context (*)
  d515522... drawing_ctx: shorten code (*)
  3eef749... image: shorten code (*)
  d91ca5a... drawing_ctx: use iterator instead of recursive function (*)
  e82c654... drawing_ctx: move the num_elements_acquired check in Acquir (*)
  10da874... mask: consolidate rect computation in a block (*)
  2258df1... gaussian_blur: shorten code (*)
  c90c96c... Improve feOffset reftest (*)
  fdc2e0a... filters: remove unused pub method (*)
  2ea2a92... clip_path: shorten code (*)
  e0c4fb1... clip_path: move cairo clipping in drawing_ctx (*)
  1757fb4... mask: move generate_cairo_mask in drawing_ctx (*)
  b6b73aa... drawing_ctx: add with_link_tag method (*)
  e00cd8b... structure: move clip_path, link, and mask in structure.rs (*)
  86209d0... drawing_ctx: make with_saved_matrix take an optional transf (*)
  98f148c... Merge branch 'clipmask' into 'master' (*)
  941e80c... marker: make code slightly more idiomatic (*)
  893e7ae... marker: shorten parse function (*)
  27e605a... Merge branch 'marker' into 'master' (*)
  086d467... pattern: factor out get_rect (*)
  42e517e... pattern: manually check cairo surface creation (*)
  cde5715... drawing_ctx: make push/pop_cairo_context private (*)
  2b58cbf... drawing_ctx: add draw_from_use_node method (*)
  9561d60... Tidy up cairo imports (*)
  6f745a3... Update to the latest gtk-rs releases (*)
  ac15fb4... bounds: remove unneeded into() (*)
  d1cc13a... surface_utils: pass down opacity as a UnitInterval (*)
  ff867b5... flood: move cairo implementation to surface_utils (*)
  444f322... offset: move cairo implementation to surface_utils (*)
  49b0074... flood: shorten code (*)
  8b002eb... cargo fmt (*)
  387b0f8... Move srgb.rs in surface_utils (*)
  a70fe48... shapes: move draw_path method on drawing_ctx (*)
  2eb5564... node: reorder includes (*)
  f64fec7... shapes: shorten code (*)
  29809e2... drawing_ctx: turn a couple of method into plain helper func (*)
  81771ad... drawing_ctx: cleanup AcquiredNodes (*)
  14a8290... image: factor out get_rect (*)
  5d379d2... (#542): Fix infinite loop when processing sibling combinato (*)
  5b00736... Link to libxml2 from rsvg_internals, not librsvg_crate (*)
  6c87066... Add tests for impl selectors::Element (*)
  11f3c2d... filters: move cairo code out of the image filter (*)
  18c63d8... tile: move cairo code out of the tile filter (*)
  eaa99fd... Ahem, forgot to babysit Makefile.am (*)
  a5fc7af... Write test output from the Rust tests to the same output/ d (*)
  d40503f... Merge branch 'pborelli/librsvg-image' (*)
  5f752df... Use the xml namespace for the xml:lang and xml:space attrib (*)
  c4f5e81... Unprefixed attributes don't have a namespace at all (*)
  2677021... Log invalid rules and declarations (*)
  b13d386... Merge branch 'unprefixed-attributes' into 'master' (*)
  b61cbbb... css: fmt (*)
  77d6d77... Morphology: shorten code (*)
  93cbf4b... surface_utils: clarify iterator constructors (*)
  4c3b51a... shared_surface: rework constructor methods (*)
  b0959e0... drawing_ctx: rework get_snapshot (*)
  2fe7c1e... drawing_ctx: pass SharedImageSurface as param to run_filter (*)
  735dc7b... shared_surface: always use the full cairo namespace (*)
  f9a4fb1... shared_surface: remove unused method (*)
  c74f435... Remove the last traces of the ParseError enum with variants (*)
  ff41b8c... Finally rename CssParseError to ParseError. (*)
  9f1d9af... Merge branch 'parse-error' into 'master' (*)
  4d68fee... error.rs: Move an impl so all its related code is contiguou (*)
  f68fbc0... filters: shorten "merge" code (*)
  9b7632b... repr(C) the enums created by the make_property macro (*)
  54eb910... Don't parse "inherit" for rsvg_css_parse_color() (*)
  1a35920... Add missing newlines to a couple of rsvg-convert error mess (*)
  15c6a8c... rgba_to_argb(): Make private (*)
  e409832... Remove RSVG_CSS_COLOR_SPEC_CURRENT_COLOR (*)
  3b235a3... Move rsvg_css_parse_color() and its machinery to librsvg_c_ (*)
  df0c689... Inline ColorSpec::from() into its only caller (*)
  dc6469d... Merge branch 'parse-color-to-c-api' into 'master' (*)
  59d4737... Don't erase error information in DeclParser::parse_value() (*)
  1b4565b... Log invalid declarations when parsing the style attribute (*)
  45421b4... Use ? in favor of map_err (*)
  33d2c8d... FontWeightSpec: simplify parser (*)
  f5d21de... IRI: preserve the Href error information (*)
  7c61f66... FeImage: preserve the Href error information (*)
  1ac14a4... surface_utils: add ExclusiveImageSurface (*)
  ff31ea0... filters: port color matrix to ExclusiveImageSurface (*)
  599bfb9... filters: port component transfer to ExclusiveImageSurface (*)
  0b35920... filters: port convolution matrix to ExclusiveImageSurface (*)
  e861707... filters: port turbolence to ExclusiveImageSurface (*)
  4b24ba5... filters: port morphology to ExclusiveImageSurface (*)
  1b16043... filters: port displacement to ExclusiveImageSurface (*)
  cda3a25... filters: port lighting to ExclusiveImageSurface (*)
  d03b0b2... filters: port drawing_ctx to ExclusiveImageSurface (*)
  bf75e8a... filters: shorten code in context.rs (*)
  9271fce... filters: port context to ExclusiveImageSurface (*)
  db2241e... shared_surface: use ExclusiveImageSurface for composite_ari (*)
  f907398... benches: port pixel iterator bench to ExclusiveImageSurface (*)
  c935857... Merge branch 'filters' into 'master' (*)
  823bdd5... surface_utils: shorten iterator test code (*)
  c22856e... srgb: use ExclusiveImageSurface (*)
  dea449a... surface_utils: go back on set_pixel directly on the data sl (*)
  2612984... Update NEWS (*)
  31c3892... Visual Studio: Fix builds (*)
  577cf97... Handle: store a Document, not an Rc<Document> (*)
  9e4be33... Store the stylesheets in the Document (*)
  a262cc4... benches: shorten code (*)
  71ce42a... parser: remove uneeded lifetime annotation (*)
  7d54bf8... angle: take bisect param by value (*)
  648ed76... drawing_ctx: simplify code (*)
  1ef0938... drawing_ctx: add get_transform method (*)
  b4126c6... bbox: rename function to with_transform (*)
  337e7a2... drawing_ctx: rename method (*)
  463e49d... filter: rename param (*)
  6b8b5c2... transform: implement our own Transform type (*)
  2b267b8... Merge branch 'transform' into 'master' (*)
  75a4e40... marker: operate on the transform rather than cr (*)
  499aea3... drawing_ctx: replace clip() method with a with_clip_rect()  (*)
  d42b09d... Cascade the document tree from a method in Document (*)
  6ecab56... Merge branch 'marker' into 'master' (*)
  e8f199a... Add an "extra" set of stylesheets to the arguments of casca (*)
  ca8a54c... Docs for Document.cascade() (*)
  7eeac45... Minimal implementation of a public SvgHandle::set_styleshee (*)
  c68c5e6... Docs for the set_stylesheet() public API (*)
  9311448... New C API, rsvg_handle_set_stylesheet() (*)
  52ea6bd... Add a -s / --stylesheet option to rsvg-convert (*)
  36e640b... tests: add test cases for pattern fill (issue #510) (*)
  1b3988e... pattern: respect fill-opacity (*)
  a429865... Bump the library version for the new API (*)
  5ea8c90... Bump the minimum Rust version to 1.39 (*)
  58b0f8d... Merge branch 'pborelli/librsvg-gtk-rs' (*)
  3638e0d... Merge branch 'svenfoo/librsvg-510-patterns-ignore-opacity' (*)
  f4a783d... Print the cairo/pango/freetype versions from the configure  (*)
  e04f4d7... Print dependency versions in rsvg-test.log (*)
  e54ac78... Merge branch 'custom-css' (*)
  fd7eca8... Update NEWS (*)
  99e4c1b... Bump version to 2.47.3 (*)
  673882f... Fix lifetime specifier (*)
  afaa40f... Update test reference files (*)
  b144062... pattern: small cleanup (*)
  e7a16af... Split AcquiredNodes from DrawingCtx. (*)
  242d7e5... Replace deprecated 'cfg_attr' for rustfmt (*)
  2aaed61... Avoid structure field patterns bound to wildcards (*)
  495c083... Add a Default implementation for BoundingBox (*)
  73ccbae... Default impl for BoundingBox can be created by #[derive(Def (*)
  61ce461... Remove redundant clone() of values that are going to be dro (*)
  082c5d8... Drop pointless let-binding (*)
  409d70b... Replace iterator search followed by is_some() with any() (*)
  7b308c4... Avoid returning an Err with the ? operator if possible (*)
  47de7a1... Cleanup for "pattern: respect fill-opacity" (*)
  9ad81bf... Merge branch 'fix-clippy-warnings' into 'master' (*)
  bcbe99a... Merge branch 'svenfoo/librsvg-cleanup-patterns-ignore-opaci (*)
  4590b7c... Merge branch 'pborelli/librsvg-acquired_nodes' (*)
  5db9c7d... drawing_ctx: add with_alpha() method (*)
  36c349c... Merge branch 'draw' into 'master' (*)
  379af27... Remove rustfmt configuration (*)
  28f2090... Reformat using 'cargo fmt' (*)
  ca80830... Unconditionally run "cargo fmt" on the CI (*)
  963b416... (#547): Do not abort rendering if there is a nonexistent im (*)
  1117734... Merge branch 'nonexistent-image' into 'master' (*)
  c0b9ccd... tests: print the run-time version of freetype (*)
  735ca3c... tests: indent test-utils.c according to the rules defined a (*)
  448e8b6... Merge branch 'svenfoo/librsvg-format-with-rustfmt' (*)
  0edb5c1... Merge branch 'svenfoo/librsvg-tests-print-runtime-version' (*)
  6e3ea18... Remove unused typedef (*)
  dadd8eb... tests: Add infrastructure to test the rust-convert command- (*)
  8ec0ede... tests: Fix CI run where srcdir != builddir (*)
  eb1e5cf... tests: Add test for rsvg-convert --help (*)
  249d9f4... tests: Add predicate to check the size of the generated PNG (*)
  d9b7a6f... tests: Add tests for rsvg-convert output size options (*)
  3cf5a1c... tests: List more rsvg-convert features that should be teste (*)
  cc2d740... tests: Add tests for rsvg-convert resolution options (*)
  f07b3c9... tests: Add tests for other output formats of rsvg-convert (*)
  c280ecd... tests: Use existing SVG for rsvg-convert size tests (*)
  c9b7c1c... tests: Improve PDF tests for rsvg-convert using the lopdf c (*)
  b21b06a... tests: Add tests for rsvg-convert setting the PDF CreationD (*)
  494eeb0... tests: Add tests for some more rsvg-convert options (*)
  9a350f2... tests: Add tests for rsvg-convert output option (*)
  222b9b9... Bump development version to 2.49.0 (*)
  3043dcb... Cargo update (*)
  d090e37... Merge branch 'svenfoo/librsvg-test-rsvg-convert' (*)
  34e3bb7... rsvg-convert: apply scale once, not again on each output pa (*)
  f41b7f0... Merge branch 'fix-rsvg-convert-mulit-page-zoom-option' into (*)
  30ff6a5... Parse the "type" attribute of the style element without css (*)
  55dd079... Log when an element is set in error (*)
  76cba6e... ComputedValues: compute font-size before its dependent prop (*)
  14e327c... Merge branch 'style-type' into 'master' (*)
  f1db361... (#558): Compute cascaded font-size values correctly for rel (*)
  143a218... Merge branch 'federico/librsvg-font-size' (*)
  2db2c15... Update lopdf and chrono dependencies (*)
  a3f6049... Remove obsolete workarounds for datetime parsing (*)
  97f2f5a... Merge branch 'update-lopdf' into 'master' (*)
  ade6728... Update the man page for rsvg-convert (*)
  59ba523... tests: Use more specific variants of g_assert() (*)
  987b42b... Merge branch 'update-rsvg-convert-man-page' into 'master' (*)
  34a5154... Merge branch 'svenfoo/librsvg-cleanup-test-driver' (*)
  b70321f... Add fr property inside gradient structure Parse fr property (*)
  adfd5ca... Remove some SVG1.1 gradient tests since they are not compli (*)
  d6fd941... Add a SVG2 gradient test #508 (*)
  223cf8b... Remove the direct phf dependency (*)
  76648e0... Merge branch 'phf' into 'master' (*)
  2a358ca... tests: add test to check the size of PDF created by rsvg-co (*)
  549ed93... tests: restructure modules for the rsvg-convert test framew (*)
  5c0e4d2... tests: test the rsvg-convert --keep-aspect-ratio option (*)
  a3b7cf9... Merge branch 'test-rsvg-convert' into 'master' (*)
  cb2c23b... Update png and nalgebra (*)
  be56d69... Merge branch 'bump' into 'master' (*)
  7d1e383... Add a NodeData::get_chars() function (*)
  cf816db... Use get_chars() instead of get_impl::<NodeChars>() througho (*)
  037f508... Create chars nodes in a new NodeData::new_chars() function (*)
  057d22f... Rename NodeData::new() to ::new_element() (*)
  741a0c0... Turn NodeData into an enum with variants for Element and Te (*)
  8312bc0... Box the Element variant to make Text nodes smaller (*)
  fd1a8a4... Merge branch 'make-node-smaller' into 'master' (*)
  4d48ce0... css: use the is_element utility method (*)
  842220e... node: add and use a is_chars method (*)
  9ff6bac... css: simplify is_empty (*)
  e4c216a... text: remove usage of NodeType::Chars (*)
  0a77925... node: remove NodeData::get_type() (*)
  97ea493... node: rename NodeType to ElementType (*)
  f084dce... element: move element code to its own module (*)
  441f74a... error: rename NodeError to ElementError (*)
  efe4047... text: rename NodeChars to Chars (*)
  2f1cd8c... Merge branch 'node' into 'master' (*)
  c0ffa65... node: rename RsvgNode to simply Node (*)
  0a70c46... element: rename NodeTrait to ElementTrait (*)
  910d6d2... element: set the correct SpecifiedValues at creation (*)
  ee95f49... Add tests/fixtures/reftests/svg2 to Makefile.am (*)
  b5f8391... Merge branch 'corossig/librsvg-feature-fr-gradient' (*)
  24bcd92... svg: do not use the parent param in set_atts (*)
  c9cd50a... Merge branch 'pborelli/librsvg-setatts' (*)
  3735271... Merge branch 'pborelli/librsvg-element' (*)
  feaf9b3... marker: use SpecifiedValues.set_parsed_property instead of  (*)
  0725702... SpecifiedValues::with_overflow_hidden - use set_parsed_prop (*)
  117808e... SpecifiedValues: make all fields private (*)
  3b72370... Represent SpecifiedValues with an array of ParsedProperty t (*)
  7dc6511... Merge branch 'make-specified-values-smaller-2' into 'master (*)
  0c2a28f... print_sizes() - also print the size of Element (*)
  0b80d49... element: remove dedicated is_overflow getter (*)
  a904d17... Add a user agent stylesheet (*)
  03d820f... properties: do not override presentation attributes for ua. (*)
  992511c... Fix links in the documentation intro (*)
  9127d84... Merge branch 'pborelli/librsvg-uacss' (*)
  17b1784... Increase limit to 1_000_000 loaded elements (*)
  1290496... marker: impl From<&[PathCommand]> for Segments instead of F (*)
  fc44abd... Turn a PathBuilder into an immutable Path with into_boxed_s (*)
  ee63041... PathBuilder: use a SmallVec while the path commands are bei (*)
  6c7094d... Merge branch 'shrink-path-data' into 'master' (*)
  dfcaf1f... NMake Makefiles: Support running rsvg_internals tests (*)
  9d6cdb9... tests/test-utils.c: Fix build without PangoFT2 (*)
  4d26cb8... NMake Makefiles: Fix linking the tests (*)
  2748f61... win32/README.txt: Mention about test dependencies (*)
  f3720a1... Merge branch 'fix-test-build-wo-pangoft' into 'master' (*)
  890292c... Generate ComputedValues with a macro (*)
  6abe286... ComputedValues: make all fields private; access them throug (*)
  86aca2e... SpecifiedValues::get_property - new function; use it in to_ (*)
  9c8b986... Remove impl Default for SpecifiedValue (*)
  8b68e3f... Rename the make_computed_values macro to make_properties (*)
  7e7c2ae... make_properties: specify all properties for ComputedValues  (*)
  afacf14... make_properties: Add space for shorthand properties (*)
  a7f8cdd... Generate ParsedProperty with the make_properties macro (*)
  5dfd397... Generate PropertyId with the make_properties macro (*)
  beb35eb... Use a PropertyId::is_shorthand() function instead of specia (*)
  9a8a294... ComputedValues::set_value - new function to abstract settin (*)
  4912c6f... properties.rs: Use accessor functions for ComputedValues ev (*)
  6676472... ComputedValues::get_value - New function; do all property a (*)
  e8e4689... Generate parse_property() with the make_properties macro (*)
  43ff68e... A better docstring for make_properties (*)
  12600c8... Merge branch 'abstract-computed-values' into 'master' (*)
  e9db621... Path.iter() - new function, replaces get_path_commands() (*)
  11c93b8... Remove obsolete test (*)
  cb4cde7... Add tests for PathBuilder (*)
  b183ac1... Path: use a more compact representation (*)
  453840d... Merge branch 'compact-paths' into 'master' (*)
  a31f56e... PathBuilder: Use map().sum() instead of fold() (*)
  ac83089... PathBuilder: re-slice directly, not with .get().unwrap() (*)
  7431c5a... (#129): Fix baseline-shift for simple subscripts/superscrip (*)
  f81463f... Merge branch 'baseline-shift' into 'master' (*)
  1f2e310... (#548): Support images with data: URLs that don't have a MI (*)
  c30662b... Merge branch 'data-uri-without-mime-type' into 'master' (*)
  854ecdd... Fix link in the documentation (*)
  f070b85... filters: move unit check at rendering time (*)
  e409cea... element: remove parent argument from set_atts (*)
  0b365f6... element: set the atts directly in the create fn (*)
  372d442... element: simply get the locale from the env (*)
  4a1c1f6... element: inline set_atts in the create function (*)
  52dbb80... element: provide default empty set_atts (*)
  bee0d17... Swap SmallVec for TinyVec (*)
  fe2b5e7... Switch Default impl for PathCommand to an all-zeroes bit pa (*)
  58c9358... Merge branch 'setatts' into 'master' (*)
  04f7920... Remove deprecated `description` from error types (*)
  5af037a... Enable rustc lints and solve them (*)
  c250e44... Merge branch 'update-errors' into 'master' (*)
  77c4aad... (#578): Link the C tests to harfbuzz so they can call hb_ve (*)
  ed840c3... Merge branch 'Shnatsel/librsvg-tinyvec' (*)
  24cdc5e... (#582) - Parse XML processing instructions with xml5ever so (*)
  d7e3e87... Cargo update (*)
  8b37451... Merge branch 'update-dependencies' into 'master' (*)
  6c0591b... Merge branch 'pi-with-xml5ever' (*)
  2672f34... element: add Element::draw() (*)
  06a59ac... element: add Element::as_filter_effect() (*)
  22c0169... element: encapsluate access to element_impl (*)
  e22c496... node: fix comment (*)
  3f1e076... document: make function private (*)
  879775e... element: move is_accessed_by_reference method (*)
  ca81c61... node: delegate display trait to element (*)
  b0411b5... gradient: simplify macro (*)
  e1d612a... drawing_ctx: use early return for readability (*)
  505cd3e... xml: use more idiomatic rust (*)
  d565330... (#584): Fix arithmetic overflow when requesting large pixbu (*)
  42b6214... document: rework acquire() (*)
  dad5ce8... (#581): Don't call g_warning and g_critical from the C code (*)
  e026797... Move rsvg_g_warning and rsvg_g_critical to messages.rs (*)
  a9b5d3f... Implement rsvg_return_if_fail / rsvg_return_val_if_fail in  (*)
  95fb580... Minor fix to the documentation of rsvg_pixbuf_from_file_at_ (*)
  5072e75... Do all simple argument checks in Rust (*)
  17b1ccd... Do all the GType checks for the C API in the Rust code (*)
  114d756... Use a single rsvg_rust_handle_set_dpi_x_y (*)
  f393b98... Remove unused functions (*)
  d73a40c... Merge branch 'c-api-assertions' into 'master' (*)
  e997aad... rsvg-convert: Accept RGBA colors for the --background-color (*)
  fea4395... Use an opaque iterator instead of manual indexing for itera (*)
  1ed07ae... Replace expliciting indexing by pushing onto the coordinate (*)
  6ac906e... As PackedCommand is a single byte large, make it copy and p (*)
  750d88f... Merge branch 'packed-path-commands' into 'master' (*)
  902ab52... Merge branch 'GabrielMajeri/librsvg-fix-rustc-lints' (*)
  519edc2... Remove oudated comment (*)
  4b42512... Move CustomIdent to the parsers module (*)
  d7b5645... Rework element representation (*)
  a468ff0... Improve lib name workaround for Rust *-pc-windows-gnu targe (*)
  16c7a56... Merge branch 'enumelement' into 'master' (*)
  29fba2b... marker: remove special casing of display property (*)
  6608c13... element: Split ElementTrait in two traits, SetAttributes an (*)
  02ad8dd... element: implement the traits also for Element and ElementI (*)
  505cd84... element: replace create_element function with Element::new (*)
  ee45449... Merge branch 'traits' into 'master' (*)
  aa1d786... Merge branch 'kleisauke/librsvg-improve-libname-workaround' (*)
  5a40d4b... filter: shorten code (*)
  824af3f... use: shorten code (*)
  d7516b8... node: fix comment (*)
  373cf29... image: fix clippy warning (*)
  028ff99... lighting: simplify code structure (*)
  e8ed743... Format (*)
  06fd02f... Update nalgebra and assert_cmd (*)
  5c52e1b... Merge branch 'bumps' into 'master' (*)
  91ac531... (#588) - Fix panic when a big viewBox does creates an inval (*)
  858a0fd... Fix obsolete comment (*)
  d24ac66... (#592): Fix invalid argument to g_log_structured_array() (*)
  d27a082... Merge branch 'checked-viewport-to-viewbox-transform' (*)
  572e5ef... transform_rect() - Avoid an allocation and simplify the loo (*)
  056f8d2... (#594): Only compute locale info for elements that need it. (*)
  38602be... (#590): Fix regression when rendering masks (*)
  a0892d5... Oops, add rsvg_handle_set_stylesheet to the gtk-docs. (*)
  064cc3e... element: get Locale only once (*)
  0b9a034... Merge branch 'lazylocale' into 'master' (*)
  ff99931... Svg::get_size - Don't convert the size to ints (*)
  0823423... rsvg_rust_handle_get_dimensions: log errors just like in ge (*)
  2992638... Combine the get_dimensions and get_dimensions_sub implement (*)
  5e43240... rsvg_rust_handle_get_dimensions - use get_dimensions_sub in (*)
  642c818... Fix internal call to get_dimensions_sub (*)
  57235ea... Move the implementation of render_cairo_sub to c_api (*)
  a18c69d... Remove superfluous casts (*)
  c95881d... pixbuf_utils: don't call get_dimensions_sub twice. (*)
  0dad146... rsvg_internals: export the Rect type along with IRect (*)
  dd10656... pixbuf_utils: get rid of RsvgDimensionData as early as poss (*)
  410fb4d... pixbuf_utils: Use get_geometry_sub instead of get_dimension (*)
  106c6b6... Move the implementation of get_dimensions_sub to c_api (*)
  6ccfd58... Move the implementation of get_position_sub to c_api (*)
  ce555d9... Use the cast crate for checked casts from f64 to i32 (*)
  319d9a8... pixbuf_utils: Maintain the original document size as f64 (*)
  c47ea0a... pixbuf_utils: Use f64 everywhere except at the very end, an (*)
  953d121... Test that files with big viewBox don't overflow the dimensi (*)
  1a90fba... Test that the pixbuf API doesn't overflow (*)
  3cf3522... Merge branch 'checked-float-to-int' (*)
  d6dc59d... BoundingBox: new functions rect_is_empty / ink_rect_is_empt (*)
  dd48a2e... generate_cairo_mask: Don't push the mask_cr for longer than (*)
  d77abc9... generate_cairo_mask - Create the bounding box transform as  (*)
  31342b3... Rename Transform::new to new_unchecked (*)
  de76d1b... DrawingCtx::clip_to_node - Prepare for switching to Boundin (*)
  89f21a7... clip_to_node - Use a new function BoundingBox.rect_to_trans (*)
  5041fc3... gradient: use bbox.rect_to_transform instead of checking th (*)
  a869370... (#593): Don't panic with an empty objectBoundingBox for a m (*)
  d7e33b2... Merge branch 'bbox-checks' into 'master' (*)
  7dbc651... Remove obsolete comment (*)
  27862d3... Add doc comment to DrawingCtx.push_new_viewport (*)
  79a68b0... Move RsvgDimensionData to c_api (*)
  e6e0a88... Move RsvgPositionData to c_api (*)
  c0aa75f... Move the size_callback machinery to c_api (*)
  9662a5f... Merge branch 'move-legacy-types' into 'master' (*)
  2c72469... First try at documenting LoadingError (*)
  8161f70... First try at documenting RenderingError (*)
  f431ef0... Document ViewBox (*)
  c30e8b9... Document DefsLookupErrorKind (*)
  7ea3e12... Document the Handle struct (*)
  e5a7dcf... Improve the public docs of IntrinsicDimensions (*)
  e410bef... Move the default DPI machinery to c_api (*)
  dd98f9d... rsvg_internals::Dpi - Make the x/y fields public and remove (*)
  aa37879... ViewParams: use a Dpi field, not separate dpi_x/dpi_y ones (*)
  4f5671b... (#596): Fix introspection data for rsvg_handle_set_styleshe (*)
  18034f6... cargo fmt (*)
  8563272... Merge branch 'dpi-defaults-to-c-api' (*)
  dc4bc1f... set example's dependencies to match project's ones (*)
  c95f787... restore two notes (*)
  8500b73... Reminder to keep cairo-rs versions in sync (*)
  b980c2c... Merge branch 'categulario/librsvg-bugfix/demo-versions' (*)
  369654b... Add a couple of serif fonts for the test suite (*)
  8c6dd5b... (#577): Parse multiple fonts in font-family (*)
  0b5a10a... Add test files for #577 - ensure font-family works with mul (*)
  8f84dd1... Ensure that font-family="quoted  with  multiple  spaces'" p (*)
  b658a87... Merge branch 'Eijebong/librsvg-fonts' (*)
  6d2ea59... Update criterion to 0.3 and the benchmarks to Rust 2018 (*)
  3ebce0e... Merge branch 'fix-benchmarks' (*)
  8658831... Add a benchmark for pixbuf_from_surface (*)
  9e7da97... Use the rgb crate and define a CairoARGB pixel type (*)
  2f0d8c1... Implement a Rows iterator for SharedImageSurface, yields &[ (*)
  2dded19... Use the rows iterator in pixbuf_from_surface to iterate the (*)
  950c45c... Reimplement pixbuf_from_surface() in terms of iterators and (*)
  2ab30b3... Reimplement ExclusiveImageSurface::from_pixbuf() in terms o (*)
  46570bb... RowsMut: keep a cairo::ImageSurfaceData around so it will m (*)
  0c74428... Merge branch 'optimize-pixbuf-from-surface' (*)
  eee5ac3... Fix Makefile.am for "make distcheck" (*)
  c1a9ab7... Update NEWS (*)
  a44d05e... Bump version to 2.49.1 (*)
  f3d501b... (#604): Fix build of the rgb crate on big-endian machines (*)
  a302f26... Update NEWS (*)
  9bd73ff... Disable test for multiple-font-families; restore old refere (*)
  6a78abb... ci: merge artifacts definitions (*)
  606031f... cargo fmt (*)
  7e460d1... Bump version to 2.49.2 (*)
  3661cee... Update NEWS (*)
  c9be9c7... ci: fix the build after the image changes [1] (*)
  64bdd78... (#219) Add benchmark in preparation to lex then parse path  (*)
  111058f... (#219) Make path parser have a tokenizer/parser (*)
  7b17b55... (#219) Make path parser have a tokenizer/parser (*)
  8c1e3bb... Sudo for "cargo fmt" and "make distcheck" in the CI (*)
  7e6c8e3... Sigh, also sudo for "cargo doc" (*)
  8f87e36... (#219) Make path_parser have lexer/parser: address review f (*)
  e4741c7... Merge branch 'emilesnyder/librsvg-219-path-parser-tokenizer (*)
  88397d9... (#605): Compute 'bolder' and 'lighter' font-weight correctl (*)
  7697275... Merge branch 'font-weight-relative' into 'master' (*)
  765dae7... Fix typos, courtesy of codespell (*)
  c4fd517... Parser for the line-height property (*)
  e341f0d... Add line-height to SpecifiedValues and ComputedValues (*)
  f9af71e... Add tests for the computed value of line-height (*)
  3d09cea... Comment on how we parse line-height, but don't use it, for  (*)
  24c1691... Make FontSize not a newtype (*)
  acd23a1... Make FontWeight not a newtype (*)
  00dcc1d... Make LetterSpacing not a newtype (*)
  a8d18c4... Remove the unused pattern in make_property! (*)
  8640591... Document make_property! a bit better (*)
  5a7fdb3... Make FontFamily not a newtype (*)
  5d04d52... Provide an accessor to FontFamily's inner string (*)
  075bc2d... Make LineHeight not a newtype (*)
  b631e37... Implement parser for the "font" shorthand (*)
  da0558c... Add a couple of tests for the font shorthand parser (*)
  11324e3... Extract function to expand the marker shorthand (*)
  91253bd... Replace if with match (*)
  47a12a2... Clean up the import aliases in properties.rs (*)
  24cfc88... Extract separate FontSpec struct from the Font::Spec varian (*)
  38bc401... Declare the 'font' shorthand for SpecifiedValues and expand (*)
  7c6079b... Add a reference test for the 'font' shorthand (*)
  037848c... cargo fmt (*)
  d9dbf08... Merge branch 'font-shorthand' into 'master' (*)
  200b802... Update NEWS (*)
  969e9bd... Bump version to 2.49.3 (*)
  6325256... Visual Studio: Fix headers search path for Pango (*)
  f4f9c90... NMake Makefiles: Support ARM64 Windows builds (*)
  4ed8cb2... Visual Studio: Expand cross-compilation capabilities (*)
  4f30f3e... Visual Studio: Remove test output directory on 'clean' (*)
  f683e71... Draw a square at origin of empty paths when linecap is a sq (*)
  520f700... Merge branch 'square-linecaps-fix' into 'master' (*)
  22e5e6b... benches: box_blur: Replace deprecated function (*)
  85552f0... Merge branch 'wip/ernestask/criterion' into 'master' (*)
  6e2169b... Update itertools to 0.9 (*)
  3660f44... Update lopdf to 0.25 (*)
  cdb06aa... Update float-cmp to 0.8 (*)
  bf6b841... Merge branch 'Eijebong/librsvg-deps-deps-deps' (*)
  d0947fa... Correct a typo in tap-driver.sh (*)
  415c248... Merge branch 'patch-1' into 'master' (*)
  c244f0d... New href module to deal with xlink:href vs. href (*)
  c70bc83... (#568): Support href and xlink:href for URL references ever (*)
  ee7d90e... Merge branch 'href-svg2' into 'master' (*)
  660f01f... compare_surfaces: set the alpha of the diff always to opaqu (*)
  042e51e... Remove obsolete tests for nonexisting-filter (*)
  345a18b... Remove SVG1.1 filters-felem-01-b.svg as it behaves differen (*)
  d05fc80... (#560): Ignore missing filter definitions instead of not re (*)
  66a41af... Merge branch 'nonexistent-filter' into 'master' (*)
  6cfe14a... Add test for #609 - clipPath ignores its `transform` attrib (*)
  69eb886... (#609): Apply the clip node's transform in DrawingCtx.clip_ (*)
  e63f6be... Merge branch 'svenfoo/librsvg-fix-clippath-transform' (*)
  b69fa36... Remove redundant imports (*)
  7973438... Remove needless return statements (*)
  13d346a... Express `Result.and_then(|x| Ok(y))` as `map(|x| y)` (*)
  92c8470... Use as_deref() instead of `.as_ref().map(String::as_str)` o (*)
  71d87b0... Implement Default where missing (*)
  673b469... Allow many single char variable names in some places (*)
  72d10c4... Avoid having if/else with the same body (*)
  71c959b... Avoid strict comparison of floating point values (*)
  c75eb46... Avoid using match for destructuring a single pattern (*)
  bdc2b6a... Make the early return explicit instead of using Err(x)? (*)
  5c03f49... Replace find() followed by is_some() with any() (*)
  e11b383... Simplify logic in PathParser::should_break_arg_sequence() (*)
  7bac028... Avoid cloning an owned value that is going to be dropped (*)
  4878c6e... Avoid calling map(f) where f is a closure that returns the  (*)
  2f5db26... Remove lifetime annotations that can be elided (*)
  4b990f3... Remove obsolete comment (*)
  12921c5... Bump rustc requirement to 1.40 (*)
  a2abaea... Remove PathBuilder::new and just derive(Default) for it (*)
  e49c965... Merge branch 'svenfoo/librsvg-fix-clippy-warnings' (*)
  a8ba70e... Bump version to 2.49.4 (*)
  6ba302f... Update NEWS (*)
  4acf5f1... Use float_cmp for floating number comparisons (*)
  476cf50... Change Chars::new() to take an initial text (*)
  67f1c91... Minor style improvement suggested by clippy (*)
  04191c0... Follow naming conventions for methods taking self (*)
  9ac1bb7... Express `Result.and_then(|x| Ok(y))` as `map(|x| y)` (*)
  a079435... Merge branch 'chars-new-with-initial-text' into 'master' (*)
  7d9c163... Merge branch 'svenfoo/librsvg-use-float-cmp' (*)
  f1a211e... Post-release version bump version to 2.49.5 (*)
  663b27e... Merge branch 'svenfoo/librsvg-fix-more-clippy-warnings' (*)
  7fc23e6... Documentation on how to add a new property (*)
  12d6fac... Note in CONTRIBUTING.md about adding properties. (*)
  f4f860d... More pointers for newcomers (*)
  e5108da... Merge branch 'properties-doc' into 'master' (*)
  76724d1... Add mix-blend-mode CSS property definitions (*)
  78bebb3... Set cairo operator from MixBlendMode property prior to pain (*)
  9f1a1e6... Add test fixture for mix-blend-mode support (*)
  60bb58a... Merge branch 'jl/mix-blend-mode' into 'master' (*)
  c3f2804... Be explicit about cloning the reference in PropertyBagIter (*)
  cc9bc87... Suppress clippy errors about casts to more strictly aligned (*)
  b10eba9... Derive a Default impl for Loader and use it from Loader::ne (*)
  318963d... Remove useless conversion to the same type (*)
  6b4c53a... Merge branch 'fix-clippy-errors' into 'master' (*)
  3c43013... Remove unneeded imports (*)
  9a33417... Remove needless return statement (*)
  e9ba989... Remove redundant closures (*)
  4ff35fc... Express `Result.and_then(|x| Ok(y))` as `map(|x| y)` (*)
  d876649... Do not manually implement an assign operation (*)
  51ef6f9... Remove match with a single binding (*)
  abb5fd1... Use as_deref() instead of `.as_ref().map(String::as_str)` (*)
  0272fc0... Suppress warning about module inception, this is intentiona (*)
  852cb14... Suppress clippy warnings about missing `# Safety` sections (*)
  4d45a6c... Remove unnecessary clippy configurations (*)
  514ea3f... Suppress warning about large size difference between enum v (*)
  e91047e... Suppress warning about large size difference between enum v (*)
  11b4795... Merge branch 'svenfoo/librsvg-fix-clippy-warnings' (*)
  1e8e5a1... Run clippy all the time, now that the lint warnings are fix (*)
  acdd791... Revert "Run clippy all the time, now that the lint warnings (*)
  fe14f06... Remove leftover file (*)
  d9cc81a... drawing_ctx: move draw_image to drawing context (*)
  9119132... drawing_ctx: move draw_text to drawing context (*)
  7495012... drawing_ctx: make with_saved_cr private (*)
  d05956c... image: shorten code (*)
  ff9e0b9... Use arr_macro to initialize the sRGB tables (*)
  38648fc... Merge branch 'fix-another-clippy-warning' into 'master' (*)
  3f8964a... Merge branch 'pborelli/librsvg-drawing' (*)
  07615cd... paint_server: remove leftover trait (*)
  529ff0e... drawing_ctx: use From trait to obtain the pango context (*)
  be6afb9... pattern: remove misleading comment (*)
  baef362... paint_server: rework paint servers (*)
  f5768bc... gradient: move conversion to cairo::Gradient in drawing_ctx (*)
  02ef81e... drawing_ctx: move get_paint_server_surface to drawing ctx (*)
  1720aaa... drawing_ctx: mark set_cairo_context private (*)
  d1f09cd... drawing_ctx: mark get_transform as private (*)
  b0c65c5... Merge branch 'pborelli/librsvg-paint_server' (*)
  e7d846d... Enable clippy on the CI (*)
  d89b8e7... Merge branch 'fix-clippy-on-ci' into 'master' (*)
  9d2f6ae... Implement paint-order property definition (*)
  fbeb998... Use CSS paint-order when performing fill/stroke/marker oper (*)
  26c70c0... Pass the current_color to stroke and fill (*)
  b8767dc... Make a few functions private (*)
  44b7c62... draw_path - Separate clipping from non-clipping code (*)
  bc4abf2... Merge branch 'paint-order' (*)
  008ddce... DrawingCtx::draw_path - clear/recalculate path only when ne (*)
  55ef28d... Merge branch 'jl/paint-order-opt' into 'master' (*)
  97020fe... IRI.parse: don't expect_exhausted (*)
  9ab15b2... Angle.parse: don't expect_exhausted (*)
  81944df... parse_str - do expect_exhausted here (*)
  bf1e8c8... NumberOptionalNumber.parse: don't expect_exhausted (*)
  f3255c2... AspectRatio.parse: don't expect_exhausted (*)
  f798883... parse_one_presentation_attribute - Do expect_exhausted here (*)
  45ac771... Merge branch 'expect-exhausted' into 'master' (*)
  2d4aed0... Use float_cmp for floating number comparisons (*)
  2bda471... Merge branch 'float-cmp' into 'master' (*)
  ea62012... COMPILING.md - mention that gtk-doc is required (*)
  86be139... Update NEWS (*)

(*) 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]