Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@mermaid-js/mermaid-zenuml

mermaid-js75.5kMIT0.2.0TypeScript support: included

MermaidJS plugin for ZenUML integration

diagram, markdown, zenuml, mermaid

readme

Mermaid

Generate diagrams from markdown-like text.

Live Editor!

📖 Documentation | 🚀 Getting Started | 🌐 CDN | 🙌 Join Us

简体中文

Try Live Editor previews of future releases: Develop | Next



NPM Build CI Status npm minified gzipped bundle size Coverage Status CDN Status NPM Downloads Join our Discord! Twitter Follow Covered by Argos Visual Testing OpenSSF Scorecard

:trophy: Mermaid was nominated and won the JS Open Source Awards (2019) in the category "The most exciting use of technology"!!!

Thanks to all involved, people committing pull requests, people answering questions! 🙏

Explore Mermaid.js in depth, with real-world examples, tips & tricks from the creator... The first official book on Mermaid is available for purchase. Check it out!

Table of content

<summary>Expand contents</summary>

About

Mermaid is a JavaScript-based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. The main purpose of Mermaid is to help documentation catch up with development.

Doc-Rot is a Catch-22 that Mermaid helps to solve.

Diagramming and documentation costs precious developer time and gets outdated quickly. But not having diagrams or docs ruins productivity and hurts organizational learning.
Mermaid addresses this problem by enabling users to create easily modifiable diagrams. It can also be made part of production scripts (and other pieces of code).

Mermaid allows even non-programmers to easily create detailed diagrams through the Mermaid Live Editor.
For video tutorials, visit our Tutorials page. Use Mermaid with your favorite applications, check out the list of Integrations and Usages of Mermaid.

You can also use Mermaid within GitHub as well many of your other favorite applications—check out the list of Integrations and Usages of Mermaid.

For a more detailed introduction to Mermaid and some of its more basic uses, look to the Beginner's Guide, Usage and Tutorials.

Our PR Visual Regression Testing is powered by Argos with their generous Open Source plan. It makes the process of reviewing PRs with visual changes a breeze.

Covered by Argos Visual Testing

In our release process we rely heavily on visual regression tests using applitools. Applitools is a great service which has been easy to use and integrate with our tests.

<svg width="170" height="32" viewBox="0 0 170 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" maskUnits="userSpaceOnUse" x="27" y="0" width="143" height="32"><path fill-rule="evenodd" clip-rule="evenodd" d="M27.732.227h141.391v31.19H27.733V.227z" fill="#fff"></path></mask><g mask="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M153.851 22.562l1.971-3.298c1.291 1.219 3.837 2.402 5.988 2.402 1.971 0 2.903-.753 2.903-1.829 0-2.832-10.253-.502-10.253-7.313 0-2.904 2.51-5.45 7.099-5.45 2.904 0 5.234 1.004 6.955 2.367l-1.829 3.226c-1.039-1.075-3.011-2.008-5.126-2.008-1.65 0-2.725.717-2.725 1.685 0 2.546 10.289.395 10.289 7.386 0 3.19-2.724 5.52-7.528 5.52-3.012 0-5.916-1.003-7.744-2.688zm-5.7 2.259h4.553V.908h-4.553v23.913zm-6.273-8.676c0-2.689-1.578-5.02-4.446-5.02-2.832 0-4.409 2.331-4.409 5.02 0 2.724 1.577 5.055 4.409 5.055 2.868 0 4.446-2.33 4.446-5.055zm-13.588 0c0-4.912 3.442-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.7 0-9.142-4.195-9.142-9.106zm-5.628 0c0-2.689-1.577-5.02-4.445-5.02-2.832 0-4.41 2.331-4.41 5.02 0 2.724 1.578 5.055 4.41 5.055 2.868 0 4.445-2.33 4.445-5.055zm-13.587 0c0-4.912 3.441-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.701 0-9.142-4.195-9.142-9.106zm-8.425 4.338v-8.999h-2.868v-3.98h2.868V2.773h4.553v4.733h3.514v3.979h-3.514v7.78c0 1.111.574 1.936 1.578 1.936.681 0 1.326-.251 1.577-.538l.968 3.478c-.681.609-1.9 1.11-3.8 1.11-3.191 0-4.876-1.648-4.876-4.767zm-8.962 4.338h4.553V7.505h-4.553V24.82zm-.43-21.905a2.685 2.685 0 012.688-2.69c1.506 0 2.725 1.184 2.725 2.69a2.724 2.724 0 01-2.725 2.724c-1.47 0-2.688-1.219-2.688-2.724zM84.482 24.82h4.553V.908h-4.553v23.913zm-6.165-8.676c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82h-4.553V7.504H70v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.907-.86-5.342-2.653zm-10.718-6.453c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82H46.41V7.504h4.553v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.908-.86-5.342-2.653zm-11.758-1.936V18.51c-.753-1.004-2.187-1.542-3.657-1.542-1.793 0-3.263.968-3.263 2.617 0 1.65 1.47 2.582 3.263 2.582 1.47 0 2.904-.502 3.657-1.506zm0 4.159v-1.829c-1.183 1.434-3.227 2.259-5.485 2.259-2.761 0-5.988-1.864-5.988-5.736 0-4.087 3.227-5.593 5.988-5.593 2.33 0 4.337.753 5.485 2.115V13.85c0-1.756-1.506-2.904-3.8-2.904-1.829 0-3.55.717-4.984 2.044L28.63 9.8c2.115-1.901 4.84-2.726 7.564-2.726 3.98 0 7.6 1.578 7.6 6.561v11.186h-4.588z" fill="#00A298"></path></g><path fill-rule="evenodd" clip-rule="evenodd" d="M14.934 16.177c0 1.287-.136 2.541-.391 3.752-1.666-1.039-3.87-2.288-6.777-3.752 2.907-1.465 5.11-2.714 6.777-3.753.255 1.211.39 2.466.39 3.753m4.6-7.666V4.486a78.064 78.064 0 01-4.336 3.567c-1.551-2.367-3.533-4.038-6.14-5.207C11.1 4.658 12.504 6.7 13.564 9.262 5.35 15.155 0 16.177 0 16.177s5.35 1.021 13.564 6.915c-1.06 2.563-2.463 4.603-4.507 6.415 2.607-1.169 4.589-2.84 6.14-5.207a77.978 77.978 0 014.336 3.568v-4.025s-.492-.82-2.846-2.492c.6-1.611.93-3.354.93-5.174a14.8 14.8 0 00-.93-5.174c2.354-1.673 2.846-2.492 2.846-2.492" fill="#00A298"></path></svg>

