Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 04:35
fb9453d

mdeasy 0.3.0

Breaking changes

  • Export HTML → Export PDF: menu "Export HTML…" replaced by "Export PDF…" (⌘E). Uses native WKWebView.createPDF — preserves current theme/CSS/Mermaid, paginated output. No more JS-side HTML re-assembly.

New

  • Single-file reader semantics: when multiple files are opened together (Finder multi-select, open *.md), only the last one renders. No multi-window/tabs — by design.
  • CI headless render self-check (mdeasy --selftest <path.md>): proves the full load→IIFE→bridge→render→doc-shown pipeline on a GUI-less macOS runner. Every push to main is now verified end-to-end, not just compiled.
  • md.js unit tests (13 cases): slugify (ASCII + CJK), image rewrite, mermaid detection, outline extraction, task lists, code highlighting.

Improvements

  • Version number single-sourced from App/Info.plist, injected into the reader bundle at build time — no more hardcoded 0.2.3 drift.
  • Path sandbox unified: PathSandbox.join(base:relative:) shared by both mdeasy-app:// and mdeasy-asset:// handlers.
  • Mermaid/theme config deduped into single mermaidConfig().
  • Hot-refresh preserves scroll position (external editor save no longer jumps to top).
  • openInEditor avoids self-recursion (mdeasy is itself a registered .md handler).
  • FileWatcher re-arm race fixed (all shared state routed through serial queue).
  • Icon alpha gate in CI actually works now (was silently swallowed by || true).
  • Source reader/index.html unified with build output (no more ESM/CSP divergence trap).
  • Fragile smoke-open.sh removed in favor of ci-selftest.sh.

Install (unsigned, self-use)

  1. Open the dmg, drag mdeasy.app to Applications
  2. First launch: System Settings → Privacy & Security → Open Anyway
  3. Set as default: mdeasy → Set as Default Markdown App…
    • Or Finder: select .md → Get Info (⌘I) → Open with mdeasy → Change All…

First open (method B)

  1. Open mdeasy (if blocked, dismiss the alert)
  2. System Settings → Privacy & Security
  3. Find the message that mdeasy was blocked
  4. Click Open Anyway, confirm Open

Then double-click any .md file to read.