Skip to content

Releases: MnemosyneLab/Markmaid

MarkMaid v0.1.9

Choose a tag to compare

@Weichen-LF Weichen-LF released this 14 Aug 09:31
090d097

MarkMaid v0.1.9 release candidate

MarkMaid v0.1.9 is a release candidate for the reading-continuity and
localization release. It adds
Favorites, app-local bookmarks/highlights/notes, persisted visit and closed-tab
history, and English / Simplified Chinese UI. It does not add search, editing,
or Workspace Switcher.

Highlights

  • Pin ready Markdown and standalone Mermaid documents as Favorites. They appear
    in Quick Open after open tabs and before workspace/recents, and can be opened
    from a Favorites-only Quick Open scope.
  • Add bookmarks, Find-based highlights, and short notes without writing Markdown
    source. Annotations live in markmaid-annotations.json with per-document and
    global caps.
  • Restore bounded document visit history and closed-tab history after relaunch.
    Reopen Closed Tab peeks first and consumes the entry only after a ready
    preview.
  • Switch the UI between English, Simplified Chinese, or the macOS preferred
    languages. Traditional Chinese does not convert automatically. Locale changes
    keep the current preview DOM attached.
  • Session restore uses version 2. v0.1.8 sessions migrate in place. A newer
    unsupported session version is opened read-only so it is not overwritten.

Compatibility and non-goals

MarkMaid remains preview-first and read-only. Annotations never enter Markdown,
HTML comments, front matter, HTML/PDF export, or diagnostics. Favorites accept
only ready Markdown and standalone Mermaid files.

This release does not add Workspace Switcher, full-text search, backlinks,
editing, continuous filesystem watching, extra locales, Developer ID signing, or
notarization.

Installation

When v0.1.9 is published, it will be distributed for Apple Silicon Macs. The
DMG and app ZIP will be attached to the GitHub Release after the release gates
are signed off.

Current builds use an ad-hoc signature rather than Developer ID signing and
notarization. After copying MarkMaid to /Applications, clear the quarantine
attribute if macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

See the complete change list in the v0.1.9 changelog after publication.

MarkMaid v0.1.8

Choose a tag to compare

@Weichen-LF Weichen-LF released this 13 Aug 07:31
1a2059a

MarkMaid v0.1.8

MarkMaid v0.1.8 is an engineering-foundation release for the read-only local
document workspace. It adds no new reading workflow. It hardens the typed
frontend ↔ Rust command contract, session restore, and shell structure that
v0.1.9's persisted reading metadata and localization work will use.

Highlights

  • A single Specta registry generates the TypeScript contract for all 25 Rust
    commands and all 26 frontend call sites, with committed output and a
    deterministic ipc:check drift gate.
  • Frontend native calls use the generated command catalog and shared typed
    result handling. Raw invoke remains only in generated output.
  • Session-v1 restore now runs through a pure migration and normalization
    pipeline with fixture-driven coverage. Invalid values fall back to defaults.
    Store-open and Store-write failures show one privacy-safe notice and disable
    persistence for that launch without overwriting an unreadable file.
  • Quick Open, Command Palette, workspace tree, Find, Settings/status, export,
    sidebar, external-open, and tab interaction views are isolated from the
    composition root.

Compatibility and non-goals

The persisted session schema remains exactly version 1. Focus Mode, closed-tab
history, and document visit history stay runtime-only. Existing v0.1.7 sessions
restore normally.

MarkMaid remains preview-first and read-only. This release does not add
Favorites, bookmarks, highlights, notes, persisted reading history, UI
localization, Workspace Switcher, full-text search, editing, continuous
filesystem watching, Developer ID signing, or notarization.

Installation

MarkMaid is currently distributed for Apple Silicon Macs. Download either the
DMG or app ZIP from the GitHub Release.

Current builds use an ad-hoc signature rather than Developer ID signing and
notarization. After copying MarkMaid to /Applications, clear the quarantine
attribute if macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

See the complete change list in the
v0.1.8 changelog.

MarkMaid v0.1.7

Choose a tag to compare

@Weichen-LF Weichen-LF released this 11 Aug 12:21
05e0852

MarkMaid v0.1.7

MarkMaid v0.1.7 is a command-and-reading-workflow release for the read-only
local document workspace. It makes existing actions faster to reach, adds a
reversible distraction-free layout, improves recovery from common failures,
and safely hands Markdown or Mermaid files to another macOS application.

