Skip to content

v0.3.0

Choose a tag to compare

@shaanshivanandan shaanshivanandan released this 09 Apr 12:07
· 15 commits to main since this release

SVGO Feature Parity

svgm now compresses more than SVGO while being 33x faster.

Benchmark (100 SVG logos, 902.7 KiB)

svgm SVGO
Compression 18.5% 18.2%
Speed 347ms 11,595ms
Files won 55 44

What's new

9 new optimization passes (25 → 34 total) matching SVGO's default plugin set:

  • removeDeprecatedAttrs, removeUselessDefs, removeNonInheritableGroupAttrs
  • removeUselessStrokeAndFill, convertEllipseToCircle, cleanupEnableBackground
  • moveElemsAttrsToGroup, moveGroupAttrsToElems, sortDefsChildren

Path optimizer improvements:

  • Cubic→quadratic (C→Q) and cubic→arc (C→A) conversion
  • Smart arc radius rounding via sagitta comparison
  • S/s shorthand detection after non-curve commands
  • Redundant lineto-before-closepath removal
  • Consecutive h/v merging, precision-aware abs/rel selection

Transform & attribute improvements:

  • Matrix decomposition to translate+scale, rotate+scale
  • gradientTransform/patternTransform optimization
  • European decimal comma normalization
  • Colors in style="" attributes, hex lowercasing
  • Inline style minification, expanded default attribute table

Presets simplified: Safe / Default (balanced/aggressive accepted as aliases).

See CHANGELOG.md for full details.

Full Changelog: v0.2.2...v0.3.0