Examples

The following are some examples of the diagrams, charts and graphs that can be made using Mermaid. Click here to jump into the text syntax.

Flowchart [docs - live editor]

flowchart LR

A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
flowchart LR

A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]

Sequence diagram [docs - live editor]

sequenceDiagram
Alice->>John: Hello John, how are you?
loop HealthCheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
sequenceDiagram
Alice->>John: Hello John, how are you?
loop HealthCheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!

Gantt chart [docs - live editor]

gantt
    section Section
    Completed :done,    des1, 2014-01-06,2014-01-08
    Active        :active,  des2, 2014-01-07, 3d
    Parallel 1   :         des3, after des1, 1d
    Parallel 2   :         des4, after des1, 1d
    Parallel 3   :         des5, after des3, 1d
    Parallel 4   :         des6, after des4, 1d
gantt
    section Section
    Completed :done,    des1, 2014-01-06,2014-01-08
    Active        :active,  des2, 2014-01-07, 3d
    Parallel 1   :         des3, after des1, 1d
    Parallel 2   :         des4, after des1, 1d
    Parallel 3   :         des5, after des3, 1d
    Parallel 4   :         des6, after des4, 1d

Class diagram [docs - live editor]

classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}

State diagram [docs - live editor]

stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]

Pie chart [docs - live editor]

pie
"Dogs" : 386
"Cats" : 85.9
"Rats" : 15
pie
"Dogs" : 386
"Cats" : 85.9
"Rats" : 15

Git graph [experimental - live editor]

Bar chart (using gantt chart) [docs - live editor]

gantt
    title Git Issues - days since last update
    dateFormat  X
    axisFormat %s

    section Issue19062
    71   : 0, 71
    section Issue19401
    36   : 0, 36
    section Issue193
    34   : 0, 34
    section Issue7441
    9    : 0, 9
    section Issue1300
    5    : 0, 5
gantt
    title Git Issues - days since last update
    dateFormat  X
    axisFormat %s

    section Issue19062
    71   : 0, 71
    section Issue19401
    36   : 0, 36
    section Issue193
    34   : 0, 34
    section Issue7441
    9    : 0, 9
    section Issue1300
    5    : 0, 5

User Journey diagram [docs - live editor]

  journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me
  journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me

C4 diagram [docs]

C4Context
title System Context diagram for Internet Banking System

Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
Person(customerB, "Banking Customer B")
Person_Ext(customerC, "Banking Customer C")
System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")

Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")

Enterprise_Boundary(b1, "BankBoundary") {

  SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

  System_Boundary(b2, "BankBoundary2") {
    System(SystemA, "Banking System A")
    System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts.")
  }

  System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
  SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")

  Boundary(b3, "BankBoundary3", "boundary") {
    SystemQueue(SystemF, "Banking System F Queue", "A system of the bank, with personal bank accounts.")
    SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
  }
}

BiRel(customerA, SystemAA, "Uses")
BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")
C4Context
title System Context diagram for Internet Banking System

Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
Person(customerB, "Banking Customer B")
Person_Ext(customerC, "Banking Customer C")
System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")

Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")