Highlights

  • Open the Command Palette with ⇧⌘P to run file, export, appearance, tab,
    sidebar, Focus Mode, external handoff, Settings, and diagnostics commands.
    ⌘P remains dedicated to Quick Open and never mixes files with commands.
  • Toggle Focus Mode with ⇧⌘F. It hides navigation chrome without changing or
    persisting normal sidebar or outline preferences, and toggles
    without rerendering the active document.
  • Open tabs now use one resizable left rail. The retired top tab-strip setting
    is ignored when restoring older sessions and is no longer persisted.
  • Recover directly from empty workspaces, preview failures, unavailable roots,
    Quick Open index failures, export errors, and external-app failures with
    relevant Retry, Reveal, Remove Root, Choose Another, or Copy Details actions.
    Remove Root confirms that files and open tabs remain, Reveal is capability
    checked, and truncated Quick Open results can be explicitly acknowledged.
  • Open ready Markdown and Mermaid files in a preferred macOS application from a
    titlebar split button, the Command Palette, or a tab context menu. The chooser
    includes System Default, Finder, discovered file handlers, and explicitly
    supported terminals.
  • Generate deterministic scale fixtures and record local frontend/native
    baselines for large Markdown, large/deep workspaces, many tabs, multiple
    Mermaid diagrams, and a synthetic scale command catalog using the production
    command filter.

Privacy and safety

  • External handoff accepts only a native opaque target ID discovered for the
    active supported file. MarkMaid resolves the application again at execution
    time and never accepts an executable path, command template, CLI flag, or
    shell string from the frontend.
  • Symlinks, unsupported files, missing applications, MarkMaid itself, duplicate
    handlers, and unallowlisted terminal adapters are rejected or omitted.
  • External discovery uses delayed feedback and a bounded recoverable timeout.
    File identity is revalidated immediately before native handoff; because
    NSWorkspace is pathname-based, this is launch-time hardening rather than a
    file-descriptor binding guarantee.
  • The session stores at most one validated opaque preferred-target ID. It never
    stores application/bundle paths, icons, installed-app inventory, launch
    errors, Focus Mode, Command Palette state, or copied issue details.
  • Copy Details uses a fixed allowlist of app version, area, normalized code,
    normalized state, and recoverability. It excludes paths, filenames, document
    contents, raw messages, and application inventory.
  • Performance fixtures and reports remain ignored local artifacts. There is no
    telemetry, automatic upload, analytics, or wall-clock CI threshold.

Compatibility and non-goals

MarkMaid remains preview-first and read-only. This release does not add editing,
continuous filesystem watching, full-text workspace search, Favorites,
Workspace Switcher, image-editor handoff, telemetry, or cross-platform support.
Existing v0.1.6 sessions restore normally; invalid external target IDs are
discarded, and Focus Mode always starts off after restart.

Installation

MarkMaid is currently distributed for Apple Silicon Macs. Download either the
DMG or app ZIP from the GitHub Release.

Current builds use an ad-hoc signature rather than Developer ID signing and
notarization. After copying MarkMaid to /Applications, clear the quarantine
attribute if macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

See the complete change list in the
v0.1.7 changelog.

MarkMaid v0.1.6

Choose a tag to compare

@Weichen-LF Weichen-LF released this 10 Aug 05:27
cb234f4

MarkMaid v0.1.6

MarkMaid v0.1.6 is a workspace-polish and maintainability release for the
read-only local document workspace. It makes pinned folders easier to organize,
adds privacy-safe support information, reduces wasted background work, and
improves keyboard and assistive-technology behavior throughout the app.

Highlights

  • Reorder pinned workspace folders with a dedicated drag handle or the root
    context menu's Move Up / Move Down actions. The order survives restart and is
    used only as a final Quick Open tie-breaker between equally ranked workspace
    results.
  • Copy a deterministic diagnostic report from Settings. It includes app/runtime
    details and bounded state counts, but excludes document contents, rendered
    HTML/SVG, filenames, full paths, recent entries, queries, clipboard contents,
    and raw backend errors.
  • Cooperatively cancel superseded preview loads and reloads, Mermaid theme
    rerenders, workspace child listing, and Quick Open indexing while retaining
    generation checks that prevent stale results from changing the UI.
  • Navigate the Files tree, tab lists, context menus, dialogs, Quick Open, export,
    viewers, and the sidebar resize separator with standard keyboard and focus
    behavior. Root and tab reordering retain non-drag alternatives and audible
    position announcements.
  • Split preview, workspace, navigation, overlay, export, persistence, and runtime
    behavior into explicit tested controllers without changing the persisted
    session-v1 format or adopting a frontend framework.

