Skip to content

v0.1.4

Choose a tag to compare

@MrRefactoring MrRefactoring released this 13 Apr 21:02

[0.1.4] - 2026-04-13

Changed

  • Dependencies updated to latest versions: dirs 5 → 6, dialoguer 0.11 → 0.12, console 0.15 → 0.16
  • rust-version set to 1.94 in Cargo.toml; MSRV in clippy.toml updated to match
  • Code modernised for Rust 1.94: nested if let chains collapsed using stabilised let_chains; manual_strip and if_same_then_else lints resolved in vault.rs

[0.1.3] - 2026-04-13

Added

  • install subcommand — interactive wizard and direct CLI to write MCP config into AI client config files
    • Clients: Claude Desktop, Claude Code (local .mcp.json + global ~/.claude.json), Cursor (local .cursor/mcp.json + global ~/.cursor/mcp.json), OpenClaw
    • --global flag selects global config for claude-code and cursor (local is default)
    • --dry-run, --force flags; auto-backup before any write (.json.bak)
    • Cross-platform config path resolution (macOS / Windows / Linux)
  • uninstall subcommand — interactive or direct removal of MCP config entry
  • list subcommand — show installation status across all detected AI clients
  • logs subcommand — print log file path, last 100 log entries, and a GitHub issue link for bug reports
  • --no-edit flag — starts the server in read-only mode; all write tools (create-note, edit-note, delete-note, move-note, create-directory, add-tags, remove-tags, rename-tag) return an error immediately
  • --verbose / -v flag — enables DEBUG-level logging to stderr without needing RUST_LOG
  • --log-file <FILE> flag — override the automatic log file path; pass - to disable file logging entirely
  • Automatic DEBUG log file written on every server start:
    • macOS: ~/Library/Logs/obsidian-mcp-rs/obsidian-mcp-rs.log
    • Linux: ~/.local/share/obsidian-mcp-rs/obsidian-mcp-rs.log
    • Windows: %LOCALAPPDATA%\obsidian-mcp-rs\obsidian-mcp-rs.log
  • Structured startup log: version, PID, no_edit state, and each vault path logged at INFO on start
  • tracing::debug! on every MCP tool invocation with key parameters; tracing::error! on every tool failure
  • scripts/prepare-release.sh — automates version bump across all 9 package files and updates CHANGELOG.md
  • codecov.yml — Codecov flag configuration for separate Rust and TypeScript coverage reporting
  • Code coverage badge in README (Codecov)
  • platform.ts — platform detection logic extracted from bin.ts into a separate, testable module with named exports
  • platform.test.ts — 16 vitest unit tests covering detectPlatform, detectMusl, and resolveBinaryPath
  • vitest.config.ts — vitest configuration with @vitest/coverage-v8 lcov reporter
  • Russian README (README.ru.md) with language switcher on both README files

Changed

  • README: added Quick setup section near the top with wizard and direct install examples
  • README: added Troubleshooting section with log file locations, --verbose, --log-file usage, and bug-report instructions
  • README: added language switcher (English | Русский) below the header
  • CI: workflow branch target changed from main to master; all action versions updated to latest
  • CI: added coverage job — cargo llvm-cov --lcov for Rust and vitest --coverage for TypeScript, both uploaded to Codecov with separate flags
  • bin.ts refactored into a thin launcher (spawnSync); all detection logic moved to platform.ts
  • tsconfig.json: test and config files excluded from the build output

Fixed

  • CI was not running on master branch (was targeting non-existent main)
  • bin.ts platform logic was untestable due to inline require() calls; fixed by moving to static imports in platform.ts

Full Changelog: v0.1.2...v0.1.4