mermaid-js/mermaid
 Watch   
 Star   
 Fork   
17 days ago
mermaid

@mermaid-js/parser@1.2.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

17 days ago
mermaid

@mermaid-js/layout-elk@0.2.2

Patch Changes

17 days ago
mermaid

mermaid@11.16.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7721 f45cc2c Thanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams

  • #7550 f1f4d45 Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7793 a6f097d Thanks @SSDWGG! - feat(er): support optional ER attribute types with a ? suffix

  • #7772 37f2e36 Thanks @devareddy05! - feat(gantt): support multiple excludes / includes lines so long exclusion lists can be split into commented groups (#6270)

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7760 05223be Thanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

  • #7774 e5c75e6 Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis

  • #7791 974fa7b Thanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm

Patch Changes

  • #7744 633c261 Thanks @ashishjain0512! - fix(architecture): add architecture.seed config option to make architecture diagrams render deterministically. Resolves #7729.

  • #7732 c8ba156 Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613

  • #7314 4e4e6c4 Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined

  • #7762 cfd2391 Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes

  • #7284 c1f116d Thanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height

  • #7786 72fbab1 Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks

  • #7672 4887e97 Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648

  • #7734 a4c1e50 Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time

  • #7674 cc75089 Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels

  • #7711 be2e282 Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path.

  • #7781 d945968 Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping

  • #7661 2f5e9e8 Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering

  • #7780 8dcdce4 Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count

  • #7235 1bbc189 Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text

  • #7247 365c1b1 Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams

  • #7754 06a32b7 Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors

  • #7693 afaf306 Thanks @dull-bird! - fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and other non-ASCII text in unquoted axis/quadrant/point labels. Fixes #7120.

  • #7751 79e97cd Thanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip

  • #7570 c2305df Thanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{'

  • #7758 a4a250b Thanks @mk24x7! - fix(venn): render labeled higher-arity unions when the underlying pairwise unions are not declared. Resolves #7656.

  • Updated dependencies [ea1c48f, b4d0442, 4e63e9d, 216e4e9]:

    • @mermaid-js/parser@1.2.0
17 days ago
mermaid

@mermaid-js/tiny@11.16.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7721 f45cc2c Thanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams

  • #7550 f1f4d45 Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7793 a6f097d Thanks @SSDWGG! - feat(er): support optional ER attribute types with a ? suffix

  • #7772 37f2e36 Thanks @devareddy05! - feat(gantt): support multiple excludes / includes lines so long exclusion lists can be split into commented groups (#6270)

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7760 05223be Thanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

  • #7774 e5c75e6 Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis

  • #7791 974fa7b Thanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm

Patch Changes

  • #7744 633c261 Thanks @ashishjain0512! - fix(architecture): add architecture.seed config option to make architecture diagrams render deterministically. Resolves #7729.

  • #7732 c8ba156 Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613

  • #7314 4e4e6c4 Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined

  • #7762 cfd2391 Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes

  • #7284 c1f116d Thanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height

  • #7786 72fbab1 Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks

  • #7672 4887e97 Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648

  • #7734 a4c1e50 Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time

  • #7674 cc75089 Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels

  • #7711 be2e282 Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path.

  • #7781 d945968 Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping

  • #7661 2f5e9e8 Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering

  • #7780 8dcdce4 Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count

  • #7235 1bbc189 Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text

  • #7247 365c1b1 Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams

  • #7754 06a32b7 Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors

  • #7693 afaf306 Thanks @dull-bird! - fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and other non-ASCII text in unquoted axis/quadrant/point labels. Fixes #7120.

  • #7751 79e97cd Thanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip

  • #7570 c2305df Thanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{'

  • #7758 a4a250b Thanks @mk24x7! - fix(venn): render labeled higher-arity unions when the underlying pairwise unions are not declared. Resolves #7656.

  • Updated dependencies [ea1c48f, b4d0442, 4e63e9d, 216e4e9]:

    • @mermaid-js/parser@1.2.0
