Skip to content

Releases: strands-agents/sdk-python

v1.4.0

08 Aug 17:38
adac26f
Compare
Choose a tag to compare

What's Changed

  • fix(telemetry): added mcp tracing context propagation by @poshinchen in #569
  • Change max_tokens type to int to match Anthropic API by @vinc3m1 in #588
  • feat: Add additional intructions for contributors to find issues that are ready to be worked on by @mehtarac in #595
  • feat(a2a): configurable request handler by @jer96 in #601
  • chore(a2a): update host per AppSec recommendation by @jer96 in #619
  • fix(event_loop): ensure tool_use content blocks are valid after max_tokens to prevent unrecoverable state by @dbschmigelski in #607
  • fix(structured_output): do not modify conversation_history when prompt is passed by @dbschmigelski in #628

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

04 Aug 17:45
c85464c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.2.0...v1.3.0

v1.2.0

30 Jul 14:36
b13c5c5
Compare
Choose a tag to compare

What's Changed

  • Support for Amazon SageMaker AI endpoints as Model Provider by @dgallitelli in #176
  • fix: Remove leftover print statement from sagemaker model provider by @mehtarac in #553
  • [Feat] Update structured output error message by @Unshure in #563
  • feat(mcp): retain structured content in the AgentTool response by @dbschmigelski in #528
  • feat(mcp): Add list_prompts, get_prompt methods by @Ketansuhaas in #160

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.0

24 Jul 21:09
b30e7e6
Compare
Choose a tag to compare

What's Changed

  • Update to use dedicated github logo by @zastrowm in #505
  • deps(a2a): address interface changes and bump min version by @jer96 in #515
  • ci: expose STRANDS_TEST_API_KEYS_SECRET_NAME to integration tests by @dbschmigelski in #513
  • Don't re-run workflows on un/approvals by @zastrowm in #516
  • Doc fixes: suppressing some typos in various texts by @didier-durand in #487
  • docs: add hot reloading documentation for load_tools_from_directory by @cagataycali in #517
  • ci: enable integ tests for anthropic, cohere, mistral, openai, writer by @dbschmigelski in #510
  • Automatically flatten nested tool collections by @zastrowm in #508
  • feat(a2a): support mounts for containerized deployments by @jer96 in #524
  • fix: include agent trace into tool for agent as tools by @poshinchen in #526

Full Changelog: v1.0.1...v1.1.0

v1.0.1

18 Jul 19:38
2c067b4
Compare
Choose a tag to compare

What's Changed

  • Switch readme to use light logo for better display in github dark mode by @zastrowm in #475
  • build(pyproject): update development status classifier by @awsarron in #480
  • fix: enable parallel execution in graph workflow by @ahmetatalay in #485
  • docs: Update README.md with Writer by @samjulien in #474
  • fix(agent): prevent JSON serialization errors with non-serializable direct tool parameters by @cagataycali in #498
  • fix(telemetry): group traces when using agent as tool in an agent by @poshinchen in #493

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

15 Jul 19:18
19fb01e
Compare
Choose a tag to compare

What's Changed

  • refactor(a2a): configurable host and port and remove excessive logging by @jer96 in #423
  • models - bedrock - remove signaling by @pgrayy in #429
  • feat(multiagent): Graph - support multi-modal inputs by @awsarron in #430
  • deps(a2a): upper bound a2a sdk dep by @jer96 in #432
  • models - ollama - init async client per request by @pgrayy in #433
  • models - mistral - init client on every request by @pgrayy in #434
  • models - ollama - clean up in tests by @pgrayy in #435
  • feat!: add pagination to mcp_client list_tools_sync by @dbschmigelski in #436
  • Session persistence by @Unshure in #302
  • chore: update span names by @poshinchen in #440
  • models - openai - null usage by @pgrayy in #442
  • feat: redact content from a message in a session by @Unshure in #446
  • refactor(a2a): upper bound deps + remove from multiagent submodule by @jer96 in #447
  • Expand additional $refs for structured_output by @zastrowm in #439
  • fix: session manager tracks all agent last message by @Unshure in #455
  • feat: added swarm and graph spans by @poshinchen in #451
  • docstrings - fix formatting by @pgrayy in #456
  • refactor: add kwargs to multiagent interfaces by @mkmeral in #454
  • fix: Fix session manager agent init by @Unshure in #458
  • feat: Store conversation manager in session by @Unshure in #441
  • feat(multiagent): introduce Swarm multi-agent orchestrator by @awsarron in #416
  • multiagent - use invoke_async instead of stream_async by @pgrayy in #463
  • feat: add Swarm tracing by @poshinchen in #461
  • feat(telemetry): Expose OpenTelemetry exporter init arguments in API by @mrtj in #365
  • docs: correct naming in registry.py by @akshseh in #425
  • fix: Plumb system_prompt through to structured_output by @zastrowm in #466
  • Update default model to be Claude 4 Sonnet by @zastrowm in #467
  • feat: Add kwargs to session interfaces for future extensibility by @Unshure in #464
  • fix: Fix various docstring issues by @Unshure in #469
  • fix(multiagent): raise ValueError for unsupported Graph and Swarm agent features by @awsarron in #472
  • refactor(multiagent): Swarm - Remove unnecessary complete_swarm_task tool by @awsarron in #473
  • chore: remove preview from README.md by @yonib05 in #459

