v0.2.0
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"
- Before:
- Previously, strands used certain parameters that were passed into the agent invocation call. For example,
- 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)
- refactor tracer (#286)
- The OTEL setup process has changed. Before, Strands would try to automatically setup and OTEL exporter using the STRANDS_OTEL_ENABLE_CONSOLE_EXPORT environment variable. This has been removed, and replaced with a function call. See the docs here for more info: https://strandsagents.com/latest/user-guide/observability-evaluation/traces/#code-configuration
What's Changed
- iterative event loop by @pgrayy in #268
- Add additional exception information for common bedrock errors by @zastrowm in #290
- iterative structured output by @pgrayy in #291
- fix: correcting incorrect docstring in tracer.py - non-existing argument documented by @didier-durand in #293
- tools - do not remove $defs by @pgrayy in #294
- feat: Add reasoning content for openai model provider by @xiehust in #187
- chore: refactor tracer by @poshinchen in #286
- iterative agent by @pgrayy in #295
- feat(a2a): tools as skills by @jer96 in #287
- feat: Add Mistral model support to strands by @siddhantwaghjale in #284
- fix: Fix docs warnings by @Unshure in #303
- Use region from boto3 session when possible by @zastrowm in #299
- chore: update spanKind and attributes for tokens by @poshinchen in #296
- fix: Migrate Mistral structured_output to an iterator by @zastrowm in #305
- feat: add debug logging for model converse requests by @RingoIngo2 in #297
- refactor: remove kwargs spread after agent call by @Unshure in #289
- chore: allow custom tracer_provider and chain setup by @poshinchen in #316
- feat: Add reproduction test for #320 by @zastrowm in #322
- feat: Agent State by @Unshure in #292
- stop passing around callback handler by @pgrayy in #323
- refactor: Remove unused code by @Unshure in #326
- chore: updated semantic conventions on Generative AI spans by @poshinchen in #319
- refactor: Consolidate agent state unit tests by @Unshure in #334
- Remove FunctionTool as a breaking change by @zastrowm in #325
- executor - run tools - yield by @pgrayy in #328
New Contributors
- @siddhantwaghjale made their first contribution in #284
- @RingoIngo2 made their first contribution in #297
Full Changelog: v0.1.9...v0.2.0