Enterprise_Boundary(b1, "BankBoundary") {

  SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")

  System_Boundary(b2, "BankBoundary2") {
    System(SystemA, "Banking System A")
    System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts.")
  }

  System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
  SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")

  Boundary(b3, "BankBoundary3", "boundary") {
    SystemQueue(SystemF, "Banking System F Queue", "A system of the bank, with personal bank accounts.")
    SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
  }
}

BiRel(customerA, SystemAA, "Uses")
BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")

Release

For those who have the permission to do so:

Update version number in package.json.

npm publish

The above command generates files into the dist folder and publishes them to https://www.npmjs.com.

Contributors Good first issue Contributors Commits

Mermaid is a growing community and is always accepting new contributors. There's a lot of different ways to help out and we're always looking for extra hands! Look at this issue if you want to know where to start helping out.

Detailed information about how to contribute can be found in the contribution guide

Security and safe diagrams

For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitize the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.

As an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing javascript in the code from being executed. This is a great step forward for better security.

Unfortunately you can not have a cake and eat it at the same time which in this case means that some of the interactive functionality gets blocked along with the possible malicious code.

Reporting vulnerabilities

To report a vulnerability, please e-mail security@mermaid.live with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue.

Appreciation

A quick note from Knut Sveidqvist:

Many thanks to the d3 and dagre-d3 projects for providing the graphical layout and drawing libraries!

Thanks also to the js-sequence-diagram project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering.

Thank you to Tyler Long who has been a collaborator since April 2017.

Thank you to the ever-growing list of contributors that brought the project this far!


Mermaid was created by Knut Sveidqvist for easier documentation.

changelog

Changelog

10.0.0

Mermaid is ESM only!

We've dropped CJS support. So, you will have to update your import scripts as follows.

<script type="module">
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
  mermaid.initialize({ startOnLoad: true });
</script>

You can keep using v9 by adding the @9 in the CDN URL.

- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.js"></script>

mermaid.render is async and doesn't accept callbacks

// < v10
mermaid.render('id', 'graph TD;\nA-->B', (svg, bindFunctions) => {
  element.innerHTML = svg;
  if (bindFunctions) {
    bindFunctions(element);
  }
});

// Shorter syntax
if (bindFunctions) {
  bindFunctions(element);
}
// can be replaced with the `?.` shorthand
bindFunctions?.(element);

// >= v10 with async/await
const { svg, bindFunctions } = await mermaid.render('id', 'graph TD;\nA-->B');
element.innerHTML = svg;
bindFunctions?.(element);

// >= v10 with promise.then
mermaid.render('id', 'graph TD;A-->B').then(({ svg, bindFunctions }) => {
  element.innerHTML = svg;
  bindFunctions?.(element);
});

mermaid.parse is async and ParseError is removed

// < v10
mermaid.parse(text, parseError);

//>= v10
await mermaid.parse(text).catch(parseError);
// or
try {
  await mermaid.parse(text);
} catch (err) {
  parseError(err);
}

Init deprecated and InitThrowsErrors removed

The config passed to init was not being used earlier. It will now be used. The init function is deprecated and will be removed in the next major release. init currently works as a wrapper to initialize and run.

// < v10
mermaid.init(config, selector, cb);

//>= v10
mermaid.initialize(config);
mermaid.run({
  querySelector: selector,
  postRenderCallback: cb,
  suppressErrors: true,
});
// < v10
mermaid.initThrowsErrors(config, selector, cb);

//>= v10
mermaid.initialize(config);
mermaid.run({
  querySelector: selector,
  postRenderCallback: cb,
  suppressErrors: false,
});

// TODO: Populate changelog pre v10

  • Config has a lot of changes
  • globalReset resets to defaultConfig instead of current config. Use reset instead.

Unreleased

Full Changelog

Closed issues:

  • Cross-Site Scripting:DOM - Issue #847

8.2.0 (2019-07-17)

Full Changelog

Closed issues:

  • Create issue templates #871
  • cross site scripting in mermaid #869
  • Make Gantt chart date inclusive #868
  • CHANGELOG missing updates for all versions since 0.4.0 #865
  • please add tag for 8.0.0 release #863
  • classDiagram breaks on any edit #858
  • found 1 high severity vulnerability #839
  • Missing fontawesome icon support #830
  • Docs for integration with wiki.js? #829
  • Is this project still maintained? #826
  • typora #823
  • Maintain the order of the nodes in Flowchart #815
  • Overlap, Overflow and cut titles in flowchart #814
  • How load mermaidApi notejs electron #813
  • How to set the spacing between the text of the flowchart node and the border? #812
  • no triming participant name and the name following spaces is as another actor in sequence #809
  • uml Class as shape type #807
  • Force-directed graph Layout Style #806
  • how can I start a newLine in FlowChart #805
  • UOEProcessShow #801
  • Why the use of code blocks? #799
  • fixing class diagram #794
  • Autonumber support in sequence diagrams #782
  • MomentJS dependency #781
  • Feature : Can we color code the flow/arrows #766
  • Is there any way to convert flowchart.js code to mermaid code #726
  • Fixed width of nodes #653
  • Inline comment #650
  • alt attribute of img tag in HTML #619
  • Just wanted to say : THANKS ! #618
  • "animation" #446

