Skip to content

Releases: Latias94/merman

0.8.0-alpha.1 - 2026-06-10

10 Jun 06:24

Choose a tag to compare

Pre-release

Release Notes

This alpha starts the 0.8 line with a smaller, clearer feature surface and a real Typst package path. The default Rust crate behavior remains Mermaid-compatible, while no-default and Typst-oriented builds can now avoid host-only and full-config dependencies.

Added

  • Added an experimental merman-typst-plugin WebAssembly bridge and local Typst package surface. The package supports #mermaid(...) for embedded SVG images, #show raw.where(lang: "mermaid"): show-mermaid-blocks(...) for Mermaid fenced code blocks, mermaid-svg(...) for raw SVG export, mermaid-result(...) for structured render payloads, validate-mermaid(...) for validation-only workflows, and error-mode: "panic" | "placeholder" | "text" for draft-friendly error handling.
  • Added xtask build-typst-package, which builds the Typst-compatible wasm and assembles dist/typst/merman/<version> with typst.toml, lib.typ, README, examples, licenses, and the wasm plugin.
  • Started the Typst package on an independent 0.1.x version track instead of locking it to Cargo prerelease versions, because Typst imports require numeric package versions.
  • Added CI smoke coverage for the Typst package: package build, wasm ABI/size gate, example compilation, and @preview import smoke.
  • Added Typst examples for basic usage, raw blocks, options, print-friendly output, slide-sized dark output, SVG export, and structured render results.

Changed

  • Consolidated merman-core's public feature surface into coarse-grained profiles: full, full-config, full-sanitization, and host.
  • Kept default builds Mermaid-compatible with full + host, while making --no-default-features a meaningful pure-WASM/Typst starting point.
  • Split merman-render's core-full forwarding from its host feature so Typst render builds can keep parser/layout/SVG support without pulling full config and sanitizer dependencies.
  • Made render/layout timing and RoughJS seed-zero randomness deterministic in no-host wasm profiles, while preserving host behavior behind explicit host features.
  • Collapsed the Typst wasm rendering surface to render_svg_json plus validate_json; the older direct render_svg export was removed before the Typst package was published so all Typst rendering uses one structured result path.

Feature guidance:

  • Most Rust applications should keep defaults. That means merman still enables Mermaid-compatible full config/sanitization and host behavior.
  • Use default-features = false when embedding the parser/core in a pure wasm environment that cannot import host time, random, URL, YAML, JSON5, or sanitizer dependencies.
  • Enable render without core-full for Typst-like SVG rendering where the source and options are trusted or already normalized and package size matters.
  • Enable core-full when you need Mermaid's broad config/frontmatter surface, YAML/JSON5 parsing, or full sanitizer parity.
  • Enable host when the renderer should use local wall-clock behavior or host randomness. Leave it off for deterministic wasm output.