17 days ago
mermaid

@mermaid-js/examples@1.3.0

Minor Changes

  • #7915 f707c3d Thanks @sidharthv96! - feat(examples): Add relatable, real-world examples for every diagram type, showcasing each diagram's strengths
2026-05-12 01:22:53
mermaid

v10.9.6

Backports the following security fixes from Mermaid v11.15.0:

  • CVE-2026-41150: fix(gantt): limit loop if excluding all dates (a59ea56174712ee5430dfd5bc877cb5151f501a6)
  • CVE-2026-41148: fix: prevent unbalanced CSS styles in classDefs (8fead23c59166b7bab6a39eac81acebee2859102)
  • CVE-2026-41149: fix: create CSS styles using the CSSOM (4e2d512bf5bf6f9de1a8f0a48da78dc4d09ac4f3)
  • CVE-2026-41159: fix: block stylis scope escape (a9d9f0d8eb790349121508688cd338253fd80d76)
  • CVE-2026-41907: fix: loosen uuid dependency range to allow v14 We don't use this vulnerable code, but it allows users to silence this warning. (e8c70434520dd9226bd442f857970cd211067627)

And other dependency updates.

Full Changelog: https://github.com/mermaid-js/mermaid/compare/v10.9.5...v10.9.6

2026-05-11 19:15:10
mermaid

mermaid@11.15.0

Minor Changes

  • #7174 0aca217 Thanks @milesspencer35! - feat(sequence): Add support for decimal start and increment values in the autonumber directive

  • #7512 8e17492 Thanks @aruncveli! - feat(flowchart): add datastore shape

    In Data flow diagrams, a datastore/warehouse/file/database is used to represent data persistence. It is denoted by a rectangle with only top and bottom borders, and can be used in flowcharts with A@{ shape: datastore, label: "Datastore" }.

  • #6440 9ad8dde Thanks @yordis, @lgazo! - feat: add Event Modeling diagram

  • #7707 27db774 Thanks @txmxthy! - feat(architecture): expose four fcose layout knobs for architecture-beta diagrams (nodeSeparation, idealEdgeLengthMultiplier, edgeElasticity, numIter) so authors can tune layout density and spread overlapping siblings without changing diagram source

  • #7604 bf9502f Thanks @M-a-c! - feat(class): add nested namespace support for class diagrams via dot notation and syntactic nesting

    If you have namespaces in class diagrams that use .s already and want to render them without nesting (≤v11.14.0 behaviour), you can use set class.hierarchicalNamespaces=false in your mermaid config:

    config:
      class:
        hierarchicalNamespaces: false
  • #7272 88cdd3d Thanks @xinbenlv! - feat(sankey): add outlined label style, configurable nodeWidth/nodePadding, and custom node colors

