Merge branch 'master' into develop

* master: (24 commits)
  Version Packages (#7561)
  Release candidate 11.14.0 (#7526)
  chore: Editor Picker V2 (#7497)
  Setting the link to Get started to the correct on
  Version Packages (#7466)
  fix: use correct package name for elk
  dummy commit
  Fix: ER diagram edge label positioning (#7453)
  chore: Update coupon
  fix(gantt): restore readable outside-text for done tasks in dark mode (#7456)
  fix(elk): scope rounded edge curve to ELK layout only (#7454)
  fix: plausible build
  chore: Update plausible
  chore: Update release version in docs
  chore: Track editor picker selection
  fix: update broken docsy link and exclude bot-blocked domains from link checker
  chore: replace MERMAID_RELEASE_VERSION placeholders with current version
  fix: correct package name in changeset slow-lemons-know
  Updated Hero text
  Version Packages
  ...

# Conflicts:
#	.changeset/weak-tools-pay.md
#	docs/syntax/architecture.md
#	docs/syntax/timeline.md
#	docs/syntax/treeView.md
#	docs/syntax/wardley.md
#	docs/syntax/xyChart.md
#	packages/examples/CHANGELOG.md
#	packages/examples/package.json
#	packages/mermaid/CHANGELOG.md
#	packages/mermaid/package.json
#	packages/mermaid/src/diagrams/git/gitGraphRenderer.ts
#	packages/mermaid/src/docs/.vitepress/components/EditorSelectionModal.vue
#	packages/mermaid/src/docs/syntax/architecture.md
#	packages/mermaid/src/docs/syntax/timeline.md
#	packages/mermaid/src/docs/syntax/treeView.md
#	packages/mermaid/src/docs/syntax/wardley.md
#	packages/mermaid/src/docs/syntax/xyChart.md
#	packages/mermaid/src/rendering-util/rendering-elements/shapes/requirementBox.ts
#	packages/parser/CHANGELOG.md
#	packages/parser/package.json
#	packages/tiny/CHANGELOG.md
#	packages/tiny/package.json
This commit is contained in:
Ashish Jain
2026-04-01 11:33:33 +02:00
23 changed files with 366 additions and 108 deletions
-7
View File
@@ -1,7 +0,0 @@
---
'@mermaid-js/examples': minor
'mermaid': minor
'@mermaid-js/parser': minor
---
add new TreeView diagram
+1 -1
View File
@@ -193,7 +193,7 @@ architecture-beta
## Configuration
### `randomize` (v\<MERMAID_RELEASE_VERSION>+)
### `randomize` (v11.14.0+)
By default, architecture diagrams produce a deterministic layout: the same diagram source always renders with the same node positions. This is because the `randomize` option defaults to `false`.
+1 -1
View File
@@ -185,7 +185,7 @@ timeline
Bullet 4 : sub-point 4a : sub-point 4b
```
### Direction (v\<MERMAID_RELEASE_VERSION>+)
### Direction (v11.14.0+)
Timeline can change its direction by the keyword after `timeline`.
+1 -1
View File
@@ -4,7 +4,7 @@
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/treeView.md](../../packages/mermaid/src/docs/syntax/treeView.md).
# TreeView Diagram (v\<MERMAID_RELEASE_VERSION>+)
# TreeView Diagram (v11.14.0+)
## Introduction
+1 -1
View File
@@ -4,7 +4,7 @@
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/wardley.md](../../packages/mermaid/src/docs/syntax/wardley.md).
# Wardley Maps (v\<MERMAID_RELEASE_VERSION>+)
# Wardley Maps (v11.14.0+)
> Wardley Maps are visual representations of business strategy that map value chains and component evolution. They help identify strategic opportunities, dependencies, and guide technology decisions.
+1 -1
View File
@@ -211,7 +211,7 @@ bar [15,25,20,30]
line [5,15,25,35]
```
## Displaying individual values on a bar chart (v\<MERMAID_RELEASE_VERSION>+)
## Displaying individual values on a bar chart (v11.14.0+)
To show the value corresponding to a bar specify `showDataLabel: true`.
+6
View File
@@ -1,5 +1,11 @@
# @mermaid-js/examples
## 1.2.0
### Minor Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add new TreeView diagram
## 1.1.0
### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@mermaid-js/examples",
"version": "1.1.0",
"version": "1.2.0",
"description": "Mermaid examples package",
"author": "Sidharth Vinod",
"license": "MIT",
+98
View File
@@ -1,5 +1,97 @@
# mermaid
## 11.14.0
### Minor Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - Add Wardley Maps diagram type (beta)
Adds Wardley Maps as a new diagram type to Mermaid (available as `wardley-beta`). Wardley Maps are visual representations of business strategy that help map value chains and component evolution.
Features:
- Component positioning with [visibility, evolution] coordinates (OWM format)
- Anchors for users/customers
- Multiple link types: dependencies, flows, labeled links
- Evolution arrows and trend indicators
- Custom evolution stages with optional dual labels
- Custom stage widths using @boundary notation
- Pipeline components with visibility inheritance
- Annotations, notes, and visual elements
- Source strategy markers: build, buy, outsource, market
- Inertia indicators
- Theme integration
Implementation includes parser, D3.js renderer, unit tests, E2E tests, and comprehensive documentation.
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for state diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look support for sequence diagrams with drop shadows, and enhanced styling
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add `randomize` config option for architecture diagrams, defaulting to `false` for deterministic layout
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: Add option to change timeline direction
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - Fix duplicate SVG element IDs when rendering multiple diagrams on the same page. Internal element IDs (nodes, edges, markers, clusters) are now prefixed with the diagram's SVG element ID across all diagram types. Custom CSS or JS using exact ID selectors like `#arrowhead` should use attribute-ending selectors like `[id$="-arrowhead"]` instead.
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for ER diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for requirement diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add theme support for data label colour in xy chart
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for mindmap diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look for mermaid flowchart diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look and themes for class diagram
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add showDataLabelOutsideBar option for xy chart
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look support for timeline diagram with drop shadows, additoinal redux themes and enhanced styling
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look and themes for gitGraph diagram
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add new TreeView diagram
### Patch Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add link to ishikawa diagram on mermaid.js.org
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - docs: document valid duration token formats in gantt.md
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: ER diagram parsing when using "1" as entity identifier on right side
The parser was incorrectly tokenizing the second "1" in patterns like `a many to 1 1:` because the lookahead rule only checked for alphabetic characters after whitespace, not digits. Added a new lookahead pattern `"1"(?=\s+[0-9])` to correctly identify the cardinality alias before a numeric entity name.
Fixes #7472
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: scope cytoscape label style mapping to edges with labels to prevent console warnings
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: support inline annotation syntax in class diagrams (class Shape <<interface>>)
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Align branch label background with text for multi-line labels in LR GitGraph layout
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: preserve cause hierarchy when ishikawa effect is indented more than causes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - refactor: remove unused createGraphWithElements function and add regression test for open edge arrowheads
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Prevent long pie chart titles from being clipped by expanding the viewBox
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: prevent sequence diagram hang when "as" is used without a trailing space in participant declarations
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: warn when `style` statement targets a non-existent node in flowcharts
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: group state diagram SVG children under single root <g> element
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Allow :::className syntax inside composite state blocks
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@aloisklink](https://github.com/aloisklink), [@BambioGaming](https://github.com/BambioGaming)! - fix: prevent escaping `<` and `&` when `htmlLabels: false`
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: treemap title and labels use theme-aware colors for dark backgrounds
- Updated dependencies [[`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519)]:
- @mermaid-js/parser@1.1.0
## 11.13.0
### Minor Changes
@@ -12,6 +104,12 @@
- [#7387](https://github.com/mermaid-js/mermaid/pull/7387) [`acce4db`](https://github.com/mermaid-js/mermaid/commit/acce4db7a1bd8801666f1a9667a63e4010ec2020) Thanks [@exoego](https://github.com/exoego)! - feat: Add Ishikawa diagram (ishikawa-beta)
- [#7425](https://github.com/mermaid-js/mermaid/pull/7425) [`f16bfbb`](https://github.com/mermaid-js/mermaid/commit/f16bfbbd3b4cf59f816913029760031bf778f41d) Thanks [@knsv](https://github.com/knsv)! - fix: replace smooth curve edges with rounded right-angle edges
The default flowchart edge curve changes from `basis` (smooth splines) to `rounded` (right-angle segments with rounded corners). This fixes ELK layout edges that were curving instead of routing at right angles (#7213) and applies consistently across all diagram types using the shared rendering pipeline.
To restore the previous smooth curve behavior, set `flowchart.curve: 'basis'` in your config.
- [#6995](https://github.com/mermaid-js/mermaid/pull/6995) [`9745f32`](https://github.com/mermaid-js/mermaid/commit/9745f325cb9e1967640f0e85da193a2f820634f1) Thanks [@darshanr0107](https://github.com/darshanr0107)! - feat: Deprecate [`flowchart.htmlLabels`](https://mermaid.js.org/config/schema-docs/config-defs-flowchart-diagram-config.html#htmllabels) in favor of [root-level `htmlLabels`](https://mermaid.js.org/config/schema-docs/config.html#htmllabels) in Mermaid config
- [#5814](https://github.com/mermaid-js/mermaid/pull/5814) [`2dd29be`](https://github.com/mermaid-js/mermaid/commit/2dd29bee254a5b89c00eb0b0da1bcf7fe96ce46c) Thanks [@kairi003](https://github.com/kairi003)! - feat: allow to put notes in namespaces on classDiagram
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "mermaid",
"version": "11.13.0",
"version": "11.14.0",
"description": "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",
"type": "module",
"module": "./dist/mermaid.core.mjs",
@@ -35,6 +35,9 @@ const THEME_COLOR_LIMIT = 8;
*/
const REDUX_GEOMETRY_THEMES = new Set(['redux', 'redux-dark', 'redux-color', 'redux-dark-color']);
/** Vertical padding inside the LR branch label rect for redux themes (`drawBranches` `labelPaddingY`). */
const REDUX_BRANCH_LABEL_PADDING_Y = 12;
/**
* Themes that use per-branch color cycling with a non-default first color
* (avoidDefaultColor logic in calcColorIndex).
@@ -546,11 +549,16 @@ const getCommitPosition = (
isParallelCommits: boolean
): CommitPositionOffset => {
const posWithOffset = dir === 'BT' && isParallelCommits ? pos : pos + LAYOUT_OFFSET;
const y = dir === 'TB' || dir === 'BT' ? posWithOffset : branchPos.get(commit.branch)?.pos;
const branchY = branchPos.get(commit.branch)?.pos;
const x = dir === 'TB' || dir === 'BT' ? branchPos.get(commit.branch)?.pos : posWithOffset;
if (x === undefined || y === undefined) {
if (x === undefined || branchY === undefined) {
throw new Error(`Position were undefined for commit ${commit.id}`);
}
const useReduxGeometry = REDUX_GEOMETRY_THEMES.has(getConfig().theme ?? '');
const y =
dir === 'TB' || dir === 'BT'
? posWithOffset
: branchY + (useReduxGeometry ? REDUX_BRANCH_LABEL_PADDING_Y / 2 + 1 : -2);
return { x, y, posWithOffset };
};
@@ -878,11 +886,19 @@ const drawBranches = (
if (pos === undefined) {
throw new Error(`Position not found for branch ${branch.name}`);
}
// LR spine Y: bkg rect center, dotted line, and commits all sit here.
// TB/BT use pos directly (their line attrs are overridden below).
const spineY =
dir === 'TB' || dir === 'BT'
? pos
: useReduxGeometry
? pos + REDUX_BRANCH_LABEL_PADDING_Y / 2 + 1
: pos - 2;
const line = g.append('line');
line.attr('x1', 0);
line.attr('y1', pos);
line.attr('y1', spineY);
line.attr('x2', maxPos);
line.attr('y2', pos);
line.attr('y2', spineY);
line.attr('class', 'branch branch' + adjustIndexForTheme);
if (dir === 'TB') {
@@ -896,7 +912,7 @@ const drawBranches = (
line.attr('y2', defaultPos);
line.attr('x2', pos);
}
lanes.push(pos);
lanes.push(spineY);
const name = branch.name;
@@ -913,7 +929,7 @@ const drawBranches = (
const bbox = labelElement.getBBox();
const borderRadius = useReduxGeometry ? 0 : 4;
const labelPaddingX = useReduxGeometry ? 16 : 0;
const labelPaddingY = useReduxGeometry ? 12 : 0;
const labelPaddingY = useReduxGeometry ? REDUX_BRANCH_LABEL_PADDING_Y : 0;
if (look === 'neo') {
bkg.attr('data-look', `neo`);
}
@@ -927,7 +943,7 @@ const drawBranches = (
.attr('rx', borderRadius)
.attr('ry', borderRadius)
.attr('x', -bbox.width - 4 - (gitGraphConfig.rotateCommitLabel === true ? 30 : 0))
.attr('y', -bbox.height / 2 + 8)
.attr('y', -bbox.height / 2 + 10)
.attr('width', bbox.width + 18 + labelPaddingX)
.attr('height', bbox.height + 4 + labelPaddingY);
label.attr(
@@ -938,7 +954,7 @@ const drawBranches = (
(gitGraphConfig.rotateCommitLabel === true ? 30 : 0) +
labelPaddingX / 2) +
', ' +
(pos - bbox.height / 2 - 1 + labelPaddingY / 2) +
(spineY - bbox.height / 2 - 2) +
')'
);
if (dir === 'TB') {
@@ -962,7 +978,7 @@ const drawBranches = (
);
}
} else {
bkg.attr('transform', 'translate(' + -19 + ', ' + (pos - 11) + ')');
bkg.attr('transform', 'translate(-19, ' + (spineY - 12 - labelPaddingY / 2) + ')');
}
});
};
@@ -7,19 +7,7 @@ interface Feature {
featureName: string;
}
interface EditorColumn {
id: string;
title: string;
description: string;
redBarText?: string;
buttonUrl: string;
buttonText: string;
buttonClasses: string;
highlighted?: boolean;
features: Feature[];
}
const mermaidChartFeatures: Feature[] = [
const mermaidPlusFeatures: Feature[] = [
{ iconUrl: '/icons/whiteboard.svg', featureName: 'Visual editor' },
{ iconUrl: '/icons/ai-diagram.svg', featureName: '300 AI credits' },
{ iconUrl: '/icons/folder.svg', featureName: 'Unlimited diagram storage' },
@@ -34,33 +22,33 @@ const openSourceFeatures: Feature[] = [
{ iconUrl: '/icons/version-history.svg', featureName: 'Version history' },
];
const editorColumns: EditorColumn[] = [
{
id: 'mermaid-plus',
title: 'Mermaid Plus',
description: 'Unlock AI, storage and collaboration',
highlighted: true,
redBarText: 'Recommended',
buttonText: 'Start free trial',
buttonUrl:
'https://mermaid.ai/app/sign-up?utm_source=mermaid_js&utm_medium=2_editor_selection&utm_campaign=start_plus&redirect=%2Fapp%2Fuser%2Fbilling%2Fcheckout%3FisFromMermaid%3Dtrue%26tier%3Dplus',
buttonClasses: 'text-white bg-[#E0095F] hover:bg-[#B0134A]',
features: mermaidChartFeatures,
},
{
id: 'open-source',
title: 'Open Source',
description: 'Code only, no login',
buttonText: 'Start free',
buttonUrl: 'https://mermaid.live/edit',
buttonClasses:
'bg-[#BEDDE3] hover:bg-[#5CA3B4] text-[#1E1A2E] hover:text-white hover:shadow-md',
features: openSourceFeatures,
},
];
const isVisible = ref(false);
const close = () => {
isVisible.value = false;
};
const handleStartTrial = () => {
void trackPlausibleEvent('editor-pick', { props: { choice: 'mermaid-plus' } });
close();
window.open(
'https://mermaid.ai/app/sign-up?utm_source=mermaid_js&utm_medium=2_editor_selection&utm_campaign=start_plus&redirect=%2Fapp%2Fuser%2Fbilling%2Fcheckout%3FisFromMermaid%3Dtrue%26tier%3Dplus',
'_blank'
);
};
const handleStartFree = () => {
void trackPlausibleEvent('editor-pick', { props: { choice: 'open-source' } });
close();
window.open('https://mermaid.live/edit', '_blank');
};
const handleContinueToNewHome = () => {
void trackPlausibleEvent('editor-pick', { props: { choice: 'new-home' } });
close();
window.open('https://mermaid.ai/live/edit', '_blank');
};
const handleMouseDown = (e: MouseEvent) => {
const target = e.target as HTMLElement;
if (
@@ -86,56 +74,109 @@ onUnmounted(() => {
<div
v-if="isVisible"
class="fixed top-0 left-0 z-50 flex h-screen w-screen backdrop-blur-sm items-center justify-center bg-[#8585A4]/40"
@click.self="isVisible = false"
@click.self="close"
>
<div
class="flex flex-col sm:flex-row rounded-3xl shadow relative gap-5 pt-10 sm:pt-20 pb-10 px-4 sm:px-10 bg-[#F1F8FA] overflow-y-auto max-h-full"
class="flex max-w-2xl flex-col gap-6 bg-[#FFF1F2] p-6 rounded-3xl shadow overflow-y-auto max-h-full"
>
<div
v-for="column in editorColumns"
:key="column.title"
class="sm:w-96 flex relative flex-col justify-start items-center p-6 sm:p-8 text-gray-800 shadow w-full"
:class="
column.highlighted ? 'bg-white rounded-b-3xl mt-10 sm:mt-0' : 'bg-[#DCEEF1] rounded-3xl'
"
>
<!-- Header -->
<div class="text-center">
<h2 class="text-2xl font-semibold text-[#1E1A2E]">Choose your editor</h2>
</div>
<div class="grid gap-4 sm:grid-cols-2">
<!-- Mermaid Plus Card -->
<div
v-if="column.highlighted"
class="absolute -top-10 w-full rounded-t-3xl bg-[#E0095F] py-2 flex justify-center"
class="relative flex flex-col overflow-hidden rounded-xl border-2 border-[#E0095F] bg-white shadow"
>
<p class="text-lg font-semibold text-white">{{ column.redBarText }}</p>
<div class="bg-[#E0095F] px-6 py-2 text-center text-sm font-semibold text-white">
Recommended
</div>
<div class="flex flex-col gap-4 p-6">
<div>
<h3 class="text-xl font-bold text-[#1E1A2E]">Mermaid Plus</h3>
<p class="text-sm text-[#6B7280]">Unlock AI, storage and collaboration</p>
</div>
<div class="flex flex-col gap-2">
<div class="flex justify-center">
<span
class="rounded-full bg-[#FCE7F3] px-3 py-0.5 text-xs font-semibold text-[#BE185D]"
>
10% off with code JS26
</span>
</div>
<button
class="inline-flex w-full items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50 bg-[#E0095F] text-white hover:bg-[#B0134A] shadow-sm h-9 px-4 py-2 cursor-pointer"
@click="handleStartTrial"
>
Start free trial
</button>
</div>
<ul class="space-y-3 text-sm text-[#1E1A2E]">
<li
v-for="{ iconUrl, featureName } in mermaidPlusFeatures"
:key="featureName"
class="flex items-center gap-2"
>
<img :src="iconUrl" :alt="featureName" class="size-4 shrink-0 opacity-60" />
{{ featureName }}
</li>
</ul>
</div>
</div>
<header class="mb-6 w-full text-start space-y-1">
<p class="text-2xl font-medium text-[#1E1A2E]">{{ column.title }}</p>
<p class="text-sm text-gray-600">{{ column.description }}</p>
</header>
<!-- Open Source Card -->
<div class="flex flex-col gap-4 rounded-xl border border-[#E5E7EB] bg-white p-6 shadow">
<div class="flex flex-col pt-9">
<h3 class="text-xl font-bold text-[#1E1A2E]">Open Source</h3>
<p class="text-sm text-[#6B7280]">Code only, no login, always free</p>
</div>
<div class="flex flex-col gap-2">
<p class="mt-2 text-sm text-[#6B7280]">Mermaid has a new home</p>
<button
class="inline-flex w-full items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50 border-solid border border-[#E0095F] bg-white text-[#1E1A2E] hover:bg-[#E0095F] hover:text-white shadow-sm h-9 px-4 py-2 cursor-pointer"
@click="handleContinueToNewHome"
>
Continue to mermaid.ai/live
<svg class="size-4" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" />
</svg>
</button>
<button
class="inline-flex w-full items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50 border-solid border border-[#E5E7EB] bg-white text-[#1E1A2E] hover:bg-[#E0095F] hover:text-white shadow-md h-9 px-4 py-2 cursor-pointer"
@click="handleStartFree"
>
Stay on mermaid.live
</button>
</div>
<ul class="space-y-3 text-sm text-[#1E1A2E]">
<li
v-for="{ iconUrl, featureName } in openSourceFeatures"
:key="featureName"
class="flex items-center gap-2"
>
<img :src="iconUrl" :alt="featureName" class="size-4 shrink-0 opacity-60" />
{{ featureName }}
</li>
</ul>
</div>
</div>
<!-- Privacy Policy Link -->
<div class="text-center">
<a
:href="column.buttonUrl"
href="https://mermaid.ai/privacy-policy"
target="_blank"
:class="[
'mb-6 flex h-10 w-full items-center justify-center rounded-xl',
column.buttonClasses,
'plausible-event-name=editorPick',
`plausible-event-type=${column.id}`,
]"
class="text-sm text-[#1E1A2E] underline hover:text-[#E0095F]"
>
{{ column.buttonText }}
mermaid.ai Privacy Policy
</a>
<div class="h-px w-full bg-[#bedde3] mb-6"></div>
<ul class="w-full space-y-2">
<li
v-for="{ iconUrl, featureName } in column.features"
:key="featureName"
class="flex items-center gap-2"
>
<img :src="iconUrl" :alt="featureName" class="inline-block size-5" />
<span>{{ featureName }}</span>
</li>
</ul>
</div>
</div>
</div>
+1 -1
View File
@@ -21,7 +21,7 @@ hero:
rel: external
- theme: alt
text: Get started
link: /intro/
link: https://mermaid.ai/open-source/intro/
features:
- icon:
@@ -155,7 +155,7 @@ architecture-beta
## Configuration
### `randomize` (v<MERMAID_RELEASE_VERSION>+)
### `randomize` (v11.14.0+)
By default, architecture diagrams produce a deterministic layout: the same diagram source always renders with the same node positions. This is because the `randomize` option defaults to `false`.
+1 -1
View File
@@ -121,7 +121,7 @@ timeline
Bullet 4 : sub-point 4a : sub-point 4b
```
### Direction (v<MERMAID_RELEASE_VERSION>+)
### Direction (v11.14.0+)
Timeline can change its direction by the keyword after `timeline`.
+1 -1
View File
@@ -1,4 +1,4 @@
# TreeView Diagram (v<MERMAID_RELEASE_VERSION>+)
# TreeView Diagram (v11.14.0+)
## Introduction
+1 -1
View File
@@ -1,4 +1,4 @@
# Wardley Maps (v<MERMAID_RELEASE_VERSION>+)
# Wardley Maps (v11.14.0+)
> Wardley Maps are visual representations of business strategy that map value chains and component evolution. They help identify strategic opportunities, dependencies, and guide technology decisions.
+1 -1
View File
@@ -178,7 +178,7 @@ bar [15,25,20,30]
line [5,15,25,35]
```
## Displaying individual values on a bar chart (v<MERMAID_RELEASE_VERSION>+)
## Displaying individual values on a bar chart (v11.14.0+)
To show the value corresponding to a bar specify `showDataLabel: true`.
@@ -185,7 +185,7 @@ export async function requirementBox<T extends SVGGraphicsElement>(
node.look !== 'handDrawn' &&
(requirementEdgeLabelBackground || borderColorArray?.length)
) {
shapeSvg.selectAll('.outer-path path').attr('style', nodeStyles);
shapeSvg.selectAll('path').attr('style', nodeStyles);
}
return shapeSvg;
+6
View File
@@ -1,5 +1,11 @@
# @mermaid-js/parser
## 1.1.0
### Minor Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add new TreeView diagram
## 1.0.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@mermaid-js/parser",
"version": "1.0.1",
"version": "1.1.0",
"description": "MermaidJS parser",
"author": "Yokozuna59",
"contributors": [
+98
View File
@@ -1,5 +1,97 @@
# mermaid
## 11.14.0
### Minor Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - Add Wardley Maps diagram type (beta)
Adds Wardley Maps as a new diagram type to Mermaid (available as `wardley-beta`). Wardley Maps are visual representations of business strategy that help map value chains and component evolution.
Features:
- Component positioning with [visibility, evolution] coordinates (OWM format)
- Anchors for users/customers
- Multiple link types: dependencies, flows, labeled links
- Evolution arrows and trend indicators
- Custom evolution stages with optional dual labels
- Custom stage widths using @boundary notation
- Pipeline components with visibility inheritance
- Annotations, notes, and visual elements
- Source strategy markers: build, buy, outsource, market
- Inertia indicators
- Theme integration
Implementation includes parser, D3.js renderer, unit tests, E2E tests, and comprehensive documentation.
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for state diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look support for sequence diagrams with drop shadows, and enhanced styling
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add `randomize` config option for architecture diagrams, defaulting to `false` for deterministic layout
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: Add option to change timeline direction
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - Fix duplicate SVG element IDs when rendering multiple diagrams on the same page. Internal element IDs (nodes, edges, markers, clusters) are now prefixed with the diagram's SVG element ID across all diagram types. Custom CSS or JS using exact ID selectors like `#arrowhead` should use attribute-ending selectors like `[id$="-arrowhead"]` instead.
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for ER diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for requirement diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add theme support for data label colour in xy chart
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look styling for mindmap diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look for mermaid flowchart diagrams
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look and themes for class diagram
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: add showDataLabelOutsideBar option for xy chart
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look support for timeline diagram with drop shadows, additoinal redux themes and enhanced styling
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - feat: implement neo look and themes for gitGraph diagram
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add new TreeView diagram
### Patch Changes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - add link to ishikawa diagram on mermaid.js.org
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - docs: document valid duration token formats in gantt.md
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: ER diagram parsing when using "1" as entity identifier on right side
The parser was incorrectly tokenizing the second "1" in patterns like `a many to 1 1:` because the lookahead rule only checked for alphabetic characters after whitespace, not digits. Added a new lookahead pattern `"1"(?=\s+[0-9])` to correctly identify the cardinality alias before a numeric entity name.
Fixes #7472
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: scope cytoscape label style mapping to edges with labels to prevent console warnings
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: support inline annotation syntax in class diagrams (class Shape <<interface>>)
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Align branch label background with text for multi-line labels in LR GitGraph layout
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: preserve cause hierarchy when ishikawa effect is indented more than causes
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - refactor: remove unused createGraphWithElements function and add regression test for open edge arrowheads
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Prevent long pie chart titles from being clipped by expanding the viewBox
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: prevent sequence diagram hang when "as" is used without a trailing space in participant declarations
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: warn when `style` statement targets a non-existent node in flowcharts
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: group state diagram SVG children under single root <g> element
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: Allow :::className syntax inside composite state blocks
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@aloisklink](https://github.com/aloisklink), [@BambioGaming](https://github.com/BambioGaming)! - fix: prevent escaping `<` and `&` when `htmlLabels: false`
- [#7526](https://github.com/mermaid-js/mermaid/pull/7526) [`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519) Thanks [@ashishjain0512](https://github.com/ashishjain0512)! - fix: treemap title and labels use theme-aware colors for dark backgrounds
- Updated dependencies [[`efe218a`](https://github.com/mermaid-js/mermaid/commit/efe218a47fb5a4c2bd5489b48ce69213b141e519)]:
- @mermaid-js/parser@1.1.0
## 11.13.0
### Minor Changes
@@ -12,6 +104,12 @@
- [#7387](https://github.com/mermaid-js/mermaid/pull/7387) [`acce4db`](https://github.com/mermaid-js/mermaid/commit/acce4db7a1bd8801666f1a9667a63e4010ec2020) Thanks [@exoego](https://github.com/exoego)! - feat: Add Ishikawa diagram (ishikawa-beta)
- [#7425](https://github.com/mermaid-js/mermaid/pull/7425) [`f16bfbb`](https://github.com/mermaid-js/mermaid/commit/f16bfbbd3b4cf59f816913029760031bf778f41d) Thanks [@knsv](https://github.com/knsv)! - fix: replace smooth curve edges with rounded right-angle edges
The default flowchart edge curve changes from `basis` (smooth splines) to `rounded` (right-angle segments with rounded corners). This fixes ELK layout edges that were curving instead of routing at right angles (#7213) and applies consistently across all diagram types using the shared rendering pipeline.
To restore the previous smooth curve behavior, set `flowchart.curve: 'basis'` in your config.
- [#6995](https://github.com/mermaid-js/mermaid/pull/6995) [`9745f32`](https://github.com/mermaid-js/mermaid/commit/9745f325cb9e1967640f0e85da193a2f820634f1) Thanks [@darshanr0107](https://github.com/darshanr0107)! - feat: Deprecate [`flowchart.htmlLabels`](https://mermaid.js.org/config/schema-docs/config-defs-flowchart-diagram-config.html#htmllabels) in favor of [root-level `htmlLabels`](https://mermaid.js.org/config/schema-docs/config.html#htmllabels) in Mermaid config
- [#5814](https://github.com/mermaid-js/mermaid/pull/5814) [`2dd29be`](https://github.com/mermaid-js/mermaid/commit/2dd29bee254a5b89c00eb0b0da1bcf7fe96ce46c) Thanks [@kairi003](https://github.com/kairi003)! - feat: allow to put notes in namespaces on classDiagram
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@mermaid-js/tiny",
"version": "11.13.0",
"version": "11.14.0",
"description": "Tiny version of mermaid",
"type": "commonjs",
"main": "./dist/mermaid.tiny.js",