Skip to content

Merlay 0.3.2

Choose a tag to compare

@github-actions github-actions released this 17 Sep 21:51
· 24 commits to main since this release

Merlay 0.3.2 — Obsidian review compliance and security hardening

Mermaid, your way. A native visual overlay editor for Mermaid diagrams in Obsidian.

Fixes & Compliance

  • Obsidian Review Compliance:
    • No Static Style Assignments (obsidianmd/no-static-styles-assignment):
      • Replaced all static inline style assignments on exported SVG elements with standard SVG presentation attributes (fill, stroke, stroke-width, stroke-dasharray).
      • Added .merlay-color-probe utility class to styles.css to read computed theme variables without inline style mutations.
      • Used dynamic variable bindings for root SVG dimensions and export background colors.
    • Safe SVG Parsing (@microsoft/sdl/no-inner-html):
      • Removed unsafe div.innerHTML fallback in parseSvgString(), relying entirely on standard DOMParser with image/svg+xml and text/html.
      • Removed exportDiagram.ts from compliance allowlist; zero innerHTML exceptions remain in the codebase.
    • ESLint Comments (eslint-comments/require-description):
      • Eliminated undescribed eslint-disable directive comments; refactored showNotice() to resolve runtime Obsidian module safely across headless and plugin environments.
  • Static Compliance Test Suite:
    • Upgraded tests/obsidianCompliance.test.ts to statically test for forbidden static style assignments, undescribed directive comments, and unverified innerHTML usage on every build.

Install

BRAT (beta): add https://github.com/dev-hashemi/merlay in BRAT → Add Beta plugin.

Manual: download main.js, manifest.json, styles.css below into .obsidian/plugins/merlay/, then enable Merlay under Settings → Community plugins.

Requires Obsidian 1.4.0 or newer. Desktop and mobile supported.

Notes

  • Flowchart and state diagrams are fully visual; other diagram types open view-only with selection.
  • Please report issues at https://github.com/dev-hashemi/merlay/issues — include Obsidian version, installer version, and a minimal mermaid block that reproduces the problem.

Full Changelog: 0.3.1...0.3.2