github svg/svgo v3.0.4

latest releases: v4.0.0-rc.0, v3.3.2, v3.3.1...
7 months ago

Includes various bug fixes for existing plugins and a new optimization. Also splits removeXMLNS, which removed XLink, into two separate plugins, removeXMLNS and removeXlink.

What's Changed

Default Behavior

  • Remove XML Namespace, no longer removes the XLink (xmlns:xlink) namespace. If that is desirable, you should enable the new Remove XLink (removeXlink) plugin, which does more while being safer. By @TrySound and @SethFalco in #1535

Bug Fixes

SVG Optimization

  • Convert Path Commands, convert to z command if going back to initial position, or drop z if redundant. By @KTibow in #1822
  • Inline Styles, when inlining a CSS property that's already declared in a presentation attribute of the node, drop the attribute. By @SethFalco in #1829
  • Remove XLink, new plugin that removes the XLink (xmlns:xlink) namespace and migrates from XLink attributes to the SVG 2 equivalent. Disabled by default. By @TrySound and @SethFalco in #1535

Metrics

Before and after using vectors from various sources, with the default preset of each respective version:

SVG Original v3.0.3 v3.0.4 Delta
Arch Linux Logo 9.529 KiB 4.738 KiB 4.735 KiB ⬇️ 0.003 KiB
Blobs 50.45 KiB 42.949 KiB 42.949 KiB
Isometric Madness 869.034 KiB 550.699 KiB 550.593 KiB ⬇️ 0.106 KiB
tldr-pages Banner 2.071 KiB 1.07 KiB 1.07 KiB
Wikipedia Logo 161.552 KiB 118.441 KiB 117.152 KiB ⬇️ 1.289 KiB

Before and after of the browser bundle of each respective version:

v3.0.3 v3.0.4 Delta
svgo.browser.js 651.7 kB 656.9 kB ⬆️ 5.2 kB

Don't miss a new svgo release

NewReleases is sending notifications on new releases.