Patch Changes

  • #7737 e9b0f34 Thanks @ashishjain0512! - fix: prevent unbalanced CSS styles in classDefs

  • #7737 37ff937 Thanks @ashishjain0512! - fix: create CSS styles using the CSSOM

    This removes some invalid CSS and normalizes some CSS formatting.

  • #7508 bfe60cc Thanks @biiab! - fix(stateDiagram): end note now only closes a note when used on a new line

  • #7737 faafb5d Thanks @ashishjain0512! - fix(gantt): add iteration limit for excludes field

  • #7737 65f8be2 Thanks @ashishjain0512! - fix: disallow some CSS at-rules in custom CSS

  • #7726 1502f32 Thanks @aloisklink! - fix(wardley): fix unnecessary sanitization of text

  • #7578 1f98db8 Thanks @Gaston202! - fix(class): self-referential class multiplicity labels no longer rendered multiple times

    Fixes #7560. Resolves an issue where cardinality labels on self-referential class relationships were rendered three times due to edge splitting in the dagre layout. The fix ensures that each sub-edge only carries its relevant label positions.

  • #7592 2343e38 Thanks @knsv-bot! - fix(sequence): add background box behind alt/else section title labels in sequence diagrams

  • #7589 7fb9509 Thanks @NYCU-Chung! - fix(block): prevent column widths from shrinking when mixing different column spans

  • #7632 3f9e0f1 Thanks @ekiauhce! - fix(sequence): correct messageAlign label position for right-to-left arrows in sequence diagrams

  • #7642 7a8fb85 Thanks @tractorjuice! - fix(wardley): allow hyphens in unquoted component names

    Multi-word names containing hyphens — e.g. real-time processing, end-user, on-call engineer — now parse without quoting, bringing the grammar in line with the OnlineWardleyMaps (OWM) convention. A->B (no-space arrow) still tokenises correctly.

  • #7523 5144ed4 Thanks @darshanr0107! - fix(block): Arrow blocks in block-beta diagrams not spanning the specified number of columns when using :n syntax.

  • #7262 13d9bfa Thanks @darshanr0107! - fix(block): Ensure block diagram hexagon blocks respect column spanning syntax

  • #7684 e14bb88 Thanks @aloisklink! - fix: loosen uuid dependency range to allow v14

    Mermaid does not use any of the vulnerable code in CVE-2026-41907, but this allows users to silence any npm audit alerts on it.

  • #7633 9217c0d Thanks @Felix-Garci! - fix(block): add support for all arrow types in block diagrams

  • #7587 5e7eb62 Thanks @MaddyGuthridge! - chore: drop lodash-es in favour of es-toolkit

  • #7693 afaf306 Thanks @dull-bird! - fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and other non-ASCII text in unquoted axis/quadrant/point labels.

    Previously the lexer only matched ASCII [A-Za-z]+ for text tokens, even though the grammar referenced UNICODE_TEXT. Bare Chinese, Japanese, Korean, emoji, and accented Latin characters in labels caused a parse error. Added a [^\x00-\x7F]+ lexer rule to emit UNICODE_TEXT and included it in the alphaNumToken grammar rule.

    Fixes #7120.

  • #7737 4755553 Thanks @ashishjain0512! - fix: improve D3 types for mermaidAPI funcs

  • #7737 6476973 Thanks @ashishjain0512! - fix: handle & when namespacing CSS rules

  • #7520 8c1a0c1 Thanks @RodrigojndSantos! - fix(stateDiagram): comments starting with one % are no longer treated as comments

    Switch to using two %% if you want to write a comment.

  • Updated dependencies [7a8fb85, 675a64c]:

    • @mermaid-js/parser@1.1.1
2026-05-11 19:15:10
mermaid

@mermaid-js/mermaid-zenuml@0.2.3

Patch Changes

2026-05-11 18:50:39
mermaid

@mermaid-js/parser@1.1.1

Patch Changes

  • #7642 7a8fb85 Thanks @tractorjuice! - fix(wardley): allow hyphens in unquoted component names

    Multi-word names containing hyphens — e.g. real-time processing, end-user, on-call engineer — now parse without quoting, bringing the grammar in line with the OnlineWardleyMaps (OWM) convention. A->B (no-space arrow) still tokenises correctly.

  • #7658 675a64c Thanks @aloisklink! - fix(parser): bundle langium/chevrotain

    This should silence warnings about lodash-es 4.17.23, which chevrotain@11.1.1 is pinned to, but is not vulnerable to.

    And this avoids warnings when langium v4 is installed on Node.JS v20.0.

Full Changelog: https://github.com/mermaid-js/mermaid/blob/41646dfd43ac83f001b03c70605feb036afae46d/packages/parser/CHANGELOG.md

2026-05-11 18:50:39
mermaid

@mermaid-js/layout-tidy-tree@0.2.2

Patch Changes

  • #7639 5ab4693 Thanks @knsv-bot! - fix: keep mindmap edges connected to a non-circular root when using the tidy-tree layout