Skip to content

build(deps): bump vitepress-mermaid-renderer from 1.1.24 to 1.1.26 in /apps/docsite#140

Closed
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/npm_and_yarn/apps/docsite/vitepress-mermaid-renderer-1.1.26
Closed

build(deps): bump vitepress-mermaid-renderer from 1.1.24 to 1.1.26 in /apps/docsite#140
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/npm_and_yarn/apps/docsite/vitepress-mermaid-renderer-1.1.26

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps vitepress-mermaid-renderer from 1.1.24 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
  • 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.24 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.24...v1.1.26)

---
updated-dependencies:
- dependency-name: vitepress-mermaid-renderer
  dependency-version: 1.1.26
  dependency-type: direct:production
  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 4, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 17, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #162.

@dependabot dependabot Bot closed this Jun 17, 2026
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/apps/docsite/vitepress-mermaid-renderer-1.1.26 branch June 17, 2026 01:06
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