WASM Footprint & Typst Compatibility

  • Slimmed the pure/Typst-oriented core profile significantly. A Typst-compatible wasm32-unknown-unknown semantic probe built on merman-core --no-default-features measured 1,737,728 bytes raw (570,804 bytes gzip), while the metadata probe measured 1,736,363 bytes raw (570,150 bytes gzip).
  • A core-only no-import probe measured 1,729,398 bytes raw (567,208 bytes gzip).
  • The Typst-oriented probe imports only Typst's two wasm-minimal-protocol host callbacks and no longer pulls wasm-bindgen, js-sys, serde_yaml, json5, lol_html, url, uuid, or web-time through the pure/no-default core path.
  • The default minimal Typst package build (render, no core-full, no host) now measures about **7.02 MB raw** and **1.93 MB gzip** and passes the Typst wasm ABI gate with only the two wasm-minimal-protocol` imports.
  • The opt-in full no-host Typst render build (render + core-full) measures 8,073,841 bytes raw (2,349,176 bytes gzip) with the same Typst-only import surface.

Fixed

  • Corrected web package documentation to use the published @mermanjs/web npm package name.
  • Avoided clipped Flowchart edge labels in Linux/Firefox browser previews. Thanks @aurabindo for reporting #2.
  • Limited CSS override cleanup to <style> blocks and style attributes so ordinary SVG text and metadata containing !important stay intact.
  • Scoped embedded icon IDs so repeated Flowchart and Architecture icons do not collide inside one SVG.
  • Scoped Sankey generated IDs and Sequence debug markers for safer inline SVG embedding.

Install merman-cli 0.8.0-alpha.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.8.0-alpha.1

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

0.7.0 - 2026-06-09

09 Jun 07:35

Choose a tag to compare

Release Notes

Merman 0.7.0 is the first non-prerelease 0.7 line. It stabilizes the Mermaid 11.15-compatible headless rendering surface for broader editor, web, CLI, rustdoc, and native-binding use, while keeping parity and quality gates explicit.

Breaking Changes

  • Carries forward the 0.7 alpha API changes: detector construction uses for_pinned_mermaid_baseline(), known-type parser methods use *_with_type*, raster sizing uses the new target-aware RasterOptions, and theme metadata APIs use the supported-theme naming.

Added

  • Added Venn diagram parsing, layout, and SVG rendering as beta coverage with upstream-backed fixtures and targeted SVG gates.
  • Added host theme profiles and built-in editor-oriented theme presets so embedders can adapt diagrams to dark and themed host surfaces without rewriting per-diagram SVG output.
  • Added theme discovery through Rust, WASM, FFI, UniFFI, and platform binding surfaces.
  • Added copyable host-theme and stylized-theme Rust examples, plus broader theme smoke coverage across diagram families.
  • Added a corpus-driven benchmark harness that compares native merman, mermaid-rs-renderer, and upstream Mermaid JS v11.15.0 with separate performance, coverage, missing, skipped, and error reporting.

Changed

  • Deepened render request planning, family metadata, headless operations, xtask comparison/admission flow, and theme role ownership so release-facing APIs rely on fewer implementation-era seams.
  • Expanded playground theme preset support, share-state handling, preview status, and web package documentation around the published @mermanjs/web package.
  • Updated release workflow examples and release documentation for the final 0.7.0 tag.

Fixed

  • Improved host-theme readability for labels, fallback text, ER relationship labels, requirement strokes, GitGraph branch/tag labels, and resvg-safe SVG output.
  • Fixed GitGraph label vertical centering under non-default host themes.
  • Fixed release-facing web package documentation that still referenced the unpublished @merman/web name.

Install merman-cli 0.7.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Latias94/merman/releases/download/v0.7.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.7.0/merman-cli-installer.ps1 | iex"

Download merman-cli 0.7.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

0.7.0-alpha.2 - 2026-06-08

08 Jun 05:35

Choose a tag to compare

Pre-release

Release Notes

This alpha prepares the native, web, and editor-preview surfaces for external testing. It focuses on safer host integrations, clearer package APIs, and a smaller set of release-ready examples.

Breaking Changes

  • Replaced the stale Mermaid 11.12 registry constructors with for_pinned_mermaid_baseline(). Detector callers can also choose pinned_mermaid_baseline_full() or pinned_mermaid_baseline_tiny().
  • Renamed known-type parser methods from *_as* to *_with_type*, for example parse_diagram_as_sync -> parse_diagram_with_type_sync.
  • Renamed theme metadata APIs to supportedThemes(), supported_themes(), and merman_supported_themes_json() to match the supported diagram metadata API.

Added

  • Added fixed-time render options for stable date-sensitive diagrams such as Gantt charts.
  • Added copyable Rust examples, including a custom host output environment example.

Changed

  • Raised the MSRV to Rust 1.95.

Fixed

  • Improved editor-preview stability for host apps such as Zed, including readable SVG and resvg-safe output.
  • Hardened parser, layout, Graphlib/Dagre, sanitizer, and SVG cleanup paths against malformed or deeply nested input.
  • Fixed Python wheel packaging so published wheels include native platform libraries.
  • Fixed Flowchart zero-spacing defaults and class text preservation in preview/raster output.

Install merman-cli 0.7.0-alpha.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.7.0-alpha.2

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

v0.7.0-alpha.1

05 Jun 16:17

Choose a tag to compare

v0.7.0-alpha.1 Pre-release
Pre-release

Merman 0.7 moves the project from the Mermaid 11.12 line to Mermaid 11.15 compatibility and adds new public surfaces for native FFI, ASCII/Unicode rendering, and rustdoc Mermaid rendering. It also makes the playground useful as a real parity/debugging tool. A large amount of parser, layout, SVG, theme, and test infrastructure was reworked internally to make future Mermaid upgrades less brittle.

Breaking Changes

  • Updated the compatibility target to Mermaid 11.15.0. If you keep semantic, layout, or SVG goldens, expect to refresh them.
  • PNG/JPG raster output now applies a safety budget by default. Very large diagrams are downscaled unless callers configure RasterOptions, provide a RasterSizeLimit, or opt into unbounded raster output.
  • RasterOptions gained target-aware sizing fields. Callers using exhaustive struct literals should add ..Default::default() or set the new fields explicitly.

Added

  • Added ASCII/Unicode rendering through merman-ascii, merman::ascii, and merman-cli render --format ascii|unicode.
  • Added rustdoc integration through merman-rustdoc, a proc-macro crate that renders Mermaid fences and include_mmd! files in rustdoc as inline headless SVG without injecting Mermaid JavaScript. The macro supports scope, pipeline, fail, source, sanitize, and theme options, including recursive inline item processing with scope = "tree", rustdoc light/dark theme switching by default, fixed build-time Mermaid themes with source-level config precedence, and strict SVG safety checks by default.
  • Added a more Mermaid CLI-like merman-cli render surface, including markdown input handling, icon pack compatibility, and raster sizing flags.
  • Added the @merman/web TypeScript/WASM package and a hosted playground with live editing, SVG export, Mermaid JS compare mode, diagnostics, benchmark tools, mobile layout support, and a larger example gallery.
  • Added experimental platform bindings through merman-ffi: C ABI, Flutter/Dart, Android JNI, Apple SwiftPM, and Python UniFFI packages.
  • Added minimum support and parity tracking for additional Mermaid families including TreeView, Ishikawa, and Event Modeling, alongside Mermaid 11.15 updates for Class, XY Chart, Sankey, Pie, Flowchart, Sequence, C4, Timeline, Radar, Mindmap, Kanban, Gantt, and Block.

Changed

  • Reworked theme handling to follow Mermaid 11.15 more closely, including supported theme metadata, look handling, themeVariables, scoped themeCSS, and SVG colors that remain readable inside host pages.
  • Reworked rasterization so PNG/JPG sizing is planned before allocating buffers. SVG output remains parity-oriented and does not clamp the root viewBox.
  • Reworked major internals around render dispatch, config/font/theme resolution, Architecture/FCoSE layout seams, Graphlib/Dagre compatibility, and parity tooling. These changes are mostly internal, but they make 11.15 support and future Mermaid upgrades more stable.

Fixed

  • Fixed deeply nested valid diagrams that previously hit Merman-specific depth limits or stack-sensitive parser/layout paths.
  • Fixed many Mermaid 11.15 SVG parity gaps across Flowchart, Sequence, Class, Architecture, State, Block, Timeline, Pie, Radar, Treemap, Mindmap, ER, Journey, Requirement, Sankey, C4, and XY Chart.
  • Fixed dark-host and custom-theme visibility issues for diagram labels, notes, edges, clusters, and chart elements.
  • Fixed oversized raster exports and JPG background handling so image export is safer and more predictable.

0.6.2 - 2026-06-03

03 Jun 05:05

Choose a tag to compare

Release Notes

Fixed

  • Completed the 0.6.x deep-nesting fix by matching Mermaid for valid deeply nested Flowchart
    subgraphs: diagrams past 256 nested subgraphs now parse and render instead of returning the
    v0.6.1 custom depth-limit error.
  • Kept Class diagrams on their Class-specific stack-safe path: recursive namespace cluster
    extraction is bounded instead of following arbitrary nesting depth, so valid deep namespaces avoid
    call-stack growth without changing the existing Class parser contract.

Install merman-cli 0.6.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.6.2

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

0.5.2 - 2026-06-03

03 Jun 05:04

Choose a tag to compare

Release Notes

Fixed

  • Completed the 0.5.x deep-nesting fix by matching Mermaid for valid deeply nested Flowchart
    subgraphs: diagrams past 256 nested subgraphs now parse and render instead of returning the
    v0.5.1 custom depth-limit error.
  • Kept Class diagrams on their Class-specific stack-safe path: recursive namespace cluster
    extraction is bounded instead of following arbitrary nesting depth, so valid deep namespaces avoid
    call-stack growth without changing the existing Class parser contract.

Install merman-cli 0.5.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.5.2

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

0.4.2 - 2026-06-03

03 Jun 05:05

Choose a tag to compare

Release Notes

Fixed

  • Completed the 0.4.x deep-nesting fix by matching Mermaid for valid deeply nested Flowchart
    subgraphs: diagrams past 256 nested subgraphs now parse and render instead of returning the
    v0.4.1 custom depth-limit error.
  • Kept Class diagrams on their Class-specific stack-safe path: recursive namespace cluster
    extraction is bounded instead of following arbitrary nesting depth, so valid deep namespaces avoid
    call-stack growth without changing the existing Class parser contract.

Install merman-cli 0.4.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.4.2

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

0.6.1 - 2026-06-02

02 Jun 14:42

Choose a tag to compare

Release Notes

Fixed

  • Hardened deeply nested diagram handling to prevent stack overflows in Flowchart, State,
    Block, Mindmap, Treemap, C4, and Class diagram parsing/layout.

Install merman-cli 0.6.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.6.1

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

0.5.1 - 2026-06-02

02 Jun 14:47

Choose a tag to compare

Release Notes

Fixed

  • Hardened deeply nested diagram handling to prevent stack overflows in Flowchart, State,
    Block, Mindmap, Treemap, C4, and Class diagram parsing/layout.

Install merman-cli 0.5.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.5.1

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

0.4.1 - 2026-06-02

02 Jun 14:48

Choose a tag to compare

Release Notes

Fixed

  • Hardened deeply nested diagram handling to prevent stack overflows in Flowchart, State,
    Block, Mindmap, Treemap, C4, and Class diagram parsing/layout.

Install merman-cli 0.4.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download merman-cli 0.4.1

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