Merged pull requests:

8.1.0 (2019-06-25)

Full Changelog

Closed issues:

  • Gantt and sequence diagram do not render #853
  • margins around flowchart are not balanced #852
  • Smaller bundles #843
  • unicode in labels #776
  • Hard-changing drawing of arrows per edge type #775
  • SequenceDiagram wrong #773
  • Render mermaid on github pages with simple code #772
  • FlowChart - large space between text and the image #754
  • Class Diagram Issues when using Mermaid in Stackedit #748
  • Multi-platform CI #744
  • gantt: sections can't have a colon #742
  • Yarn build does not add mermaid.min.css to dist #732
  • Is there a grammar / keyword / more than just the basic examples? #718
  • Click event and react component #717
  • Long text going outside the box #706
  • How to migrate from yUML to mermaid? #704
  • Issue on Dynamic Creation in PHP #690
  • click "\#target" and click "http://url" should create regular links #689
  • Support Chinese punctuation #687
  • [Question] Proper way to install on Mac? #681
  • Has Mermaid a graphical interface to make diagrams? #668
  • mermaid installation on debian #649
  • "Cannot activate" in sequenceDiagram #647
  • Link ("click" statement) in flowchart does not work in exported SVG #646
  • How to pass styling #639
  • The live editor can't show seq diagram with notes for 8.0.0-alpha.3 #638
  • import mermaid.css with ES6 + NPM #634
  • Actor line cuts through other elements #633
  • Graph TD line out of the picture (left side) #630
  • Flowchart labels appear "cutoff" #628
  • Uncaught TypeError: _.constant is not a function (mermaid.js) #626
  • Missing tags and releases for newer versions #623
  • Mermaid and Leo / Leo Vue #622
  • mermaidAPI gantt Vue.js #621
  • Gantt sections are not separated by colors - Fix: set numberSectionStyles to 4 instead of 3 #620
  • how to get mermaidAPI? #617
  • Error in startOnLoad documentation? #616
  • Example export to SVG generates error #614
  • The new online editor does not support previously generated links #613
  • Grammar / Syntax documentation for flowcharts #607
  • Mermaid does not work with d3.js #606
  • Why does this code's flowchart lines get cut-off on screen? #604
  • click keyword does not fire my callback (on the demo Website too) #603
  • Online Editor fails to show exported SVG #601
  • Just saying thanks! #597
  • stylesheet crashed with other library like abcjs #596
  • Missing connection #594
  • How to use mermaid on node.js restful api? #593
  • Remove status code #589
  • Golang based editor #588
  • sequenceDiagram -> notetext css font is hardcoded #587
  • Multiple graph in the live editor #586
  • All <svg> elements in page are colored black #584
  • Styling: classes aren't applied to elements. #582
  • Rounded connections #580
  • Arrows are not being shown correctly in the dark theme #578
  • The documentation for CLI seems outdated. #572
  • No effect of click event:can not open link #571
  • Text colors are not correct in VSCODE #570
  • Nodes aren't aligned properly (just need an explanation) #568
  • setting margin around figure in R #567
  • Arrows should Come out in upward and Downward direction from decision Node #566
  • TypeError: Cannot read property 'select' of undefined #563
  • A little bug #557
  • Japanese text appears garbled #554
  • classdiagram not works in mermaid live_editor #553
  • font awesome in link text? #546
  • q: heard of the cosmogol standard? #545
  • Arrow heads missing (cli, 7.0.3) #544
  • No Edge Boxes if useHtmlLabels=false #541
  • how to change mermaid text color or line text block color? #534
  • FlowChart visualization broken when downloading from live editor #533
  • Can't get flowchart to render paths at the top of the diagram; I even tried the online editor and that shows the same issue. Thoughts? #532
  • live editor make browser(safari on macOS&iOS) not longer respond #531
  • css classes need a prefix/namespace #527
  • input activate/deactivate cause safari unresponding #521
  • Cannot Render the Mermaid Graph to PDF ? #520
  • clicking links works from inset in subgraph but not from nodes #516
  • Strange syntax error - when importing mermaid.js #515
  • gantt x-axis display #510
  • phantomjs renamed to phantomjs-prebuilt #508
  • issue when using sphinxcontrib-mermaid extension for sphinx #507
  • layout of docs page looks broken #504
  • Problem showing graph with php on localhost #502
  • logLevel's option doesnt work at 7.0.0 #501
  • How do I get the log for a render or parse attempt? #500
  • Mermaid neutral style style to built in latest release #499
  • Any plans for adding a typescript definition file? #495
  • Gantt diagrams too narrow #493
  • Flowchart edge labels placement #490
  • Very different styles when rendering as png vs. svg #489
  • New editor that supports mermaid: Caret #488
  • Gant PNG margin #486
  • ReferenceError: window is not defined #485
  • Menu and layout bugs in docs #484
  • Mermaid resets some of the page CSS styles #482
  • Arrows rendering incorrectly in online editor #480
  • CSS stroke-dasharray ignored by browsers but not other viewers #474
  • mermaid - Browser Support issue #472
  • Totally love mermaid I might pop! #471
  • Sequence Diagram: Missing x on async arrows (png) #469
  • live editor: the svg file rendered from graph is not supported by browsers #468
  • Not found css #462
  • Phantomjs Dependency #461
  • Mermaid cli not working for subgraphs #459
  • Support for notes across multiple participants? #458
  • Related to Issue #329: Phantomjs issues. #455
  • Add a click style #426
  • Add Parallel block (par) to sequence diagrams #425
  • updating shapes after the flow chart rendering complete #424
  • can't catch parse error Maximum call stack size exceeded on safari #421
  • Arrows endings are missing #419
  • shouldn't mermaid become more like Markdown ? #417
  • Live editor show rendered diagram if syntax invalid #415
  • Live editor sticky sidebar #414
  • Linkstyle stroke does not work #410
  • flowchart id's with dots in them .. break links #408
  • Flowchart: Link text beginning with lowercase 'o' causes flowchart to break #407
  • Some chinese character will case Safari no responding. #405
  • Cannot center-justify text in nodes? #397
  • Edge labels should have white background in live editor #396
  • Live editor does not support activate/deactivate #394
  • Styling subgraph? #391
  • Update live editor to version 6.0.0 #387
  • sequence diagram config issue #385
  • How to add newline in the text #384
  • PhantomJS crashes on a large graph #380
  • Finnish support for class diagrams using plantuml syntax #377
  • mermaidAPI.render generated different svg code from mermaid.int() #374
  • Put your own action on the chart #372
  • when declaring participants the elements are generated twice #370
  • Example Flowchart is cut in display (Chrome). #368
  • Add shebang support to diagrams #365
  • Silencing CLI output #352
  • SequenceDiagram: 3+ Alternative Paths #348
  • Smaller height of actor boxes #342
  • Question: lib/phantomscript.js - foreignObjects in SVG - related to #58 #340
  • npm test fails on osx being blocked at Can not load "PhantomJS", it is not registered! #337
  • Tabs & subgraphs cause rendering error #336
  • Display question: right angles #335
  • No Arrows rendered v0.5.8 #330
  • mermaid -v filename.mmd gives You must specify at least one source file. #328
  • You had errors in your syntax. Use --help for further information. #327
  • Allow alternate arrow syntax that doesn't close html comments #322
  • Comment in subgraph #319
  • Update graph #311
  • css conflicts with boostrap's css #308
  • Can not get click event to fire. #306
  • Fix phantomjs2 compatibility #304
  • Flowcharts do not work in native IE11 #303
  • Integration with remark.js - tutorial added #302
  • Theme for dark background #301
  • Sequence diagram Loops: changing boxMargin spoils the "loop" notation #299
  • src/mermaid.js generates bad code #297
  • Fresh fork: jasmine tests fail #294
  • CSS clash #292
  • Mermaid does not work in Chrome 48 #281
  • node click is not effective #272
  • circle and ellipse cannot change color by classDef #271
  • [Feature request] gantt diagram axis format #269
  • Not Able to See Labels even htmlLabels:false added #268
  • npm run watch doesn’t work due missing dependencies #266
  • label out of node #262
  • IE11 Support issue #261
  • mermaid without browser #260
  • Insufficient capacity of gantt diagrams #226
  • some WARN about installion #222
  • Live editor offline access #217
  • suggest: code highlight mode config for editors #212
  • Uncaught RangeError: Maximum call stack size exceeded #189
  • Implement render function for server side rendering using phantomjs #169
  • Styling label texts #50
  • Graphviz DOT syntax #5

