Skip to content

build(deps-dev): bump vitepress-mermaid-renderer from 1.1.23 to 1.1.26#1548

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/vitepress-mermaid-renderer-1.1.26
Open

build(deps-dev): bump vitepress-mermaid-renderer from 1.1.23 to 1.1.26#1548
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/vitepress-mermaid-renderer-1.1.26

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 2, 2026

Bumps vitepress-mermaid-renderer from 1.1.23 to 1.1.26.

Release notes

Sourced from vitepress-mermaid-renderer's releases.

v1.1.26

  • Install size minification

v1.1.25

Changed

  • Security: securityLevel default changed from 'loose' to 'strict'. Inline HTML inside Mermaid diagrams is now disabled by default to prevent XSS when rendering user-controlled or external Markdown content. If you need inline HTML features (e.g. clickable links in flowchart nodes), opt in explicitly: createMermaidRenderer({ securityLevel: 'loose' }).
  • Simplified diagram discovery — replaced the two-step getElementsByClassName + fallback querySelectorAll('pre') scan with a single querySelectorAll('pre > code.mermaid, pre > code.language-mermaid') selector, eliminating the full-page <pre> iteration and the custom HTMLCollectionOf shim.
  • Early retry terminationrenderWithRetry() now stops the exponential-backoff loop immediately when the MutationObserver is active, since it will pick up any late-arriving Mermaid blocks. Reduced maxRenderAttempts from 15 to 5 accordingly.
  • IntersectionObserver-based lazy rendering — offscreen Mermaid diagrams are no longer rendered immediately; they are observed with an IntersectionObserver (200 px root margin) and enqueued only when they scroll near the viewport, significantly reducing initial page-load cost on long documents.
  • requestAnimationFrame instead of fixed delays — replaced the setTimeout(resolve, 200) delay in renderMermaidDiagram() and the 150 ms / 50 ms production/cap delays in useMermaidRenderer with requestAnimationFrame-based paint waits, ensuring the SVG is settled without arbitrary timing guesses.
  • MutationObserver scoped to attributes: false — the DOM observer now explicitly opts out of attribute-change notifications, reducing unnecessary callback invocations for style/class mutations unrelated to Mermaid content.
  • Duplicate-render prevention — discovered <pre> elements are immediately marked with data-mermaid-processed so that concurrent MutationObserver triggers and retry passes cannot re-queue the same element.
  • Shared Vue context for diagram rendering — replaced per-diagram createApp().mount() with render(h(MermaidDiagram), wrapper). Each diagram now mounts into a lightweight render call instead of creating a full Vue app instance, reducing memory pressure on pages with many diagrams.
  • Singleton fullscreen event manager — extracted fullscreen-change listeners into useFullscreenManager.ts. Instead of each diagram registering 4 event listeners (fullscreenchange + vendor prefixes), a single shared manager attaches exactly 4 listeners regardless of how many diagrams are on the page.
  • CSS-only controls visibility — removed the onMounted inline style hack that forced .controls { opacity: 1; visibility: visible } via JavaScript. Controls now default to opacity: 1; visibility: visible in CSS and are shown/hidden purely through CSS classes and transitions.

... (truncated)

Changelog

Sourced from vitepress-mermaid-renderer's changelog.

1.1.26

  • Install size minification

1.1.25

Changed

  • Security: securityLevel default changed from 'loose' to 'strict'. Inline HTML inside Mermaid diagrams is now disabled by default to prevent XSS when rendering user-controlled or external Markdown content. If you need inline HTML features (e.g. clickable links in flowchart nodes), opt in explicitly: createMermaidRenderer({ securityLevel: 'loose' }).
  • Simplified diagram discovery — replaced the two-step getElementsByClassName + fallback querySelectorAll('pre') scan with a single querySelectorAll('pre > code.mermaid, pre > code.language-mermaid') selector, eliminating the full-page <pre> iteration and the custom HTMLCollectionOf shim.
  • Early retry terminationrenderWithRetry() now stops the exponential-backoff loop immediately when the MutationObserver is active, since it will pick up any late-arriving Mermaid blocks. Reduced maxRenderAttempts from 15 to 5 accordingly.
  • IntersectionObserver-based lazy rendering — offscreen Mermaid diagrams are no longer rendered immediately; they are observed with an IntersectionObserver (200 px root margin) and enqueued only when they scroll near the viewport, significantly reducing initial page-load cost on long documents.
  • requestAnimationFrame instead of fixed delays — replaced the setTimeout(resolve, 200) delay in renderMermaidDiagram() and the 150 ms / 50 ms production/cap delays in useMermaidRenderer with requestAnimationFrame-based paint waits, ensuring the SVG is settled without arbitrary timing guesses.
  • MutationObserver scoped to attributes: false — the DOM observer now explicitly opts out of attribute-change notifications, reducing unnecessary callback invocations for style/class mutations unrelated to Mermaid content.
  • Duplicate-render prevention — discovered <pre> elements are immediately marked with data-mermaid-processed so that concurrent MutationObserver triggers and retry passes cannot re-queue the same element.
  • Shared Vue context for diagram rendering — replaced per-diagram createApp().mount() with render(h(MermaidDiagram), wrapper). Each diagram now mounts into a lightweight render call instead of creating a full Vue app instance, reducing memory pressure on pages with many diagrams.
  • Singleton fullscreen event manager — extracted fullscreen-change listeners into useFullscreenManager.ts. Instead of each diagram registering 4 event listeners (fullscreenchange + vendor prefixes), a single shared manager attaches exactly 4 listeners regardless of how many diagrams are on the page.
  • CSS-only controls visibility — removed the onMounted inline style hack that forced .controls { opacity: 1; visibility: visible } via JavaScript. Controls now default to opacity: 1; visibility: visible in CSS and are shown/hidden purely through CSS classes and transitions.

... (truncated)

Commits
  • 43b467f chore: bump package version to 1.1.26
  • ae57513 1.1.26: Install size minification
  • 06a13ac 1.1.26: Install size minifaction
  • 64da871 test: enhance scrolling behavior for lazy loading of diagrams
  • 3727a68 1.1.25
  • 09b5e04 format files
  • 06dd103 fix: remove line numbers from Mermaid code blocks when VitePress `markdown.li...
  • cad5e25 feat: add Turkish and Chinese documentation for VitePress Mermaid Renderer
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [vitepress-mermaid-renderer](https://github.com/sametcn99/vitepress-mermaid-renderer) from 1.1.23 to 1.1.26.
- [Release notes](https://github.com/sametcn99/vitepress-mermaid-renderer/releases)
- [Changelog](https://github.com/sametcn99/vitepress-mermaid-renderer/blob/main/CHANGELOG.md)
- [Commits](sametcn99/vitepress-mermaid-renderer@v1.1.23...v1.1.26)

---
updated-dependencies:
- dependency-name: vitepress-mermaid-renderer
  dependency-version: 1.1.26
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants