Skip to content

v1.4.0 — SVG export, RenderScene IR, git-log front-end

Choose a tag to compare

@clintecker clintecker released this 18 Jul 01:16
· 31 commits to main since this release
8030ad9

A platform-free render IR with SVG output, and a fifth input front-end. All additive — existing diagram rendering is unchanged.

SVG export

MermaidRenderer.svg(source:theme:) renders any of the 30 diagram types to a standalone SVG document — with no CoreGraphics. It goes through a new public, platform-free render IR:

  • RenderScene (MermaidLayout) — a Codable display list that fully determines the picture (shaped nodes, arrowed/dashed edges, text, containers), lowered from every diagram type; SVGRenderer.svg(_:) paints it. This is the foundation for a planned native Android renderer and a plugin/interchange contract (docs/notes/android.md).
  • Cross-process determinism is CI-gated for the RenderScene/SVG pipeline as well as the raster path.

New front-end: git log → gitgraph

GitLogParser.parse(_:) turns git log output into the GitGraph IR — a fifth input front-end after Mermaid, DOT, Dippin, and SQL. Two-pass topological ordering, branch-lane derivation from ref decorations, --format gitlog in mermaidkit-term.

Full notes in CHANGELOG.md.

🤖 Generated with Claude Code