Privacy, cancellation, and compatibility

  • Diagnostics are generated only when Copy Diagnostics is pressed and are copied
    locally. MarkMaid has no telemetry, analytics, crash upload, or automatic
    diagnostic transmission.
  • Diagnostic errors retain only a bounded operation identifier and a strict
    normalized error code. Arbitrary error prose is reported as unknown rather
    than being transformed into a token that could retain private path segments.
  • Cancellation is cooperative and best-effort, not hard thread interruption. A
    Markdown or Mermaid render already inside one non-interruptible library call
    may finish internally, but its result is discarded when it is stale or
    cancelled.
  • Pinned-folder reorder changes app state only. It does not reorder files on
    disk, clear child caches, close tabs, or migrate the persisted session schema.
  • MarkMaid remains preview-first and read-only. This release does not add
    editing, continuous filesystem watching, full-text search, telemetry, or
    cross-platform support.

Installation

MarkMaid is currently distributed for Apple Silicon Macs. Download either the
DMG or app ZIP from the GitHub Release.

Current builds use an ad-hoc signature rather than Developer ID signing and
notarization. After copying MarkMaid to /Applications, clear the quarantine
attribute if macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

See the complete change list in the
v0.1.6 changelog.

MarkMaid v0.1.5

Choose a tag to compare

@Weichen-LF Weichen-LF released this 08 Aug 08:48
d89e22e

MarkMaid v0.1.5

MarkMaid v0.1.5 is a reliability and safety release for the read-only local
document workspace. It makes preview opening consistent across the app, keeps
background work from disrupting the active document, and bounds expensive file
and workspace operations.

Highlights

  • Open Markdown, standalone Mermaid, and common image files through the Open
    dialog, drag and drop, Finder, forwarded app instances, Markdown links, or the
    Files sidebar.
  • Navigate one global Back / Forward history across tabs, relative links,
    anchors, restored sessions, and reopened documents.
  • Keep background loads and reloads from stealing the active tab, while safely
    ignoring stale results after retries or tab closure.
  • Re-render every open standalone Mermaid preview when its theme changes,
    including files outside pinned folders.
  • Keep large workspaces responsive with bounded directory visibility scans and
    Quick Open indexing. Truncated and unavailable roots are reported separately.
  • Harden native PDF printing with a page-load watchdog, bounded print-panel
    interaction, one-shot cleanup, and a dedicated minimal Tauri capability.

Safety and limits

  • Markdown and standalone Mermaid previews are limited to 16 MiB per file.
  • Direct image previews are limited to 100 MiB per file.
  • Hidden entries, symlinks, and common generated directories such as .git,
    node_modules, dist, build, target, .venv, and Pods are excluded
    from workspace traversal and Quick Open indexing.
  • Local image access is limited to explicitly opened images, a document's
    directory subtree, or the shared pinned workspace root containing the
    document. Grants last for the current app session.
  • Quick Open continues to index file names and paths for Markdown files only;
    it does not search document contents, Mermaid files, or images.

Installation

MarkMaid is currently distributed for Apple Silicon Macs. Download either the
DMG or app ZIP from the GitHub Release.

Current builds use an ad-hoc signature rather than Developer ID notarization.
After copying MarkMaid to /Applications, clear the quarantine attribute if
macOS blocks the app:

xattr -cr /Applications/MarkMaid.app

MarkMaid remains preview-first and read-only. This release does not add a
Markdown editor or continuous filesystem watching.

See the complete change list in the
v0.1.5 changelog.

MarkMaid v0.1.4

Choose a tag to compare

@Weichen-LF Weichen-LF released this 05 Aug 08:00
5e7ab75

Highlights

MarkMaid 0.1.4 adds export, offline math, and Chrome-style navigation around open documents: save a Markdown preview as HTML or PDF, render KaTeX formulas without a network, step Back / Forward through in-document links, and reopen recently closed tabs.