Merged pull requests:

7.0.5 (2017-09-01)

Full Changelog

Closed issues:

  • live editor latin error after update #560
  • Simple full example in online documentation is broken #558
  • Graph No Arrow Head v7.0.3 #543
  • Conflict while using mermaid along with core-js #512
  • Export to pdf on website #496
  • New downstream project: Mermaid Preview for VSCode #442
  • Can't Zoom the flowchart ? #399
  • line labels are not rendered correctly in live editor #366
  • mermaid-loader #361
  • Are there any documentation or examples for classDiagram and gitGraph? #359
  • # character broken in 0.5.8 #347
  • Documentation issue: CSS example is not visible #345
  • Include documentation for command line usage #326
  • Fresh fork: can't build dist #296
  • Invalid value for <svg> attribute viewBox="0 0 -Infinity -Infinity" #291
  • Webpack require fails #277
  • New documentation - need improved logo #216

7.0.3 (2017-06-04)

Full Changelog

Closed issues:

  • the documentation website is down #539
  • Good example of interactivity with mermaidAPI #514

7.0.2 (2017-06-01)

Full Changelog

Closed issues:

  • CDN is not working #511
  • A sampe sequenceDiagram crashes mermaid-cli #492
  • Mermaid doesn't delete nodes when called multiple times #491
  • API crashes on 2nd render() call #478
  • sequenceDiagram: dotted line for alt and empty bracket should be hidden #456
  • SVG output (almost) not correct #434
  • How to set axisFormatter of gantt in mermaid CLI? #428
  • customizing link style with any color sets fill property to black instead of none #416
  • New line at the end of SVG file #400
  • CLI doesn't work #389
  • Can't render subgraphs with htmlLabels: false #367
  • Color arrowhead #362
  • CLI: Invisible text, lines in SVG output #341

