Weekly GitHub Report for Mermaid: August 24, 2026 - August 31, 2026 (21:13:57)
Weekly GitHub Report for Mermaid
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is @mermaid-js/[email protected]
1.2 Version Information:
On March 25, 2025, a minor update was released that introduced the addition of a Radar Chart, enhancing the charting capabilities of the platform. This update reflects ongoing efforts to expand visualization options.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[STATUS: TRIAGE] BPMN 2.0: bpmn-beta - PR series tracker: This issue tracks a series of pull requests aimed at adding native BPMN 2.0 support to the project, including grammar, rendering, and swimlane engine enhancements, while addressing architectural questions such as syntax choice and whether BPMN should be a core feature or an external plugin. It also documents extensive testing against the OMG BPMN example corpus, layout and rendering fixes, and the readiness status of individual PRs, with a focus on ensuring correctness, coverage, and maintainability before merging.
- The comments provide detailed progress updates including measured coverage against the OMG BPMN corpus showing 87.1% expressibility, layout and rendering improvements, fixes to swimlane edge docking, and clarifications on test suites and PR readiness; they also correct earlier measurement errors and confirm that the first five PRs are ready for review while the BPMN-specific PRs remain drafts pending architectural decisions.
- Number of comments this week: 6
-
[TYPE: BUG / ERROR] [STATUS: TRIAGE] Browser-specific rendering of Gantt chart: This issue describes a problem with rendering a Gantt chart containing negative (BC) dates inconsistently across different browsers, where it displays correctly in macOS Safari but incorrectly in Firefox and Chromium due to differences in how these browsers handle date parsing. The user provides a minimal example and notes that the issue arises from the use of plain negative integers as dates, which are not valid in the day.js format used by Mermaid, leading to fallback on browser-specific date handling that causes the inconsistency.
- The comments clarify that the root cause is the invalid date format for negative years and suggest using an extended year format with leading zeros for consistency across browsers; the user confirms this workaround but emphasizes the necessity of supporting negative dates for historical accuracy and requests better documentation or a fix.
- Number of comments this week: 2
-
[TYPE: ENHANCEMENT] [CONTRIBUTOR NEEDED] [STATUS: APPROVED] [AREA: DOCUMENTATION] [GOOD FIRST ISSUE!] live editor uses layout: elk for adaptive rendering. This isn't documented anywhere: This issue highlights the lack of official documentation for using the ELK layout engine in Mermaid diagrams outside of the live editor, despite its significant impact on rendering quality. The user requests either an update to the documentation or a feature enhancement to make ELK-supported diagrams usable beyond the live editor environment.
- The comments confirm the absence of documentation and share a practical example of how to register and use the ELK layout with Mermaid’s JavaScript package, note that some platforms like Notion now support ELK by default, and express interest in contributing documentation improvements to address this gap.
- Number of comments this week: 1
-
[TYPE: BUG / ERROR] [STATUS: APPROVED] [GOOD FIRST ISSUE!] Flowcharts: When
securityLevel: "loose"is not specified, "click" fails quietly without a warning: This issue addresses a problem in Mermaid flowcharts where, if thesecurityLevelis not set to "loose," click event callbacks fail silently without triggering any warnings or errors, making debugging difficult. The reporter expects a warning message indicating that click event callback calls are ignored due to the security level setting, improving developer feedback.- Multiple users expressed interest in working on the issue, including first-time contributors, and one user inquired about the progress after a year without a pull request, indicating readiness to take over if no one else is actively working on it.
- Number of comments this week: 1
-
[TYPE: ENHANCEMENT] [STATUS: TRIAGE] [TYPE: NEW DIAGRAM] Add venn Diagram support to mermaid: This issue requests the addition of native Venn diagram support to Mermaid, highlighting its usefulness across various fields such as computer science, mathematics, and education where Venn diagrams help clearly communicate relationships and classifications. The user emphasizes that current Mermaid capabilities do not allow for clean representation of Venn diagrams, which limits its utility for explaining concepts like binary tree classifications.
- The comments clarify that Venn diagram support already exists in Mermaid, providing a link to the relevant syntax documentation, and suggest closing the issue since the requested feature is already implemented.
- Number of comments this week: 1
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 12
Summarized Issues:
- Flowchart Bugs and Performance Issues: Multiple issues affect flowchart rendering and parsing, including a bug where an out-of-range
linkStyleindex causes a rawTypeErrordue to a type check failure, and a performance problem where parsing a flowchart followed by a long whitespace run causes quadratic parsing time growth, leading to main thread blocking. These problems result in crashes and significant delays during flowchart processing. - [issues/8122, issues/8127]
- Gantt Chart Rendering Problems: Gantt chart rendering has issues with empty comma-separated fields causing runtime errors due to undefined start times, and inconsistent handling of negative (BC) dates across browsers leads to incorrect displays or errors in Firefox and Chromium, though macOS Safari renders correctly. These inconsistencies cause crashes and cross-browser rendering failures.
- [issues/8123, issues/8136]
- SVG and Theming Inconsistencies: Inconsistent class naming for edge path containers in Mermaid's SVG output breaks theming and styling compatibility across layout engines and external apps, prompting a proposal to restore the original class name to maintain a stable DOM contract and prevent silent rendering bugs. Additionally, several documented theme variables are removed during frontmatter sanitization because they are missing from default theme keys, causing them to never reach the renderer when set via frontmatter.
- [issues/8124, issues/8170]
- Diagram Layout Configuration Issues: The project suffers from inconsistent and scattered mechanisms for determining default layouts per diagram type, leading to bugs and maintainability problems. A proposal suggests unifying these into a single API that allows diagrams to declare default layouts, supports user overrides, and resolves layout precedence in one place.
- [issues/8159]
- New Diagram Support and Features: Native BPMN 2.0 support is being implemented with grammar, rendering, and layout for BPMN elements, addressing syntax and architectural questions through staged commits and testing. Additionally, support for the Universal Variability Language (UVL) is proposed to embed variability model diagrams directly into documentation as code for easier updates and integration.
- [issues/8160, issues/8141]
- Chart Rendering Bugs: The
xychart-betahas a bug where a line series with exactly one data point renders an empty plot because the SVG path is zero-length with no visible marker, resulting in a blank chart area despite correct axis and title rendering. - [issues/8153]
- Configuration Silencing and Dependency Issues: The
elk.cycleBreakingStrategyconfig option is silently removed from frontmatter or init config because it is missing from the default config object, causing the layout plugin to never receive it when set per diagram, though it works site-wide. Also, intermittent failures in thepnpm test:check:tsccommand occur due to unpinned dependencies causing type errors from version mismatches and incompatible TypeScript settings. - [issues/8172, issues/8179]
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 5
Summarized Issues:
- Diagram Rendering Bugs: Several issues involve incorrect rendering of diagram elements, such as the first person node in a C4 context diagram displaying wrong colors due to an index-based bug, and a crash caused by improper handling of
$tagsattributes leading to a TypeError. These bugs affect the visual correctness and stability of diagrams, highlighting problems in attribute processing and color assignment. - issues/7491, issues/8099
- New Diagram Feature Request: There is a request to add a new timing diagram type to Mermaid, aimed at visually representing electronic device pin behavior in embedded development. The discussion includes possible syntax inspirations from PlantUML and Wavedrom, emphasizing the need for a user-friendly, text-based format for timing diagrams.
- issues/1239
- Testing and Configuration Issues: Problems have been reported with scoped end-to-end test filters generating invalid regular expressions for Playwright, causing test failures before execution, alongside a need to improve the default ELK layout configuration to avoid side effects. These issues impact the reliability of testing and diagram layout quality.
- issues/8111, issues/8150
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 28
Key Open Pull Requests
1. docs(bpmn): document the bpmn-beta syntax: This pull request adds comprehensive documentation and a demo page for the new bpmn-beta syntax in Mermaid, detailing its grammar, elements, event triggers, gateways, activities, artifacts, configuration namespace, and theme variables, while also including tests that render every example to ensure correctness and noting current limitations and validation rules.
- URL: pull/8167
- Associated Commits: c092a, 92dff, 3e320, a96e2, 976a0, 407c4, cea45, c2557, a06a1, d4940, b025d, 8e54a, 2c133, 42fca, 91fc0, bbcca, 64c5a, 5e652, 688c9, aed16, 74c91, be311, c6e9f, bcdc6, 22acc, 7fc2b, dccb7, 5ca3c, 357c8, 3f5ff, 305d3, 218ab, 7319c, 2a4aa, 1425e, 0e3b5, a4004, dff0f, 8754e, f9c94, 31ff4, afc57, e6554, aee7d, decea, 5c0c6, 8aabc, 72279, 553e5, 9ad49, e0c1e, c3dfc, de148, 483bb, 68f92, b8e6e, 2d109, 3332e, f6a5f, 441e5, 251a3, 7dbf0, a67a5, 25cb9, a8353, b4c30, f7c0b, 5cdec, ae351, da917, 285e9, 5a806, 1d24f, 518dc, 912e9, 709de, 901f8, 0a489, 687d2, 626bc, 2d44c, 9f314, aa0f4, 61cbb, 09dc7, 77589, 2552f, c09eb, 0aabe, 97e13, 74e30, 1b359, d627d, f2486, 2dcd6
2. feat(themes)!: make redux-color the default theme and neo the default look: This pull request makes the redux-color theme the new default theme and pairs it with the neo default look in the Mermaid diagramming library, resulting in a major breaking change that alters the appearance of every diagram rendered without an explicit theme or look, while also fixing several latent bugs exposed by this switch, improving theme variable handling, validating look values in stylesheets, enhancing use case and swimlane diagram coloring, updating documentation, and ensuring comprehensive test coverage.
- URL: pull/8148
- Associated Commits: 8603b, 775a3, 5de52, bceca, da796, c3ee3, a66a5, c831b, 4b348, 46f1c, 12823, c7697, 2d33f, dbd5a, 75e6c, 55039, 0f793, e0e29
3. feature(layout): Update tests due to elk default layout: This pull request updates the tests by changing the default layout from elk to dagre-layout to reflect the new default layout setting in the project.
- URL: pull/8182
- Associated Commits: 6f7bc, ed78b, e7068, ad75b, 644fe, 03d78, a8bff, 352ce, fa4ba, 0e2a5, fefa1, 377aa, 37c50
Other Open Pull Requests
- ELK layout integration: This pull request bundles the ELK layout algorithm into the core
mermaidpackage and makes it the default layout for most supported diagram types, replacing dagre while preserving explicit layout overrides. It also maintains the separate@mermaid-js/layout-elkpackage for builds that omit the bundled ELK and includes numerous fixes, tests, and documentation updates to support this integration.
- Timing diagram beta support: This pull request introduces beta support for a new timing diagram type in Mermaid, featuring multiple lane types such as clock, binary, state, bus, and analog. It includes advanced features like signal-major run lengths, absolute transitions, theme and accessibility support, comprehensive documentation, testing, and improvements in rendering and input validation following Mermaid's Chevrotain architecture.
- Flowchart lexer whitespace optimization: These pull requests improve the flowchart lexer by grouping consecutive horizontal whitespace characters into a single
SPACEtoken instead of emitting one token per character, significantly reducing parse time for long whitespace runs. They preserve separate newline handling, maintain full test coverage, and add regression tests to ensure efficient handling of large whitespace runs.
- C4Dynamic diagram relationship fix: This pull request fixes an issue where multiple relationships between the same from/to pair were incorrectly merged into one in the C4Dynamic diagram parser. It ensures each repeated relationship is preserved and styled individually, allowing all interactions to be rendered and numbered correctly, while leaving visual separation of overlapping lines to a subsequent layout improvement.
- Swimlanes edge docking correction: This pull request fixes how edges in swimlanes diagrams dock onto the shapes they point at by querying the shape’s actual boundary to correctly position edge endpoints. It also adjusts two-point edges so each end docks facing the opposite node, resulting in more accurate and visually consistent edge connections across all swimlanes layouts.
- Gantt diagram trailing comma fix: This pull request fixes a rendering crash in the Gantt diagram caused by trailing commas that increase the field count beyond the expected three. It validates the number of fields during parsing to produce a clear error instead of allowing undefined values to cause runtime failures, while preserving meaningful empty trailing fields within valid task definitions.
- Theme CSS sanitization fix: This pull request fixes an issue in the Mermaid project's configuration sanitization logic by preserving the CSS child combinator
>withinthemeCSSdirectives. It allows valid CSS selectors while continuing to block unsafe patterns like<andurl(data:), resolving a regression and ensuring secure and correct theme styling.
- Kanban accessibility directives support: This pull request fixes issue #8120 by adding support for the standard accTitle and accDescr accessibility directives in Kanban diagrams. It resolves parsing errors that caused inline accTitle forms to be misinterpreted as board columns and block accDescr forms to crash, while introducing lexer state declarations, grammar rule updates, accessibility state management improvements, and comprehensive tests.
- Fastdom define function patch: This pull request addresses issues caused by the global
definefunction in thefastdomlibrary by bundling and patching it to provide an ESM-compatible version. It moves the library to adevDependencyand updates the integration accordingly to ensure compatibility and resolve related build problems.
- Theme variable sanitization enhancement: This pull request fixes an issue where the
sanitizeDirectivefunction was stripping certain theme variables related to treeView, packet, state, and git diagrams. It adds these missing variables with default fallbacks to the default theme and implements recursive sanitization for nested theme variable values, ensuring these keys are preserved without changing default rendering.
- Dagre layout subgraph direction fix: This pull request fixes issue #8066 by restoring the preservation of explicit subgraph direction settings for clusters with external edges in the Dagre layout algorithm. It ensures cluster extraction respects the specified direction and adds corresponding test coverage to prevent regressions.
- Flowchart linkStyle index bug fix: This pull request fixes a bug in the flowchart diagram's
linkStylefeature where string indices from the parser were not properly coerced to numbers before bounds checking, causing out-of-bounds errors and uncaught exceptions. It introduces a shared helper to correctly validate and coerce indices for bothupdateLinkandupdateLinkInterpolatemethods, along with improved tests to ensure proper error handling.
- Kanban CSS class forwarding fix: This pull request fixes an issue in Kanban diagrams by ensuring that CSS class assignments defined with ::: decorations are properly forwarded from stored sections and items through the kanbanDb.getData() function. This preserves styling information that was previously omitted and includes tests for these decorated nodes.
- C4 diagram stereotype visibility control: This pull request introduces a new configurable option
c4.showStereotypesto globally control the visibility of stereotypes on elements and boundaries in C4 diagrams. It allows users to hide or show bracketed type lines by default, supports per-element overrides via the$showStereotypeattribute, ensures layout consistency by emptying stereotype text rather than removing it, and includes comprehensive updates to configuration, parsing, rendering, and testing.
- JSDoc parameter corrections: This pull request corrects eight JSDoc
@paramnames across Mermaid packages to match their function signatures, removes obsolete parameter documentation, and updates parameter tags without changing any function signatures or runtime behavior.
- Swimlane cluster SVG ID uniqueness fix: This pull request fixes the issue of duplicate SVG element IDs in swimlane cluster shapes by scoping their DOM IDs using
node.domIdlike other clusters. It removes swimlane from the ID uniqueness test exclusion list, adds a two-diagram swimlane fixture to ensure ID uniqueness across multiple diagrams, and includes a corresponding test that fails before and passes after the fix.
- Swimlane layout refactor: This pull request refactors the swimlane layout by centralizing the resolution of a node's lane through a single shared model called
buildLaneModel. It eliminates duplicated lane detection logic across multiple files, adds comprehensive unit tests and guards to prevent regression and duplication, and ensures behavior-neutral updates that maintain existing swimlane specifications without affecting BPMN diagrams.
- Swimlane anchored-node feature: This pull request introduces an anchored-node feature to the swimlane layout that allows nodes to be pinned precisely to another node's border. This enables boundary-like positioning without affecting the overall layout, routing, or overlap checks, while ensuring consistent geometry through multiple transformation stages and comprehensive validation, testing, and support for multiple anchors per host border.
- XYChart single-point series fix: This pull request fixes an issue where single-point line series in the xychart-beta emitted a zero-length SVG path and no visible marker. It draws a filled circle at the scaled data point in the series color, ensuring the point is visible without affecting multi-point series rendering.
- TypeScript CI check stability: This pull request fixes intermittent TypeScript check failures in the CI by pinning the
tsc-checkscript’s type dependencies (type-festand@types/d3) to the exact versions declared inpackages/mermaid/package.json. It ensures compatibility with the published declarations and improves build log output by streaming compiler output directly to CI logs withstdio: 'inherit', while intentionally leaving TypeScript itself unpinned.
- Flowchart securityLevel warning: This pull request introduces a warning message in the flowchart diagram feature to notify users when a click callback is ignored due to the
securityLevelbeing set to"strict"instead of"loose". The warning includes details about the affected node and active security level, along with tests to verify this behavior.
- New unfilled edge markers: This pull request adds two new unfilled edge markers—an open arrowhead and a hollow circle—to the rendering utility. These markers enable more versatile diagram edge styling with proper marker sizing, fill behavior, and URL mappings, are named generically for use beyond BPMN diagrams, and are thoroughly tested without including any BPMN-specific drawing logic.
- BPMN element shape rendering: This pull request adds comprehensive BPMN element shape rendering support by introducing nine distinct shape types including events, gateways, activities, data objects, data stores, and annotations. Each shape is implemented in separate files following a shared core pattern, with detailed handling of event ring styles and glyphs covering all trigger combinations, fixed geometry, label placement, edge docking, lazy-loaded BPMN icons, and extensive tests verifying shape registration, rendering accuracy, and geometric invariants.
- BPMN-beta diagram feature introduction: This pull request introduces the
bpmn-betadiagram feature to Mermaid, including a Chevrotain grammar, swimlane layout data, stylesheets, configuration, theme variables, and opt-in pool support. It also fixes swimlane layout issues, improves message flow rendering between participants, enforces BPMN trigger legality, and adds comprehensive end-to-end tests and fixtures to ensure accurate BPMN 2.0.2 diagram rendering and conformance.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 15
Key Closed Pull Requests
1. Merge back 11.17.2 to develop: This pull request merges the 11.17.2 release branch back into develop by resolving conflicts in autogenerated TypeDoc pages through regeneration, restores the correct edgePaths SVG class and updates related styles and selectors to fix rendering issues in swimlanes and agentflow, addresses marker theming and scaling bugs, updates dependencies and tests, and verifies all changes with extensive unit and end-to-end tests to ensure stability without altering the master branch.
- URL: pull/8132
2. feat(themes): colour class boxes and flowchart subgraphs in the redux colour themes: This pull request enhances the redux-color and redux-dark-color themes by implementing palette-based coloring for class diagram boxes and flowchart subgraph containers, assigning each class and subgraph a distinct border and fill color cycling through the palette in declaration order while preserving user-defined styles and excluding namespaces and notes from the color cycle, and includes comprehensive fixes, design improvements, and extensive tests to ensure consistent, source-order coloring and style precedence across nested and collapsed subgraphs.
- URL: pull/8147
3. fix(themes): make the redux colour themes supersets of their base themes: This pull request fixes the redux-color and redux-dark-color themes by making them true supersets of their base redux themes—adding missing variables and updating pie, gantt, and user-journey chart diagrams to correctly use the themes' categorical color palettes—while adding comprehensive regression tests and visual verification to ensure consistent and accurate theming across all related diagrams.
- URL: pull/8146
Other Closed Pull Requests
- Palette and color fixes in diagrams: Multiple pull requests address issues with palette indexing and color rendering across various diagram types. These fixes include correctly cycling palette colors by their own lengths to prevent fill disappearance, wrapping palette indexes to avoid invalid CSS, and implementing per-lane coloring in swimlane diagrams to fix uniform grey rendering and CSS specificity conflicts, all supported by comprehensive tests.
- pull/8157, pull/8156, pull/8176
- Test infrastructure and batching improvements: Pull requests improve visual test batch handling and test scope filtering. They introduce a run-wide batch ID to prevent fragmentation of Applitools visual test batches and replace invalid glob patterns with regex-safe suffixes for Playwright test filters, ensuring consistent test execution and adding regression tests for validation.
- pull/8133, pull/8112
- Renderer bug fixes and attribute handling: Fixes in the C4 and sequence diagram renderers address bugs related to attribute wrapping and palette indexing. These include correcting the wrapping of named attributes in the C4 renderer to avoid rendering errors and fixing palette indexing in the sequence diagram renderer to preserve intended undefined fills, with comprehensive tests added to prevent regressions.
- pull/8100, pull/8157
- Build and dependency management fixes: Changes to build scripts and configurations improve reliability and reduce bundle size. This includes reordering the
docs:buildscript steps to prevent premature deletion of documentation, and externalizing themermaidpeer dependency in layout plugins to avoid bundling duplicates and ensure runtime consistency. - pull/8149, pull/8129
- Documentation updates and link fixes: Updates clarify example usage and fix broken links without changing runtime code. The C4 documentation was enhanced to explain intentional styling in examples, and outdated blog post URLs were corrected to return HTTP 200 responses, preserving existing formatting.
- pull/8144, pull/8075
- Layout renderer spacing configuration: A pull request modifies the ELK layout renderer to respect user-configured flowchart spacing settings. It replaces hard-coded base spacing with configurable
nodeSpacingandrankSpacingvalues, including explicit zeroes, while preserving default behavior and adding tests and documentation. - pull/7931
- Release merge and regression updates: One pull request merges fixes and improvements from release 11.17.2 back into the develop branch. This includes updates to class diagram marker scaling, ELK marker configuration, C4 label wrapping, SVG class restoration, dependency deduplication, regression tests, and documentation.
- pull/8131
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| filipsajdak | 206 | 18 | 2 | 6 |
| ashishjain0512 | 69 | 12 | 2 | 7 |
| sidharthv96 | 37 | 3 | 0 | 0 |
| pbrolin47 | 26 | 2 | 0 | 9 |
| tobias-maslowski | 26 | 0 | 0 | 0 |
| knsv | 19 | 1 | 2 | 2 |
| webdevsamran | 14 | 7 | 0 | 0 |
| aloisklink | 18 | 1 | 0 | 0 |
| WhoamiI00 | 6 | 4 | 0 | 1 |
| syawqy | 9 | 1 | 0 | 0 |
Access Last Week's Newsletter: