[0.3.0] - 2026-01-07
Added
-
Beta Tool Types (
types::beta::tools)ToolSearchBm25- BM25-based search tool with configurable parametersToolSearchRegex- Regex-based search tool with match limit and context linesComputerUse20251124- Updated computer use tool with zoom capabilityWebFetch- Web fetching tool for retrieving URL contentMcpToolset- MCP toolset integration with server configurationMemory- Memory management tool for persistent contextAllowedCallerenum - Direct vs CodeExecution caller contextsMcpToolConfigandMcpToolDefaultConfigfor MCP tool configuration
-
Content Block Types (
types::content)ServerToolUse- Server-side tool use blocksToolReference- Tool reference blocks with ref_id supportToolSearchToolResult- Search tool result blocks with error handlingMcpToolUse- MCP tool invocation blocksMcpToolResult- MCP tool result blocks with multi-content supportToolCallerenum for tracking tool invocation sourceToolSearchErrorCodeenum for categorizing search errors
-
MCP Server Configuration (
types::beta::mcp_config)McpServerToolConfiguration- Per-server tool allowlistingMcpServerUrlDefinition- MCP server via URL endpointMcpToolUseBlock,McpToolResultBlock,McpToolResultContenttypes
-
Output Configuration (
types::beta::output_config)OutputEffortenum (Low, Medium, High) for response effort levelsOutputConfigstruct with builder methods for response configuration
-
Compaction Control (
types::beta::compaction)CompactionControlfor automatic conversation summarizationCompactionSummaryfor tracking compaction resultsCompactionResultenum for operation status- Configurable threshold, target tokens, and preserved message count
-
Agent SDK Parity (
turboclaudeagent)ToolsOptionenum - Preset vs explicit tool listsToolsPresetenum - AllTools, AllDefaultTools, None presetsSessionConfigfields: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
ToolChoicenow derivesDefaultwithAutoas the default variantCacheTTLnow derivesDefaultwithFiveMinutesas the default variantCompactionControlnow derivesDefault(disabled by default)- Improved code quality across workspace (all clippy lints resolved)
Fixed
- Fixed
map_or(false, ...)patterns replaced withis_some_and(...) - Fixed manual string prefix stripping to use
strip_prefix() - Fixed collapsible
ifstatements using let-chains - Fixed
len() > 0comparisons to useis_empty() - Fixed redundant pattern matching (
while let Some(_)→.is_some()) - Fixed field assignment after
Default::default()to struct initialization - Fixed
assert_eq!(x, true)toassert!(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-featuresfor schema-dependent examples - Added
#[allow(deprecated)]for backward compatibility tests
Full Changelog: v0.2.0...v0.3.0