Document export (⌘E)

  • Open File → Export Document… on a ready Markdown tab
  • Choose HTML or PDF, plus page size (A4 / A5), orientation (portrait / landscape), and margins (Normal 20 mm / Compact 10 mm / Wide 30 mm)
  • HTML writes a standalone file with embedded styles, KaTeX CSS, and inlined local images
  • PDF uses the native print path with @page layout from the chosen page setup
  • Failures surface in the status bar; Esc cancels the modal, and the dialog traps Tab focus while open

Offline KaTeX math

  • Render inline $...$ and block $$...$$ with bundled KaTeX (no CDN)
  • Skip code fences, inline code, and currency-like $ amounts so ordinary text is left alone
  • Invalid TeX falls back safely without breaking the rest of the preview
  • See docs/examples/math-and-formulas.md for a sample document

Document Back / Forward (⌘[ / ⌘])

  • Toolbar Back and Forward buttons on ready document tabs
  • History tracks path, scroll position, and optional fragment (capped at 50 entries, not persisted across sessions)
  • Used when following in-document anchors and relative Markdown links between files

Reopen Closed Tab (⇧⌘T)

  • File → Reopen Closed Tab restores recently closed preview tabs (not the Settings tab)
  • Keeps kind, path, scroll, and tab order in an in-memory stack of up to 20 entries
  • Menu item is enabled only when history is non-empty; history is cleared when the app quits

Appearance and Files tree

  • High Contrast black-and-white palette variants in Settings (also reflected in the status bar theme label)
  • Hide empty directories in the Files tree when they have no visible Markdown, Mermaid, or image children

Shortcuts added in this release

Shortcut Action
⌘E Export Document…
⇧⌘T Reopen Closed Tab
⌘[ / ⌘] Back / Forward

Install note

Current builds are ad-hoc signed. After installing to /Applications:

xattr -cr /Applications/MarkMaid.app

Full Changelog

v0.1.3...v0.1.4

MarkMaid v0.1.3

Choose a tag to compare

@Weichen-LF Weichen-LF released this 04 Aug 07:43
0e9ed43

MarkMaid 0.1.3 turns the app into a preview-first local workspace: pin folders, browse Markdown / Mermaid / images, and keep useful status at the bottom of the window.

Highlights

  • Workspace sidebar — pin folders, browse a lazy Files tree, switch to Open Tabs
  • In-folder file ops — create empty Markdown or folders, rename, Trash, Reveal in Finder (pinned roots only)
  • More preview tabs — open standalone .mmd and image files from the tree
  • Status bar — preview stats, size, modified time, theme; Reload / Ignore for external changes
  • Quick Open (⌘P) — also searches Markdown under pinned folders (name/path only; refreshes each open)

Added

  • Workspace sidebar with pinned folders, a lazy Files tree, and an Open Tabs view
  • In-folder file management for pinned roots: create empty Markdown or folders, rename, move to Trash, and Reveal in Finder
  • Standalone Mermaid (.mmd) and image preview tabs opened from the Files tree
  • Persistent bottom status bar with preview stats, file size, modified time, theme, and Reload / Ignore for external document changes
  • Quick Open (⌘P) recursive search over Markdown under pinned folders (path and file-name match only; refreshes on each open)
  • docs/examples sample set for Markdown, GFM/code, Mermaid fences, standalone .mmd, and local images
  • Extended syntax highlighting coverage via two-face language packs

Changed

  • Default sidebar switch order is Open Tabs → Files, with Open Tabs as the default view
  • Markdown-embedded images use the Mermaid-style framed preview and fullscreen zoom / pan viewer
  • Restore ordered and unordered list markers in Markdown preview
  • Surface external-change and reload-failure alerts in the status bar instead of an in-document banner

Fixed

  • Preserve previous Markdown preview when reload fails, with a clear status-bar failure notice
  • Ignore stale Quick Open workspace index responses after folder mutations or closing the overlay

Install (Apple Silicon)

  1. Download MarkMaid_0.1.3_aarch64.dmg or MarkMaid_0.1.3_aarch64.app.zip
  2. Copy MarkMaid to /Applications
  3. Clear the quarantine flag (releases are ad-hoc signed, not Developer ID / notarized):
xattr -cr /Applications/MarkMaid.app

Verify checksums with SHA256SUMS if desired.

Full Changelog: v0.1.2...v0.1.3

MarkMaid v0.1.2

Choose a tag to compare

