Skip to content

turboclaude v0.3.0

Latest

Choose a tag to compare

@nicholasjpaterno nicholasjpaterno released this 08 Jan 03:20

[0.3.0] - 2026-01-07

Added

  • Beta Tool Types (types::beta::tools)

    • ToolSearchBm25 - BM25-based search tool with configurable parameters
    • ToolSearchRegex - Regex-based search tool with match limit and context lines
    • ComputerUse20251124 - Updated computer use tool with zoom capability
    • WebFetch - Web fetching tool for retrieving URL content
    • McpToolset - MCP toolset integration with server configuration
    • Memory - Memory management tool for persistent context
    • AllowedCaller enum - Direct vs CodeExecution caller contexts
    • McpToolConfig and McpToolDefaultConfig for MCP tool configuration
  • Content Block Types (types::content)

    • ServerToolUse - Server-side tool use blocks
    • ToolReference - Tool reference blocks with ref_id support
    • ToolSearchToolResult - Search tool result blocks with error handling
    • McpToolUse - MCP tool invocation blocks
    • McpToolResult - MCP tool result blocks with multi-content support
    • ToolCaller enum for tracking tool invocation source
    • ToolSearchErrorCode enum for categorizing search errors
  • MCP Server Configuration (types::beta::mcp_config)

    • McpServerToolConfiguration - Per-server tool allowlisting
    • McpServerUrlDefinition - MCP server via URL endpoint
    • McpToolUseBlock, McpToolResultBlock, McpToolResultContent types
  • Output Configuration (types::beta::output_config)

    • OutputEffort enum (Low, Medium, High) for response effort levels
    • OutputConfig struct with builder methods for response configuration
  • Compaction Control (types::beta::compaction)

    • CompactionControl for automatic conversation summarization
    • CompactionSummary for tracking compaction results
    • CompactionResult enum for operation status
    • Configurable threshold, target tokens, and preserved message count
  • Agent SDK Parity (turboclaudeagent)

    • ToolsOption enum - Preset vs explicit tool lists
    • ToolsPreset enum - AllTools, AllDefaultTools, None presets
    • SessionConfig fields: tools, output_config, compaction
    • Builder methods: with_tools(), with_output_config(), with_compaction()
  • Type Alias for Retry Operations (turboclaudeagent::retry)

    • RetryOperation<'a, T> type alias for cleaner async operation signatures

Changed

  • ToolChoice now derives Default with Auto as the default variant
  • CacheTTL now derives Default with FiveMinutes as the default variant
  • CompactionControl now derives Default (disabled by default)
  • Improved code quality across workspace (all clippy lints resolved)

Fixed

  • Fixed map_or(false, ...) patterns replaced with is_some_and(...)
  • Fixed manual string prefix stripping to use strip_prefix()
  • Fixed collapsible if statements using let-chains
  • Fixed len() > 0 comparisons to use is_empty()
  • Fixed redundant pattern matching (while let Some(_).is_some())
  • Fixed field assignment after Default::default() to struct initialization
  • Fixed assert_eq!(x, true) to assert!(x)
  • Fixed useless vec![] to array literals where appropriate
  • Fixed unused imports and dead code warnings
  • Fixed benchmark types to use correct MessageParam/ContentBlockParam
  • Added required-features for schema-dependent examples
  • Added #[allow(deprecated)] for backward compatibility tests

Full Changelog: v0.2.0...v0.3.0