Merlay 0.3.2
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-probeutility class tostyles.cssto read computed theme variables without inline style mutations. - Used dynamic variable bindings for root SVG dimensions and export background colors.
- Replaced all static inline style assignments on exported SVG elements with standard SVG presentation attributes (
- Safe SVG Parsing (
@microsoft/sdl/no-inner-html):- Removed unsafe
div.innerHTMLfallback inparseSvgString(), relying entirely on standardDOMParserwithimage/svg+xmlandtext/html. - Removed
exportDiagram.tsfrom compliance allowlist; zeroinnerHTMLexceptions remain in the codebase.
- Removed unsafe
- ESLint Comments (
eslint-comments/require-description):- Eliminated undescribed
eslint-disabledirective comments; refactoredshowNotice()to resolve runtime Obsidian module safely across headless and plugin environments.
- Eliminated undescribed
- No Static Style Assignments (
- Static Compliance Test Suite:
- Upgraded
tests/obsidianCompliance.test.tsto statically test for forbidden static style assignments, undescribed directive comments, and unverifiedinnerHTMLusage on every build.
- Upgraded
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
mermaidblock that reproduces the problem.
Full Changelog: 0.3.1...0.3.2