@Weichen-LF Weichen-LF released this 03 Aug 10:01
50aa48c

Highlights

MarkMaid 0.1.2 improves everyday reading workflows: find text from the Markdown source, jump between open and recent documents with Quick Open, and notice when a file changed on disk without turning on continuous file watching.

Find in Document (⌘F)

  • Open a find bar on the active ready document with match count (N of M / No results), previous/next buttons, and close
  • Search the Markdown source (case-insensitive), then map hits onto rendered blocks using source-position metadata
  • Navigate with Enter / Shift+Enter from the find input; Esc closes the bar
  • Highlight matches inside syntax-highlighted and deferred/collapsed code blocks; navigating to a hidden match expands enough of the block to show it
  • Skip misleading highlights when formatting makes rendered text diverge from the source match set in a block

Quick Open (⌘P)

  • Switch among open tabs (including Settings) and recent documents that are not already open
  • Filter with whitespace-separated terms that must all match the label or path
  • Use ↑ / ↓ to move, Enter to open, and Esc to close; opening Find and Quick Open closes the other

External change alerts

  • On window focus and tab activation, probe the active file’s modification time and size
  • Show a banner when the file changed on disk or became unavailable, while keeping the previous preview
  • Choose Reload or Ignore; Ignore remembers that revision until a newer change appears
  • Continuous filesystem watching remains intentionally deferred

Tab and Open Recent labels

  • When multiple documents share the same file name, tabs and File → Open Recent show the shortest useful parent path (for example README.md — docs)

Install note

Current builds are ad-hoc signed. After installing to /Applications:

xattr -cr /Applications/MarkMaid.app

Full Changelog

v0.1.1...v0.1.2

MarkMaid v0.1.1

Choose a tag to compare

@Weichen-LF Weichen-LF released this 01 Aug 09:23
3752228

Highlights

MarkMaid 0.1.1 turns the MVP reader into a more polished everyday Markdown viewer: native Mermaid diagrams, richer code blocks, outline navigation, themes and typography controls, and more flexible tab chrome.

Native Mermaid preview

  • Render Mermaid fenced code blocks to SVG with the native Rust Merman renderer while the document loads
  • Choose configurable light and dark Mermaid themes from Settings
  • Open diagrams in a fullscreen viewer with zoom and pan
  • Keep malformed diagrams as local inline errors without failing the whole document

Code blocks

  • Syntax-highlight supported fenced languages
  • Copy or download code from a block
  • Expand large blocks progressively instead of rendering every line up front

Navigation and Find

  • Browse the document outline to jump between headings
  • Search inside the current document with source-aware matching against the rendered preview

Appearance and reading preferences

  • Pick among multiple color palettes in addition to system, light, and dark appearance
  • Configure text font, code font, and reading width
  • Place tabs on the top or left, with a resizable left rail when using the left layout

Tabs and session behavior

  • Reorder document tabs by dragging in both top and left layouts
  • Use tab context actions such as close, copy file name/path, and Reveal in Finder
  • Restore sessions by loading the active document first and deferring background tabs until selected
  • Preserve scroll positions and window state across launches

Fixes

  • After closing the active restored tab, load the adjacent document instead of leaving an empty selection
  • Keep tab reordering compatible with native file drag and drop without breaking normal tab selection

Install note

Current builds are ad-hoc signed. After installing to /Applications:

xattr -cr /Applications/MarkMaid.app

Full Changelog

v0.1.0...v0.1.1

MarkMaid v0.1.0

Choose a tag to compare

@Weichen-LF Weichen-LF released this 30 Jul 09:35
9893865

MarkMaid v0.1.0

First release of MarkMaid, a focused read-only Markdown reader for macOS Apple Silicon.

Install

  1. Download MarkMaid_0.1.0_aarch64.dmg or MarkMaid_0.1.0_aarch64.app.zip.
  2. Copy MarkMaid.app to /Applications.
  3. Clear the quarantine flag (required for these ad-hoc signed builds):
xattr -cr /Applications/MarkMaid.app

If you run the app from a DMG or extracted ZIP without copying it first, run the same command against that .app path instead.

Notes

  • Apple Silicon (aarch64) only
  • Ad-hoc signed; Developer ID and notarization are not configured yet
  • See CHANGELOG.md for the full MVP feature list

Checksums

Verify downloads with SHA256SUMS from this release.