github zhitongblog/solomd v2.2.1
SoloMD v2.2.1

latest releases: v4.13.0, v4.12.1, v4.12.0...
4 months ago

⚠️ v2.2.1 supersedes v2.2.0 — v2.2.0 was built but never user-published due to a Win11 file-tree crash. This release contains the fix.

✨ The v2.2 line — what's new since v2.0

🔌 MCP server (solomd-mcp)

Bundle-by-default Model Context Protocol server. Point Claude Desktop, Cursor, Codex CLI, etc. at your notes folder, and it gets 8 tools:

  • list_notes, read_note, search, get_backlinks, list_tags, get_outline
  • write_note, append_to_note — gated behind --allow-write (default = read-only)

Path-traversal guard, no network port, single 1.5 MB binary. Configure once in Claude Desktop:

{
  "mcpServers": {
    "solomd": {
      "command": "/path/to/solomd-mcp",
      "args": ["--workspace", "/path/to/notes"]
    }
  }
}

📜 AutoGit version history

Every ⌘S/Ctrl+S creates a snapshot in a local .git inside your workspace. The right-hand History panel lists every commit per file, expand any row for inline diff, click "Restore this version" → working copy + editor buffer revert atomically.

libgit2 vendored (no system git required), runs on a blocking thread pool so the UI never freezes.

🤖 AI rewrite — 14 BYOK providers, ⌘J

Select text → ⌘J → pick rewrite / shorten / expand / translate (en+zh) / explain / custom. Streams inline, accept or reject:

  • US: OpenAI · Anthropic Claude · Google Gemini · xAI Grok · Mistral · Groq
  • CN: DeepSeek · 通义千问 · 智谱 GLM · Moonshot Kimi · 火山豆包 · 硅基流动
  • Aggregator: OpenRouter (one key, 400+ models)
  • Local: Ollama (no key needed)

Keys live in macOS Keychain / Windows Credential Manager / Linux libsecret — never in localStorage, never in any config file. Direct connections to your chosen provider, no SoloMD relay.

🔐 New /security page

Full writeup of every place user data is touched: https://solomd.app/security · https://solomd.app/zh/security

🛠 v2.2.1 hotfix vs v2.2.0

  • Win11 file-tree crash (closes #25): list_dir was a synchronous Tauri command running on the main thread. fs::read_dir + per-entry metadata() can take seconds on Windows (network drives, OneDrive placeholders, antivirus scanning) — long enough that Win11 flags the app unresponsive and kills it. Now async + spawn_blocking, with per-entry metadata failures skipped (handles dangling reparse points) and a 10k-entry hard cap on giant folders.

Same async refactor also un-freezes the file tree on Linux/macOS where the previous sync command would block the UI thread on slow filesystems but not crash the app.

📦 Downloads

  • macOS dmg — added shortly (notarized locally by maintainer)
  • WindowsSoloMD_2.2.1_x64-setup.exe (NSIS) or SoloMD_2.2.1_x64_en-US.msi (MSI)
  • Linux.AppImage (universal), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL); both x86_64 and aarch64

🛤 What's next (v2.3+)

  • Local RAG / semantic search — biggest field-wide gap (Obsidian doesn't have it, Tolaria doesn't either)
  • Tauri WebDriver bridge for the dev MCP test harness (so component-level UI flows can be self-tested)
  • Sync (CRDT) remains the v3 anchor

Full diff: v2.0.0...v2.2.1

Don't miss a new solomd release

NewReleases is sending notifications on new releases.