Commit Graph
3475 Commits
Author SHA1 Message Date
Sidharth VinodandClaude Opus 5.5 5eedbbecfa ci: Build the Docker image's static site natively instead of under QEMU
The multi-platform Docker build ran pnpm install and pnpm build for
linux/arm64 under QEMU emulation. QEMU intermittently crashes there
("qemu: uncaught target signal 4 (Illegal instruction)") or stalls, and
buildkit then waits until GitHub cancels the job at 6 hours: 16
cancelled runs in September, including a develop push.

The build output is a static site, identical on every architecture, so
the node stages now run on $BUILDPLATFORM and only the nginx stage
(COPY only) is built per architecture. Also caps the job at 30 minutes
so any future hang fails fast.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:51:35 +05:30
Sidharth Vinod 55958daa4a Merge pull request #2055 from mermaid-js/sidv/fix-docs-1955
fix: Link Docs button to the right page for each diagram type (#1955)
2026-09-30 07:01:06 +02:00
Sidharth VinodandClaude Opus 5.5 7cb51a1d4f feat: Link docs for the diagram types added in mermaid 11.6–12
Adds docs paths for agentflow, cynefin, eventmodeling, ishikawa, radar,
the four railroad variants, swimlane, treeView, usecase, venn and
wardley, taken from packages/mermaid/src/docs/syntax in the mermaid repo
and checked against the published pages (config anchors included).

A new test parses every @mermaid-js/examples sample and fails when a
detected diagram type has no docs entry, so the next new type is caught
on the dependency bump instead of silently linking to the docs home.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:29:49 +05:30
Sidharth VinodandClaude Opus 5.5 ff0c822bd0 fix: Link Docs button to the right page for each diagram type (#1955)
- Resolve the docs base so a bare mermaid.ai origin maps to
  mermaid.ai/open-source instead of a missing page.
- Add a diagram-type catalog (diagramTypes.ts) keyed by mermaid's
  detector ids that owns docs paths, visual-edit support and
  external-service support. Replaces standardizeDiagramType, the
  component-local docMap and the visual-edit set.
- Fixes class diagrams falling back to the docs home page (the detector
  id was normalized to 'classDiagram', which the docMap didn't have) and
  sequence diagrams never offering visual edit ('sequence' vs
  'sequenceDiagram').

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 01:36:46 +05:30
Sidharth Vinod 1ab7e2e074 Merge pull request #2045 from mermaid-js/sidv/remove-playground-share
feat: remove the retired Mermaid Chart Playground from the Share dialog
2026-09-22 13:43:11 +05:30
Sidharth VinodandClaude Fable 5.1 db83b992c6 feat: remove the retired Mermaid Chart Playground from the Share dialog
The playground has been retired, so the Share dialog no longer offers a
link to it and only lists the Live Editor link and the embed section.
The now-unused "share" analytics medium goes with it; the playground URL
itself stays until the main menu entry is removed separately.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 13:06:37 +05:30
Sidharth Vinod 408462ad04 Merge pull request #2039 from Hashim1999164/fix/docker-expose-8080
Advertise Docker image port 8080 to match nginx
2026-09-21 22:10:06 +05:30
Sidharth Vinod 44087b7430 Update Dockerfile 2026-09-21 09:39:51 -07:00
Sidharth Vinod 11141860ee Merge pull request #2043 from dav1tj/feat/contact-sales-button
feat: add Contact sales button to mermaid.live header (#6296)
2026-09-21 22:09:12 +05:30
Sidharth Vinod b3eb06863c Update src/routes/(app)/edit/+page.svelte 2026-09-21 09:31:45 -07:00
Davit Jangavadze 1acdb537bd fix: address review feedback on Contact sales button 2026-09-21 20:28:14 +04:00
Davit Jangavadze ed7da4df34 feat: add Contact sales button to mermaid.live header (#6296) 2026-09-21 20:16:38 +04:00
renovate[bot] 77f9a7c32d Merge pull request #2042 from mermaid-js/renovate/patch-all-minor-patch
fix(deps): update all non-major dependencies (patch)
2026-09-21 04:57:17 +00:00
renovate[bot] d2e3ebed79 fix(deps): update all non-major dependencies 2026-09-21 01:25:39 +00:00
Hashim Khan 7fd2c599d9 Merge branch 'develop' into fix/docker-expose-8080 2026-09-20 01:18:30 +05:00
renovate[bot] 8754416d84 Merge pull request #2040 from mermaid-js/renovate/patch-mermaid-packages
fix(deps): update mermaid packages to ^1.0.1
2026-09-19 02:54:23 +00:00
renovate[bot] b800f21a4c fix(deps): update mermaid packages to ^1.0.1 2026-09-18 21:24:34 +00:00
Hashim1999164 1502486943 fix: advertise container port 8080 in the nginx image
The mermaid stage inherits EXPOSE 80 from official nginx while nginx.conf
listens on 8080. Advertise 8080 so inspect and publish match the real
listen port.
2026-09-18 20:09:49 +05:00
Sidharth Vinod 66a4516adf Merge pull request #2029 from mermaid-js/sidv/update-mermaid-12
chore: update to mermaid v12 and derive the diagram theme from its defaults
2026-09-14 23:55:29 +05:30
Sidharth Vinod ad88d1cbb2 Merge remote-tracking branch 'origin/develop' into sidv/update-mermaid-12
* origin/develop:
  chore(deps): update all non-major dependencies
  fix(deps): update all non-major dependencies
  chore(deps): update dependency vitest to v4.1.11 [security]

# Conflicts:
#	package.json
#	pnpm-lock.yaml
2026-09-14 23:49:31 +05:30
renovate[bot] 4036e45fd6 Merge pull request #2033 from mermaid-js/renovate/patch-all-minor-patch
chore(deps): update all non-major dependencies (patch)
2026-09-14 05:04:06 +00:00
renovate[bot] 1971f095af chore(deps): update all non-major dependencies 2026-09-14 02:37:29 +00:00
renovate[bot] 79b139cf0e Merge pull request #2004 from mermaid-js/renovate/patch-all-minor-patch
fix(deps): update all non-major dependencies (patch)
2026-09-11 04:40:52 +00:00
renovate[bot] 24bfeb8d9e fix(deps): update all non-major dependencies 2026-09-11 00:23:54 +00:00
renovate[bot] f351b22513 Merge pull request #2032 from mermaid-js/renovate/npm-vitest-vulnerability
chore(deps): update dependency vitest to v4.1.11 [security]
2026-09-11 00:16:11 +00:00
Sidharth VinodandClaude Fable 5.1 f87e6429dd feat: keep the diagram theme in step with the diagram type and site mode
Instead of leaving the config empty, the editor now manages the theme: after every validation and on site light/dark changes, syncManagedTheme sets it to the diagram type's own mermaid default (the config section's theme, e.g. redux-color for flowcharts, else the global default) or, in dark mode, the redux -dark variant (redux-dark-color) or dark.

Only editor-set themes are replaced: a missing theme, the global default, a section default or any of their dark variants (isManagedTheme). A theme the user chose, such as forest, is never touched.

Detector ids that do not match their config section (flowchart-v2, flowchart-elk, classDiagram, stateDiagram, xychart, railroadAbnf/Ebnf/Peg) are aliased in mermaid.ts; ids without a section (wardley, zenuml) use the global default.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 00:39:12 +05:30
Sidharth Vinod 18d612f42b Merge remote-tracking branch 'origin/develop' into sidv/update-mermaid-12
* origin/develop:
  chore(deps): update dependency @sveltejs/kit to v2.69.1 [security]

# Conflicts:
#	pnpm-lock.yaml
2026-09-10 23:33:15 +05:30
Sidharth VinodandClaude Fable 5.1 fd63d61770 feat: stop seeding "theme": "default" and migrate existing configs
Mermaid 12 picks its own theme, look and layout per diagram type, so the editor no longer needs to pin a theme. defaultState.mermaid is now `{}`.

- clearDefaultThemeConfig (migration v1): a persisted config whose only key is "theme": "default" is cleared to {} once; anything else is the user's and is left alone.
- toggleDarkTheme: light mode removes the site-managed theme instead of re-pinning "default"; dark mode still sets "dark". User-chosen themes are untouched.
- The migration registry is resolved lazily: the state module imports util.ts, which imports the migrations, so the registry cannot read state exports while the module graph is still initialising.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 23:29:16 +05:30
renovate[bot] da749601c4 chore(deps): update dependency vitest to v4.1.11 [security] 2026-09-10 17:32:21 +00:00
renovate[bot] 52e0da7e30 Merge pull request #2011 from mermaid-js/renovate/npm-sveltejs-kit-vulnerability
chore(deps): update dependency @sveltejs/kit to v2.69.1 [security]
2026-09-10 17:24:59 +00:00
Sidharth VinodandClaude Fable 5.1 800311b90f chore(deps): update mermaid to v12 and companion packages
Bump mermaid ^11.17.2 -> ^12.0.0, @mermaid-js/layout-tidy-tree ^0.2.2 -> ^1.0.0, @mermaid-js/mermaid-zenuml ^0.2.3 -> ^1.0.0 and @mermaid-js/examples ^1.4.0 -> ^2.0.0.

Drop @mermaid-js/layout-elk: mermaid 12 bundles ELK and registers it automatically, so the separate package would only ship a second copy of the layout engine.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 20:17:06 +05:30
renovate[bot] 0c9eef36a8 chore(deps): update dependency @sveltejs/kit to v2.69.1 [security] 2026-09-04 01:05:41 +00:00
Sidharth Vinod 756a7bfdc2 Merge pull request #2020 from mermaid-js/renovate/patch-mermaid-packages
fix(deps): update mermaid packages (patch)
2026-08-25 14:41:54 +02:00
renovate[bot] 678f0111ad fix(deps): update mermaid packages 2026-08-25 12:32:02 +00:00
Sidharth Vinod a9fa4eddf6 Merge pull request #2021 from mermaid-js/renovate/mermaid-packages
fix(deps): update mermaid packages (minor)
2026-08-25 14:29:39 +02:00
renovate[bot] ef7f3f61e0 fix(deps): update mermaid packages 2026-08-19 16:43:33 +00:00
Sidharth Vinod 10ef944db6 Merge pull request #2016 from knsv-bot/feat/embed
feat: add embeddable diagram widget (/embed route + <mermaid-embed> component)
2026-08-14 15:01:21 +02:00
Sidharth VinodandCursor b9871b9815 fix(embed): drop ?code= query support
Diagram source only comes from #code: or #pako:/#base64: state so it
stays out of query strings, logs, and Referer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 16:25:12 +05:30
Sidharth VinodandCursor 77c66b617e fix(embed): harden loader, snippets, and toolbar isolation
Add sandbox to copied iframe snippets, carry web-component body code in
#code: instead of ?code=, lock src to the embed.js origin, and make the
async currentScript fallback / dimension sanitization safe. Reuse a
store-free PanZoomToolbar on /embed and keep ToggleGroup values from
clearing on re-click.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 08:33:53 +05:30
Knut Sveidqvist 7f21444690 Merge branch 'develop' into feat/embed 2026-08-07 10:48:18 +02:00
knsv 0e1caab47e refactor: author the embed loader in TypeScript
Address review feedback: static/embed.js is now generated from
src/embed-loader.ts via a small Vite lib-mode config (pnpm build:embed,
chained into dev and build). The generated file is gitignored, and the
source is covered by svelte-check and eslint.
2026-08-07 10:23:53 +02:00
Sidharth Vinod 61b23314cd Merge pull request #2013 from mermaid-js/renovate/patch-mermaid-packages
fix(deps): update dependency mermaid to ^11.16.1
2026-08-06 20:12:20 +02:00
knsv 0683a650ff feat: add embeddable diagram widget
Add an /embed route that renders diagrams as a self-contained widget:
pan/zoom toolbar, light/dark chrome toggle, and attribution footer. It
accepts the same #pako: hashes as share links plus query params (code,
config, theme, look, mode, controls, grid, pan, zoom), runs with
securityLevel strict, silently strips unsafe config, and never touches
localStorage or rewrites the URL.

- static/embed.js: dependency-free <mermaid-embed> web component
- Share dialog: embed section with live preview and copyable iframe /
  web-component snippets
- render core extracted to renderView.ts, shared by View and the new
  props-driven EmbedView; config sanitization extracted to sanitize.ts
- routes moved into an (app) group so /embed skips the app layout
  (URLs unchanged)
2026-08-06 15:39:38 +02:00
renovate[bot] ac71da6faf fix(deps): update dependency mermaid to ^11.16.1 2026-08-04 19:00:22 +00:00
Sidharth Vinod f8836bb154 chore: Add claude.md 2026-07-13 08:56:16 +05:30
Sidharth Vinod e67de3a20b Merge pull request #1918 from mvanhorn/feat/rename-history-entries
feat: allow renaming history entries
2026-07-12 18:01:33 +00:00
Sidharth Vinod 342f5f6257 Merge branch 'develop' into feat/rename-history-entries 2026-07-12 19:53:44 +02:00
Sidharth Vinod 37ad5812ef Merge pull request #1997 from mermaid-js/renovate/patch-all-minor-patch
fix(deps): update all non-major dependencies (patch)
2026-07-12 19:52:22 +02:00
Sidharth VinodandClaude Opus 4.8 18aa471568 fix(deps): bump @codemirror/state to ^6.7.1 to dedupe tree
The updated @codemirror/view (6.43.6) and @codemirror/language (6.12.4)
require @codemirror/state@6.7.1, but the direct dependency stayed at
^6.6.0, leaving two copies of @codemirror/state in the tree. This broke
the svelte-check type check (6.6.0 EditorState not assignable to 6.7.1)
and the editor at runtime (Playwright timeouts). Aligning the direct
dependency dedupes to a single 6.7.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 22:34:48 +05:30
renovate[bot] 61e6e6819b fix(deps): update all non-major dependencies 2026-07-12 16:21:49 +00:00