Skip to content

harness-sdk

v1.17.0 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agentic agentic-ai agents ai anthropic autonomous-agents
+13 more
bedrock genai litellm llama llm machine-learning mcp multi-agent-systems ollama openai opentelemetry python strands-agents

Summary

AI summary

Updates All changes, Bug Fixes, and https://github.com/strands-agents/sdk-python/pull/1184 across a mixed release.

Full changelog

Strands Agents SDK v1.17.0 Release Notes

Features

Configurable Timeout for MCP Agent Tools - PR#1184

You can now set custom timeout values when creating MCP (Model Context Protocol) agent tools, providing better control over tool execution time limits and improving reliability when working with external MCP servers.

from datetime import timedelta
from strands.tools.mcp import MCPAgentTool

# Create MCP tool with custom 30-second timeout
mcp_tool = MCPAgentTool(
    ...,
    timeout=timedelta(seconds=30)
)

agent = Agent(tools=[mcp_tool])

This feature is especially useful when working with MCP servers that may have varying response times, allowing you to fine-tune timeout behavior for different use cases.


Bug Fixes

  • Swarm Handoff Timing - PR#1147
    Fixed swarm handoff behavior to only switch to the handoff node after the current node completes execution. Previously, the switch occurred mid-execution, causing incorrect event emissions and invalid swarm state when tools were interrupted concurrently with handoff tools.

  • LiteLLM Stream Parameter Validation - PR#1183
    Added validation for the stream parameter in LiteLLM to prevent TypeError when stream=False is provided. The SDK now properly handles both streaming and non-streaming responses with clear error messaging.

  • Optional MetadataEvent Fields - PR#1187
    Fixed handling of MetadataEvents when custom model implementations omit optional usage or metrics fields. The SDK now provides sensible defaults, preventing KeyError exceptions and enabling greater flexibility for custom model providers.

  • A2A Protocol File Data Decoding - PR#1195
    Fixed A2A (Agent-to-Agent) executor to properly base64 decode file bytes from A2A messages before passing to Strands agents. Previously, agents were receiving base64-encoded strings instead of actual binary file content.


All changes

  • feat: allow setting a timeout when creating MCPAgentTool by @AnirudhKonduru in https://github.com/strands-agents/sdk-python/pull/1184
  • fix(litellm): add validation for stream parameter in LiteLLM by @dbschmigelski in https://github.com/strands-agents/sdk-python/pull/1183
  • fix(event_loop): handle MetadataEvents without optional usage and metrics by @dbschmigelski in https://github.com/strands-agents/sdk-python/pull/1187
  • swarm - switch to handoff node only after current node stops by @pgrayy in https://github.com/strands-agents/sdk-python/pull/1147
  • fix(a2a): base64 decode byte data before placing in ContentBlocks by @dbschmigelski in https://github.com/strands-agents/sdk-python/pull/1195

New Contributors

  • @AnirudhKonduru made their first contribution in https://github.com/strands-agents/sdk-python/pull/1184

Full Changelog: https://github.com/strands-agents/sdk-python/compare/v1.16.0...v1.17.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track harness-sdk

Get notified when new releases ship.

Sign up free

About harness-sdk

A model-driven approach to building AI agents in just a few lines of code.

All releases →

Related context

Beta — feedback welcome: [email protected]