Skip to content

Releases: jongalloway/DiagramForge

v1.1.0 - Icons, New Diagrams and Themes!

17 Mar 18:29
95c0fb6

Choose a tag to compare

DiagramForge v1.1.0 Release Notes

Release date: March 17, 2026

DiagramForge v1.1.0 is a feature-packed release that adds six new diagram types,
a pluggable icon system, Mermaid class diagram support, theme packs, and
significant layout and rendering improvements.


New Diagram Types

  • Tree / Org-Chart diagram — hierarchical tree layout with orthogonal
    connector lines and bottom-to-top anchoring (#118)
  • Funnel diagram — tapered funnel visualization in the Conceptual DSL (#91)
  • Chevron process diagram — arrow-shaped process flow with inward V-notch
    and overlap layout (#93, #109)
  • Radial / Hub-and-Spoke diagram — center-out radial layout for the
    Conceptual DSL (#94)
  • Matrix cell icons — icon support inside matrix quadrant cells (#115)

Mermaid Class Diagrams

  • Full Mermaid class diagram parser with classes, interfaces, and
    annotations (#99)
  • Class diagram semantic model: namespaces, stereotypes, cardinality
    labels (#98, #102)
  • UML-style node rendering with compartment-based sizing (#100, #101, #104)

Icon Pack System

  • Pluggable SVG icon packs for architecture diagrams — register external
    icon providers at runtime (#106)
  • Icon alignment fixes and NormalizeAngle consistency improvements (#113, #114)
  • Icon support documentation and snapshot coverage (#113)

Theme Packs

  • Theme pack system — ship and switch between bundled or custom color
    themes (#92)
  • WCAG contrast utilities and --list-themes CLI flag for accessibility
    auditing (#92)

Layout & Rendering Improvements

  • Orthogonal edge routing with rounded corners, plus straight routing
    option (#83)
  • Subgraph direction support — set direction per subgraph in Mermaid
    flowcharts (#85)
  • Pre-order group direction pass and shared ComputeLayersCore helper for
    consistent layering (#85)
  • Fix edge filter OR→AND in ComputeLayersCore to prevent
    KeyNotFoundException (#104)
  • Composite block syntax (block:ID ... end) in the Mermaid block parser (#84)
  • Radial palette fix: item colors no longer wrap back to center color (#94)

Packaging & Documentation

  • Package icon and social preview branding assets (#96)
  • Local NuGet package troubleshooting guide (#95)
  • Example Copilot skills and Render-MarkdownDiagrams.ps1 workflow (#117)

Test Coverage

  • 788 unit tests and 80 E2E snapshot tests — all passing
  • New snapshot fixtures for tree, funnel, chevron, radial, class, and icon
    diagrams

Full diff: v1.0.0...v1.1.0

1.0 Release! 🥳

13 Mar 22:07
9973a7b

Choose a tag to compare

DiagramForge v1.0 - Release Notes

Text in, SVG out. DiagramForge is a .NET library and CLI that turns plain-text diagram descriptions into clean, self-contained SVG — no browser, no JavaScript runtime, no headless Chrome.

Why DiagramForge?

Most diagram-as-code tools assume a browser. Mermaid.js needs a JavaScript engine, and even once you've set up headless Chrome the SVG it produces uses <foreignObject> wrapping HTML <div>s instead of native <text> elements. That's fine in a web page — but it's a blank box in Inkscape, a parse error in Illustrator, and a mess in PowerPoint or Keynote.

DiagramForge renders a focused Mermaid subset to real SVG with native <text> elements. The output opens everywhere.

Highlights

  • Real SVG output - native <text> elements, no <foreignObject>, no embedded HTML, no CSS-in-SVG. Works in Inkscape, PowerPoint, Keynote, librsvg, and any standards-compliant SVG viewer.
  • Pure .NET 10 - zero native dependencies, zero runtime package dependencies. No headless browser, no Node.js, no shelling out.
  • Deterministic rendering - same input produces byte-identical output, safe for snapshot testing and CI pipelines.
  • 23 built-in themes - default, dark, forest, dracula, github-light, github-dark, nord, tokyo-night, catppuccin-latte, catppuccin-mocha, solarized-light, solarized-dark, one-dark, presentation, and more.
  • Pluggable parser architecture - register custom IDiagramParser implementations for your own diagram syntaxes.
  • CLI tool via dnx - render diagrams from the command line with theme and palette overrides, no install step needed on .NET 10.

Supported Diagram Types

Mermaid Subset

Diagram Keywords Capabilities
Flowchart flowchart, graph Directions (LR/RL/TB/BT/TD), shapes, edges, labels, subgraphs
Block diagram block, block-beta Columns, spans, arrow blocks, labeled edges
Sequence diagram sequenceDiagram Participants, aliases, messages, auto-created participants
State diagram stateDiagram, stateDiagram-v2 Terminals, transitions, transition labels
Mindmap mindmap Indentation-based hierarchy
Timeline timeline Title, periods, multiple entries per period
Venn diagram venn-beta Sets, unions, nested text
Architecture diagram architecture-beta Groups, services, junctions, port-aware edges
XY chart xychart-beta Title, axes, bar series, line series

Conceptual DSL

Presentation-native layouts for slides and decks that are awkward to express in Mermaid:

Type Use case
Matrix 2x2 or 3x3 quadrant grids
Pyramid Segmented, labeled capability stacks
Cycle 3–6 step radial iterative processes
Pillars Parallel workstreams with stacked segments

Theming and Styling

  • Built-in presets - 23 named themes selectable by name via the API, CLI, or diagram frontmatter.
  • Custom Theme objects - override colors, fonts, spacing, corner radius, gradients, shadows, and more.
  • Palette JSON - override node fill colors with a simple JSON array.
  • Frontmatter - embed theme, palette, border style, fill style, shadow style, and transparency settings directly in diagram source files.
  • Transparent backgrounds - for overlay and embed use cases.

Install

Library

dotnet add package DiagramForge

CLI

dnx DiagramForge.Tool --help

Quick Start

using DiagramForge;

var renderer = new DiagramRenderer();
string svg = renderer.Render("""
    flowchart LR
      A[Plan] --> B[Build]
      B --> C[Ship]
    """);

Links

License

MIT

Full Changelog: v0.1.0...v1.0.0