Skip to content

v0.6.0

Choose a tag to compare

@mareurs mareurs released this 23 Mar 04:36
· 1593 commits to master since this release
1acd95f

What's New

Features

  • Elicitation-driven interactive sessions — run_command(interactive: true) spawns processes with piped stdin/stdout, driven via MCP elicitation loops
  • Multi-ecosystem library auto-registration — activate_project auto-detects dependencies from Rust, Node, Python, Go, Java/Kotlin
  • activate_project output optimization — slim orientation card with RO/RW-conditional fields
  • Memory sections filter — memory(action="read", sections=["Rust"]) returns only matching heading blocks
  • Security profiles — profile = "root" disables all safety gates for system-admin projects
  • Diagnostic logging — --diagnostic flag writes structured lifecycle events to log files
  • Platform abstraction — Unix/Windows process termination, binary naming, shell commands
  • CORS for dashboard — localhost-scoped CORS layer on HTTP/SSE server
  • Background commands — run_command(run_in_background: true) with @bg_* handles

Server Instructions Refactor

  • 39% token reduction (4300 → 2638 tokens) with zero information loss
  • Removed redundant Iron Law / Anti-Pattern / Rules duplication
  • Added missing @bg_* buffer documentation, scope params, run_in_background/interactive params
  • GitHub tools disabled (use gh via run_command instead)

Security & Bug Fixes

  • Resilient stdin wrapper prevents EAGAIN from killing MCP server
  • LRU eviction inside lock prevents TOCTOU race (H-10)
  • Content-Length cap at 100 MiB prevents OOM (C-3)
  • Worktree path validation rejects relative and null bytes (H-1)
  • HTTP embedding endpoint blocked when API key is set (H-16)
  • Owner/repo param injection validation (H-3, H-4)
  • UTF-8 boundary panic fix (M-3), empty string line count fix (M-2)
  • Canonicalize project paths, lenient param coercion
  • 30+ additional hardening fixes (see commit log)

Dependencies

  • Upgraded to rmcp with elicitation support
  • Added tempfile for background job logs