Skip to content

v0.7.0

Choose a tag to compare

@azmaveth azmaveth released this 12 Feb 01:28
· 171 commits to master since this release

v0.7.0 - 2025-02-11

Highlights

  • MCP Protocol Version 2025-11-25 Support — Latest protocol version with full spec compliance
  • Streamable HTTP Spec Compliance — Client and server fully comply with MCP Streamable HTTP spec (session IDs, SSE path, protocol version headers)
  • TypeScript SDK Interop — Verified interoperability with the official TypeScript MCP SDK
  • Client State Machine — Refactored client using GenStateMachine for better observability and reconnection
  • Agent Simulation Tests — Integration tests with MockLLM for agent workflows
  • Conformance Suites — Automated conformance tests for all 4 protocol versions

Added

  • MCP protocol version 2025-11-25 support
  • Streamable HTTP spec compliance for client and server
  • TypeScript MCP SDK interop tests
  • Agent simulation integration tests with MockLLM
  • mix mcp.sync_spec task for automated spec syncing
  • Conformance test suites for all protocol versions
  • Client state machine adapter with telemetry and exponential backoff
  • Structured error types with ExMCP.Error
  • Comprehensive telemetry instrumentation
  • Bidirectional server-to-client communication

Changed

  • BREAKING: Refactored ExMCP.Server internals into focused components (public API unchanged)
  • Replaced deprecated preferred_cli_env with cli/0 callback

Fixed

  • DSL type narrowing warnings (closes #3)
  • Test isolation issues in session and property tests
  • ETF deserialization security in BEAM transport
  • Flaky test race conditions
  • Atom exhaustion prevention via safe string key usage

Removed

  • 45 stale planning/internal docs and 5 stale subdirectories (closes #4)
  • Non-existent files from hex package file list

Install

{:ex_mcp, "~> 0.7.0"}

Full changelog: https://github.com/azmaveth/ex_mcp/blob/master/CHANGELOG.md