Skip to content

0.3.0 - 2026-03-02

Choose a tag to compare

@github-actions github-actions released this 02 Mar 12:58

Release Notes

Added

  • Promoted additional in-scope deferred fixtures into the committed corpus (state parser specs, flowchart icon specs,
    class diagram specs, and math examples) and generated upstream SVG baselines.

Fixed

  • Architecture: refresh compound bounds after FCoSE spring iterations before applying relocateComponent-style centering
    (fixes parity-root root max-width drift in deep compound/group fixtures).
  • Flowchart: unescape quoted string labels (e.g. Windows paths like C:\\Temp\\...) and preserve Unicode punctuation in
    label text.
  • xtask compare-flowchart-svgs: skip ELK flowchart fixtures requested via layout: elk / flowchart.defaultRenderer=elk
    (prevents layout failures while ELK parity is deferred).
  • Flowchart: align icon node shape rendering with upstream Mermaid (icon vs iconSquare) to avoid NaN path data and
    restore SVG DOM parity for AWS icon fixtures.
  • Flowchart: improved iconSquare RoughJS path parity (rounded-rect path structure) for upstream icon shape fixtures.
  • Class: render htmlLabels: false labels via SVG <text>/<tspan> (avoid <foreignObject> DOM mismatches in parity
    baselines).
  • Text: closer-to-upstream Mermaid Markdown tokenization for flowchart SVG labels and layout measurement (fixes
    underscore/emphasis boundary edge cases).
  • Radar: fixed detailed-entry parsing so decimal values like 3.2 are not misparsed as axis 3 with value 0.2.
  • Treemap: tightened header parsing to match Mermaid CLI (treemap: / treemap utilities now fail) and preserved the
    upstream behavior where trailing whitespace-only lines are treated as a syntax error.
  • xtask audit-gaps: avoid trimming trailing whitespace when parsing deferred fixtures (prevents false “parse OK” on
    grammars like Treemap that treat trailing whitespace-only lines as an error).
  • xtask audit-gaps: added --check-upstream-render-deferred-ok to identify promotable deferred fixtures
    (in-scope + upstream render OK).
  • xtask SVG DOM compares: further reduced noisy parity-root root viewport diffs by snapping max-width/viewBox
    to a coarser lattice (0.25px).
  • xtask gen-upstream-svgs / compare-state-svgs: allow generating/validating upstream baselines for renderable state
    parser fixtures while skipping the known upstream-crashing upstream_state_parser_spec fixture.
  • Architecture: improved compound/nesting layout alignment by extending the FCoSE port with a compound graph model and
    closer-to-upstream bounds/centroid propagation behavior.
  • Architecture: improved edge parsing/modeling compatibility (including lhsInto/rhsInto metadata when present).
  • Architecture: removed fixture-id keyed label wrapping/formatting special-cases by tightening createText(...)-like
    SVG label wrapping and matching Mermaid CLI attribute newline serialization (&#10;).
  • xtask SVG DOM compares: stabilized anonymous edge wrapper ordering for Architecture and reduced non-actionable text
    diffs caused by line wrapping sensitivity.
  • README: fixed the Stress gallery Architecture fixture reference and refreshed the Architecture showcase render.

Not Released / WIP

  • Architecture: geometry-level parity (placements, viewport, and routing coordinates) is still being aligned to upstream
    Cytoscape/FCoSE. SVG DOM parity is compared in dom-mode parity, so expect occasional layout snapshot churn while we
    tighten numeric fidelity.
  • Flowchart/Sequence: $$...$$ (KaTeX) label DOM parity remains deferred; compare tooling skips these fixtures when
    --check-dom is enabled until a real MathRenderer backend exists.
  • Flowchart: flowchart-elk layout is not implemented yet; compare tooling skips those fixtures (still kept in the
    corpus for parser coverage).
  • merman-core: dropped support for legacy Architecture edge shorthand (e.g. a L--R b, a (L--R) b) to align with
    Mermaid@11.12.3's Langium parser; use port-colon syntax instead (e.g. a:L -- R:b).
  • merman-render: introduced a pluggable MathRenderer interface for $$...$$ math labels (no default KaTeX backend;
    pure-Rust remains the default).
  • xtask: added audit-gaps to summarize parser-only fixtures and deferred corpus status (helps drive “missing
    implementation” work off reproducible reports).
  • xtask audit-gaps: optionally probe upstream renderability for parser-only fixtures via Mermaid CLI (flags:
    --check-upstream-render, --upstream-timeout-secs).

Install merman-cli 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Latias94/merman/releases/download/v0.3.0/merman-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/Latias94/merman/releases/download/v0.3.0/merman-cli-installer.ps1 | iex"

Download merman-cli 0.3.0

File Platform Checksum
merman-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
merman-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
merman-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
merman-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum