Skip to content

v0.5.0

Choose a tag to compare

@guess guess released this 10 Feb 07:18
· 419 commits to main since this release

Removed

  • :permission_handler option - Removed unimplemented option from session schema

Added

  • Persistent streaming mode - Sessions use bidirectional stdin/stdout communication
    • Auto-connect on first query, auto-disconnect on session stop
    • Multi-turn conversations without subprocess restarts
    • New :resume option in start_link/1 for resuming sessions
    • New ClaudeCode.get_session_id/1 and ClaudeCode.Input module
  • Extended thinking support - ClaudeCode.Content.Thinking for reasoning blocks
    • Stream utilities: ClaudeCode.Stream.thinking_content/1, ClaudeCode.Stream.thinking_deltas/1
    • StreamEvent helpers: thinking_delta?/1, get_thinking/1
  • MCP servers map option - :mcp_servers accepts inline server configurations
    • Supports stdio, sse, and http transport types
  • Character-level streaming - include_partial_messages: true option
    • Stream utilities: ClaudeCode.Stream.text_deltas/1, ClaudeCode.Stream.content_deltas/1
    • Enables real-time streaming for LiveView applications
  • Tool callback - :tool_callback option for logging/auditing tool usage
    • ClaudeCode.ToolCallback module for correlating tool use and results
  • Hermes MCP integration - Expose Elixir tools to Claude via MCP
    • Optional dependency: {:hermes_mcp, "~> 0.14", optional: true}
    • ClaudeCode.MCP.Config for generating MCP configuration
    • ClaudeCode.MCP.Server for starting Hermes MCP servers

Changed

  • Minimum Elixir version raised to 1.18
  • ClaudeCode.Stream.filter_type/2 now supports :stream_event and :text_delta