iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: https://github.com/linebender/resvg/blob/main/docs/svg2-changelog.md
resvg/docs/svg2-changelog.md at main · linebender/resvg · GitHub
Skip to content

Latest commit

 

History

History
293 lines (201 loc) · 17 KB

svg2-changelog.md

File metadata and controls

293 lines (201 loc) · 17 KB

SVG 2 changelog

An attempt to list all changes between SVG 1.1 and SVG 2.

Somewhat similar to Changes from SVG 1.1 from the SVG 2 spec, but actually lists all changes and not just changes to the spec itself. For example, that page doesn't list filter related changes and most of the text related changes are either omitted or scattered around the spec.

This document contains changes only to the static SVG subset. No animations, events and scripting.

A checkbox indicates that the related feature is implemented in resvg.

NOTE: This list is not final. This just things I was able to find so far. Patches are welcome.

Data Types

Added

Changed

Deprecated

Quirks

  • <color> includes an alpha value now, which should be accounted by fill, stroke, flood-color and stop-color properties. But not by lighting-color property. At least Chrome 92 and Firefox 91 doesn't do this.

Document Structure

Added

  • refX and refY properties to the symbol element.
  • An auto variant to image element's width and height properties.
  • A lang attribute. The same as xml:lang, but without the namespace.

Changed

  • width and height properties of the svg element are set to auto by default.

Removed

  • A baseProfile attribute from the svg element.
  • A version attribute from the svg element.
  • A externalResourcesRequired attribute.
  • A requiredFeatures attribute.
  • A xml:base attribute.

Styling

Deprecated

Coordinate Systems, Transformations and Units

Added

Changed

  • transform, patternTransform and gradientTransform are presentation attributes now. Which means that they can be resolved from CSS now.

Removed

Quirks

Basic Shapes

Added

Changed

  • rx/ry attributes on ellipse should be resolved using the same logic as rect uses.

Text

Added

Basically everything from CSS Text Module Level 3.

Changed

Removed

Deprecated

Quirks

  • As of 2021, only Inkscape has Text layout – Content Area support, but still a very minimal one.
  • text-transform is technically a CSS 2.1 property, but was not allowed in SVG 1.1

Painting

Added

  • An arcs variant to the stroke-linejoin property.
  • A miter-clip variant to the stroke-linejoin property.
  • (partial support) A paint-order property.
  • context-fill and context-stroke variants to the <paint> type.
  • A mix-blend-mode property.
  • An isolation property.
  • left, center and right variants to refX and refY properties of the marker element.
  • An auto-start-reverse variant to orient property of the marker element
  • The image-rendering can appear as a presentation attribute with additional possible values. Currently, there is only best-effort support for "pixelated".

Changed

  • Markers can be set on all shapes and not only on path.

Quirks

  • As of 2021, no one supports stroke-linejoin:arcs.

Gradients and Patterns

Added

  • A fr attribute to the radialGradient element

Clipping, Masking and Compositing

Added

Changed

  • A mask property has a new grammar, backward compatible with SVG 1.1 one.
  • An element can have multiple masks now.

Filter Effects

Added

Changed

Deprecated

Quirks

  • Filter functions doesn't have a filter region. Which means blur() and drop-shadow() cannot be losslessly converted to filter element. We have to manually calculate a new region (somehow).
  • Filter functions are always in sRGB color space, unlike a filter element, which is in linearRGB by default.

Linking

Deprecated

  • xlink:href in favor of href.

Fonts

Removed

  • A font element.
  • A glyph element.
  • A missing-glyph element.
  • A hkern element.
  • A vkern element.
  • A font-face element.
  • A font-face-src element.
  • A font-face-uri element.
  • A font-face-format element.
  • A font-face-name element.