Skip to content

Releases: svg/svgo

1.1.0 / 16.09.2018

16 Sep 17:49

Choose a tag to compare

  • Fixed collapseGroups plugin removing property with a child having inherit value.
  • version attribute value is not more being rounded.
  • Fixed jsAPI clone method with respect to the introduced CSS classes.
  • Fixed scaling strokes with vector-effect="non-scaling-stroke" (by @alexjlockwood).
  • Fixed passing properties from groups in collapseGroups plugin if child have a filter (by @stristr).
  • Fixed arc path commands parsing without separators after flags, effectively producing a JS error.
  • Fixed viewBox separators parsing.
  • Fixed removeNonInheritableGroupAttrs plugin to work as intended.
  • Fixed removing path segments without length in presence of stroke-linecap.
  • Fixed removeUnknownsAndDefaults plugin removing attributes from elements with id.
  • Fixed converting to large arcs from nearly straight lines curves.
  • Fixed collapseGroups plugin affecting <switch> and its subgroups.
  • Fixed convertTransform plugin converting to rotate() with wrong sign in some case.
  • Fixed cleanupListOfValues plugin not preserving non-numeric values.
  • Fixed !important being passed to attributes in convertStyleToAttrs plugin.
  • Added option keepImportant to convertStyleToAttrs plugin to preserve styles with !important.
  • removeHiddenElems plugin now also removes elements with visibility="hidden" attribute (by @mikolaj92).
  • Added forceAbsolutePath option to convertPathData plugin to always use absolute coordinates (by @cool).
  • Added keepRoleAttr for removeUnknownsAndDefaults plugin to preserve role- attributes (by @himedlooff).
  • Added xmlns order option in sortAttrs plugin (by @hellatan).
  • Added an option to prefixIds plugin to pass prefix as false or as a function that returns false (by @vzaidman).
  • prefixIds plugin now adds prefix to every class (by @vzaidman).
  • Updated and improved docs a bit (multiple authors).

1.0.5 / 26.02.2018

26 Feb 19:02

Choose a tag to compare

Fixed issue with prefixIDs plugin not replacing url() values correctly (by @harrisjose).

1.0.4 / 30.01.2018

30 Jan 09:52

Choose a tag to compare

  • Fixed bug with removing groups that are direct child of <switch>.
  • Fixed bug with shorthand path points counting (thanks @alexjlockwood for noticing).
  • Fixed crash on parsing invalid transform, e.g. without close parenthesis.

1.0.3 / 08.11.2017

08 Nov 19:14

Choose a tag to compare

  • Fixed removeViewBox plugin to check for zero start coordinates.
  • Removed extra info from STDOUT when it set to output.

1.0.2 / 03.11.2017

03 Nov 10:34

Choose a tag to compare

  • Fixed a couple of errors related to inlineStyles plugin.
  • Updated some lost details in documentation to reflect v1.0 changes.

1.0.1 / 31.10.2017

31 Oct 10:54

Choose a tag to compare

  • Fixed error “Object.defineProperty called on non-object” in images with <foreignObject/>.

1.0.0 / 30.10.2017

30 Oct 19:37

Choose a tag to compare

  • SVGO now requires Node 4 or higher.
  • Changed CLI syntax to treat filenames as input, thus allowing svgo *.svg syntax.
  • SVGO.optimize() now returns Promise.
  • Added datauri option to JS API.
  • Added support for SVG 2 href attribute.
  • cleanupIDs now don't removes IDs if an image consists only of defs.
  • New plugin inlineStyles for converting styles from <style> element to attributes if possible (by @strarsis).
  • cleanupNumericValues now rounds values in viewBox (by @caub).
  • New plugin: removeScriptElement (disabled by default) to align with removeStyleElement (by @pklingem).
  • minifyStyles now removes styles based on usage with controlling options (by @lahmatiy).
  • New option except in cleanupIDs to keep IDs (by @Velenir).
  • New option force in cleanupIDs to work even if SVG contains style or script elements (by @Velenir).
  • Fixed arcs transforming with different signed scale parameters (by @JoshyPHP).
  • Fixed removeUselessStrokeAndFill to check for style or script elements per file (by @caub).
  • New option keepAriaAttrs in removeUnknownsAndDefaults (by @davidtheclark).
  • Corrected parsing in cleanupIDs to account animation syntax (by @caub).
  • #ff0000 now converts to red as well as #f00 (by @davidleston).
  • Added “gray” variation to colors list per CSS Color Module Level 4 (by @ydaniv).
  • Fixed error on empty files.
  • A separator character in removeAttrs now can be changed per elemSeparator option (by @mikestreety).
  • addAttributesToSVGElement now can add values to attributes.

0.7.2 / 29.01.2017

29 Jan 18:03

Choose a tag to compare

  • Extended currentColor match conditions (string, rx, bool) (by @AlimovSV)
  • Fixed removing <animate> in <stop>.
  • Fixed removing same transform in inner element in removeUnknownsAndDefaults.
  • Fixed collapsing groups with same non-inheritable attribue.
  • Corrected removing of leading zero in case of exponential notation.

0.7.1 / 27.09.2016

27 Sep 08:43

Choose a tag to compare

  • Reverted the requirement of Node.js to version 0.10.
  • Added addAttributesToSVGElement to the default config to allow using it with --enable option.
  • Added korean translation of “How it works” doc (by @Primeiros).

0.7.0 / 25.08.2016

25 Aug 20:23

Choose a tag to compare

  • Required Node.js version has increased to 0.12.
  • New plugins: removeElementsByAttr (by IDs or classes) by @elidupuis,
    addAttributesToSVGElement by @gjjones,
    removeXMLNS (for SVG inlining) by @ricardobeat.
  • Tests now correctly pass in Windows with CRLF line endings. Pretty print now accounts system line endings.
  • Fixed bugs with collapsing groups with masks and transforms in collapseGroups.
  • Fixed bugs with erroneous removing IDs in cleanupIDs.
  • Improved attributes sorting in sortAttrs by @darktrojan.
  • addClassesToSVGElement no more repeats classes (by @ricardobeat).