Merged pull requests:

7.0.0 (2017-01-29)

Full Changelog

Closed issues:

  • demos on io site not working #466
  • Can not be generated PNG pictures through CLI with Chinese #451
  • Round nodes cannot be styled with CSS classes #443
  • webpack gulp UglifyJsPlugin error. #440
  • String concatenation isn't working #432
  • text flow/wrap in actor box of sequence diagram #422
  • Online live editor still use old version #402
  • uncaught TypeError: t.getTransformToElement is not a function #401
  • Only works when using browserify'd code #373
  • document the use of shebang line in mmd files #364
  • Diagrams are small and unreadable in IE 11 - since 0.5.1 #356
  • [Feature Request] ER-Diagram Support #354
  • npm install -g mermaid does not install phantomjs #329
  • activation boxes #313
  • The need for mermaid.css should be mentioned explicitly in the intro docs... #273

Merged pull requests:

6.0.0 (2016-05-29)

Full Changelog

Closed issues:

  • Docs css: code hard to read #324
  • About Markpad integration #323
  • How to link backwards in flowchat? #321
  • Help with editor #310
  • +1 #293
  • Basic chart does not render on Chome, but does in Firefox #290
  • Live editor is broken #285
  • "No such file or directory" trying to run mermaid 0.5.7 on OS X #284
  • participant name as "Long Long Name" #283
  • Windows - cli - could not find phantomjs at the specified path #236

Merged pull requests:

0.5.8 (2016-01-27)

Full Changelog

0.5.7 (2016-01-25)

Full Changelog

Closed issues:

  • Mermaid + LightPaper = ❤️ #280
  • Bower Integration #278
  • Mermaid breaks when variables end in 'v' #276
  • sequence diagrams don't support participant aliasing #263
  • One diagram that fails to render stops further execution on the page #259
  • Where to find line layout algorithm? #258
  • Compatibility with node.js #257
  • Label resizing with dynamically loaded fonts #255
  • SVG arrowheads are broken in the CLI #249
  • Cannot read property 'replace' of undefined #239

Merged pull requests:

  • gh-50 Allow styling of edge labels in css #267 (Anoia)
  • Allow sequenceDiagram participant aliasing #265 (gibson042)

0.5.6 (2015-11-22)

Full Changelog

Closed issues:

  • title doesn't work in sequenceDiagram #248
  • hypen-minus should be valid in sequence diagram alt/else/etc. descriptions #247
  • Broken in firefox? #245
  • When there is a Chinese symbol in the flowchart, it will crash。 #238
  • Non-alpha characters included in ALPHA token (flow graph jison) #232
  • subgraph not rendering with change to sample #231
  • sequence diagram requires a new line at the end? #229
  • Live Editor: Permalink address not being parsed #202
  • Add download SVG link to the live editor #144

Merged pull requests:

0.5.5 (2015-10-21)

Full Changelog

Closed issues:

  • sequence diagram, arrowhead instead of crosshead #227

Merged pull requests:

0.5.4 (2015-10-19)

Full Changelog

Closed issues:

  • Weird bug in live editor when using words with substring end #184
  • Custom icons #15
  • Marker-end arrow cannot be shown for URL with query parameter #225
  • Please update bower's D3 version #221
  • Set log level from mermaid configuration #220
  • Width fixed to 400px #204
  • render to png from the cli does not display the marker-end arrow heads #181
  • Links in sequence diagrams #159
  • comment characters %% cause parse error #141
  • Add a reversed asymmetric shape #124
  • Add syntax for double headed arrows #123
  • Support for font-awesome #49

