Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
Changed
Fixed
[1.0.0] - 2026-05-20
Added
- SVG creation, loading, and exporting with fluent facade API
- Full SVG 1.1 element support: shapes, text, groups, symbols, markers, defs, use
- CSS-like selectors and element collections with batch operations
- Path builder with all SVG path commands (lines, curves, arcs)
- Path analysis: length, bounding box, point containment, distance metrics
- 26+ filter primitives with fluent FilterBuilder
- Linear and radial gradients with GradientBuilder
- Patterns, clipping paths, and masks
- SMIL animation support with AnimationBuilder
- 40+ optimization passes with 4 presets (default, aggressive, safe, accessible)
ConvertPathDataPassuses parsed path infrastructure with per-segment abs/rel comparison and L-to-H/V shorthandConvertPathDataPasscurve optimizations: C-to-Q (cubic-to-quadratic), C-to-S (smooth cubic), Q-to-T (smooth quadratic), compact arc flagsMergeStylesPassnow minifies CSS even with a single<style>element and removes obsoletetype="text/css"attributesPathUtils::toAbsolute()andtoRelative()handle all 10 SVG path segment types- SVG sanitization with 3 security profiles (strict, default, permissive)
- Document validation with configurable profiles
- Accessibility checking and auto-improvement
- Shape morphing with easing functions and animation export (SMIL, CSS, JS)
- Document merging with multiple strategies (append, side-by-side, stacked, grid, symbols)
- Transform parsing and manipulation