New Contributors

Full Changelog: v0.3.0...v1.0.0

v0.3.0

11 Jul 18:57
48bcd5b
Compare
Choose a tag to compare

Breaking Changes

  • Model Providers:

    • OpenAI and LiteLLM model providers no longer accept base64 encoded images. These providers will now handle base64 encoding of image bytes automatically. See issue #252.
    • Model providers now implement asynchronous functions. Custom model providers must be updated accordingly. See PR#306.
    • The API interface for model providers has been simplified to require only a single stream method implementation. See PR#400.
    • Model provider API interfaces have been relocated to the strands.models subpackage for improved organization. See PR#409.
  • Other breaking changes:

    • All classes or protocols requiring subclassing or implementation now include an additional kwargs argument for forward compatibility. See PR#413.
    • The max_parallel_tools parameter has been removed from the Agent class. Tools are now automatically invoked on thread-pools. See PR#391.
    • The load_tools_from_directory parameter of the Agent class now defaults to False meaning. Tools are no longer automatically loaded from the tools directory. To restore the old behavior, explicitly set this parameter to True . See PR#419.
    • The event_loop_cycle function is no longer available as a top-level import from strands, reflecting its internal nature. Direct event loop invocation is not recommended. See PR#415.
    • Automatic removal of dangling tool messages during Agent lifecycle has been discontinued to support future features. See PR#418.
    • AgentTool now implements a stream API instead of invoke and requires asynchronous implementation. See PR#345.

What's Changed

New Contributors

Full Changelog: v0.2.1...v0.3.0

v0.2.1

04 Jul 23:48
dff627d
Compare
Choose a tag to compare

What's Changed

This is a hotfix for v0.2.0

  • tools - parallel execution - sleep by @pgrayy in #355

Full Changelog: v0.2.0...v0.2.1

v0.2.0

02 Jul 21:28
d601615
Compare
Choose a tag to compare

Minor Version Bump to v0.2.0

For this minor version bump, we are introducing a number of backwards-incompatible changes. Leading up to the 1.0.0 release of the SDK, we are incrementally releasing backwards-incompatible changes to align with our vision of the 1.0.0 interface. These changes are meant to fix deficiencies that were part of our initial implementation, or to make Strands easier to understand and use. Below are a list of these changes, and steps to migrate your code if they affect you:

  • Use region from boto3 session when possible (#299)
    • This change updates the region behavior of the BedrockModelProvider to better align with the Boto3 default region behavior instead of us-west-2.
  • refactor: remove kwargs spread after agent call (#289)
    • Previously, strands used certain parameters that were passed into the agent invocation call. For example, agent("Hello!", system_prompt="Some New Prompt") would previously override the system prompt defined during the agent’s initialization. Now, this behavior has been removed, so you can alter the agent’s system prompt by overriding the agents system_prompt attribute.
      • Before: agent("Hello!", system_prompt="Some New Prompt")
      • After: agent.system_prompt = "Some New Prompt"
  • Remove FunctionTool (#325)
    • Previously, FunctionTool was deprecated in favor of DecoratedFunctionTool but it was kept in for backwards compatibility. This removes the FunctionTool class in favor of using the @tool decorator. Check out the strands agents tool documentation for instructions on building a tool.
  • Implement native async iterator support (#83)
    • #295: We no longer yield any callback events carried out in tool invocations from stream_async.
    • #323: callback_handler is no longer passed to tools.
  • refactor tracer (#286)

What's Changed

New Contributors

Full Changelog: v0.1.9...v0.2.0

v0.1.9

24 Jun 19:22
df7c327
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.8...v0.1.9