Merged pull requests:

  • Allow end as a substring of vertex id #224 (spect88)
  • Remove duplicate npm dependencies: d3 and he #223 (spect88)

0.5.3 (2015-10-04)

Full Changelog

0.5.2 (2015-10-04)

Full Changelog

Closed issues:

  • Installing “atom-mermaid@0.1.3” failed #218
  • Render mermaid code on websites? #215
  • Brackets in a node with text? #213
  • node feature request #211
  • Please add prefix for styles #208
  • Bad handling of block arguments #207
  • please consider port to mac osx #203
  • allow phantomjs >=1.9.x #201
  • syntax for venn diagrams? #200
  • Broken CLI Graphs? (v0.5.1) #196
  • Static site does not render under HTTPS #194
  • Error on simple graph #192
  • Escape "~" #191
  • Trying to add link using 'click' to flowchart #188
  • cli: no lines and arrowheads rendered / only dotted lines #187
  • text of mermaid div displayed on page #186
  • using mermaid with laravel #185
  • Atom editor package #183
  • Auto linewrap for notes in sequence diagrams #178
  • Execute code after initialize #176
  • Autoscaling for all diagram types #175
  • Problem with click event callback #174
  • How to escape characters? #170
  • it can not work #167
  • UML Class diagram #154
  • Broken subgraph using the CLI #153
  • Support PlantUML syntax #149
  • IE Support issue #142
  • Flowchart truncated #140
  • Double Quote as text is not working #219
  • classDef / class not working with htmlLabels? #210
  • Links in graph missing #209
  • Last word in comment boxes getting cut off by word wrap library : ( #195
  • Escaping characters in sequence diagram #193
  • SVG foreignObject rendering #180
  • IE9 issue #179
  • inoperable in an AMD/requirejs environment: IPython Notebook #127
  • [Parser] Hyphen in participant name bring TypeError #74
  • Support for hyperlink and tooltip #34

Merged pull requests:

0.5.1 (2015-06-21)

Full Changelog

Closed issues:

  • Live editor is broken #173
  • 0.5.0 no longer respects custom date definitions in Gantt diagrams #171
  • Drop label character restrictions #162
  • can't nest subgraphs in flowchart #161
  • Unable to generate gantt diagram with mermaid CLI #158
  • Inline css by "mermaid" #157
  • Finite State Machine Diagram #152
  • How to center align gantt diagram #150
  • Security concern regarding class definition #148
  • File Extension #147
  • To SVG Export #146
  • setTimeout with clusters problematic with programmatic edits and no callback #133
  • Possibility to set the width of the generated flowchart #129
  • flowchart - styling of edges via css overrides specific styles set in the graph definition #128
  • module.exports.cloneCssStyles() in combination with Angularjs breaks display in Chrome and IE #126
  • Gantt - suitable xAxis for longer project #125
  • Mix horizontal and vertical graph #68
  • How to get started with this project ? #64
  • Special characters break parsing #54
  • Responsive graph layout for mobile viewers #51
  • Styling connector lines #31

Merged pull requests:

  • Remove moot version property from bower.json #172 (kkirsche)

0.5.0 (2015-06-07)

Full Changelog

Closed issues:

  • it can not work where graph TD contains chinese character #166
  • Broken Examples #163
  • uglifyjs wanrings which means we can improve the code #156
  • New(er) features unavailable in downloadable js files? #151
  • Add gh-gapes link to description #143
  • Some examples not displayed on Firefox 36.0.1 #138
  • tags ending in a "v" don't render #132
  • Links in flowchart #131
  • Using the library for iOS development #130
  • Add a css file, mermaid.css, with default styling #122
  • Add capability for gantt diagrams #118
  • lower case v causes error in the parser #108
  • Label's css conflict with boostrap's .label #67
  • TypeError: Cannot read property 'layout' of undefined #37
  • software architecture diagram #36
  • Support for bar charts and pie diagrams #22

Merged pull requests:

0.4.0 (2015-03-01)

Full Changelog

Closed issues:

0.3.5 (2015-02-15)

Full Changelog

0.3.4 (2015-02-15)

Full Changelog

Closed issues:

  • Subgraph syntax bug? #120
  • Live editor #115
  • Error in "Basic Syntax" wiki page #113
  • semicolons, anyone? #111
  • undefined sequenceConfig fails #109
  • Sequence Diagrams: Show Actors below as well #106
  • Allow overriding sequence diagram configuration (SVG properties) #103
  • Error when rendering A-- This is the text -- B #102
  • Clipping in documentation #97
  • isolate class styling to the svg container #92
  • Apply styling from css when using the CLI utility #85
  • Generated SVG works poorly outside web browsers #58
  • Make the new graph declaration more visual #40
  • Generating SVG text blob for use in Node #2

Merged pull requests:

0.3.3 (2015-01-25)

Full Changelog

Closed issues:

  • Missing arrows in sequence diagram #98
  • Error with >9 linkStyles #95
  • Support for dotted links #26

Merged pull requests:

  • Require d3 directly to better support Node usage #107 (markdalgleish)
  • update doc with -c option #105 (jjmr)
  • Add new parameter to the console client to override the svg configuration in sequence diagrams #104 (jjmr)
  • Text based labels, new shape #101 (bjowes)
  • fix html tags in example usage #100 (deiwin)

0.3.2 (2015-01-11)

Full Changelog

Closed issues:

  • disable auto render #91
  • Tidy breaks mermaid (linebreaks in
    ) #87
  • Bug:
    being rendered as text in node #73
  • Graph edges appear to render outside of the canvas #70
  • Make link text look like it is on the line #53

Merged pull requests:

0.3.1 (2015-01-05)

Full Changelog

Closed issues:

  • Non ASCII chars in labels #84
  • 'undefined' titles of Quicklinks on the usage page #80
  • [cli] Enhancement proposal: not fail --version / --help if phantomjs isn't installed #71
  • Neural Networks #39
  • Support for sequence diagrams #16
  • Client utility for mermaid #6

Merged pull requests:

  • Flowchart doc: Text in the circle now in a circle #81 (Grahack)
  • Fix for issue #73 #79 (it0a)
  • Ink template #78 (gkchic)
  • Show help and version even if phantom isn't present. Fixes #71 #75 (fardog)
  • Add apostrophe & 'and' #72 (sudodoki)

0.3.0 (2014-12-22)

Full Changelog

Closed issues:

  • Consider shipping a standalone executable #65
  • Trailing whitespace at the end of lines is not ignored #55
  • How do I do comments? #47
  • This characters failed the lexical parsing #46
  • tutorial for creating new type of graph/layout #44
  • Improve readability with new line as terminator and whitespace #38
  • Use classes instead of inline style for easy styling #24

Merged pull requests:

  • Adds Command Line Interface for generating PNGs from mermaid description files #69 (fardog)
  • Allow special symbols for direction along with acronyms #66 (vijay40)

0.2.16 (2014-12-15)

Full Changelog

Closed issues:

  • Mermaid not rendering properly on Wordpress pages #59
  • Improve example page with live demo #52
  • Create image file via CLI? #48
  • Does not render upon AngularJS Updates #45
  • Download link in README.MD doesn't work. #42
  • linkStyle usage is not obvious #41
  • Move *.spec.js in src/ to test/ #35
  • Lines routed outside visible area #19

Merged pull requests:

  • New grammar will allow statements ending without semicolon as disccused in Issue #38 #63 (vijay40)
  • Class based styling #62 (bjowes)
  • Fix typos #60 (sublimino)
  • Included .DS_Store in gitignore #57 (alvynmcq)
  • Improves readablity discussed in issue #38 #56 (vijay40)
  • Added a linting task for gulp #43 (serv)

0.2.15 (2014-12-05)

Full Changelog

Closed issues:

  • Question marks don't render properly with /dist/mermaid.full.min.js #30
  • Error with some characters #25
  • Provide parse function in browser without require? #21
  • Better label text support #18
  • Cap-cased words break parser #8

Merged pull requests:

  • Include bower_components/ to .gitignore #33 (serv)
  • Fixed reference to Git repo. #32 (guyellis)

0.2.14 (2014-12-03)

Full Changelog

0.2.13 (2014-12-03)

Full Changelog

Closed issues:

  • modified init to be applied more than once #29
  • Wanted to know build process for the project. #28
  • Container support #27
  • can not support Chinese description #20
  • Node Label text mistaken for Direction #17
  • Support unicode chars in labels #9
  • Publish to NPM #7

0.2.10 (2014-12-01)

Full Changelog

0.2.9 (2014-12-01)

Full Changelog

Closed issues:

  • Add link to jsbin playground to README #11
  • What are the requirements ? #10

Merged pull requests:

0.2.8 (2014-12-01)

Full Changelog

0.2.7 (2014-12-01)

Full Changelog

Closed issues:

  • Provide parser as separate module #4

0.2.6 (2014-11-27)

Full Changelog

0.2.5 (2014-11-27)

Full Changelog

Merged pull requests:

0.2.4 (2014-11-25)

Full Changelog

0.2.3 (2014-11-24)

Full Changelog

0.2.2 (2014-11-22)

Full Changelog

0.2.1 (2014-11-22)

Full Changelog

0.2.0 (2014-11-22)

Full Changelog

0.1.1 (2014-11-17)

Full Changelog

0.1.0 (2014-11-16)

* This Change Log was automatically generated by [githubchangelog_generator](https://github.com/skywinder/Github-Changelog-Generator)_