Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-07-11 | 8.2 kB | |
v0.3.0 source code.tar.gz | 2025-07-11 | 199.0 kB | |
v0.3.0 source code.zip | 2025-07-11 | 291.0 kB | |
Totals: 3 Items | 498.3 kB | 0 |
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
- feat: Implement the core system of typed hooks & callbacks by @zastrowm in https://github.com/strands-agents/sdk-python/pull/304
- iterative tool handler process by @pgrayy in https://github.com/strands-agents/sdk-python/pull/340
- remove thread pool wrapper by @pgrayy in https://github.com/strands-agents/sdk-python/pull/339
- chore: updated scope name, enable setting up meter by @poshinchen in https://github.com/strands-agents/sdk-python/pull/331
- async model stream interface by @pgrayy in https://github.com/strands-agents/sdk-python/pull/306
- chore: allow custom agent name by @poshinchen in https://github.com/strands-agents/sdk-python/pull/347
- Extract hook based tests to a separate file by @zastrowm in https://github.com/strands-agents/sdk-python/pull/349
- tools - parallel execution - sleep by @pgrayy in https://github.com/strands-agents/sdk-python/pull/355
- Refactor event loop to use Agent object rather than individual parameters by @zastrowm in https://github.com/strands-agents/sdk-python/pull/359
- models - openai - async client by @pgrayy in https://github.com/strands-agents/sdk-python/pull/353
- models - openai - do not accept b64 images by @pgrayy in https://github.com/strands-agents/sdk-python/pull/368
- iterative tools by @pgrayy in https://github.com/strands-agents/sdk-python/pull/345
- a2a streaming by @jer96 in https://github.com/strands-agents/sdk-python/pull/366
- docs(multiagent): Update A2AServer docstrings by @signoredems in https://github.com/strands-agents/sdk-python/pull/377
- refactor(a2a): move a2a test module by @jer96 in https://github.com/strands-agents/sdk-python/pull/379
- models - mistral - async by @pgrayy in https://github.com/strands-agents/sdk-python/pull/375
- models - ollama - async by @pgrayy in https://github.com/strands-agents/sdk-python/pull/373
- models - anthropic - async by @pgrayy in https://github.com/strands-agents/sdk-python/pull/371
- feat: Add hooks for before/after tool calls + allow hooks to update values by @zastrowm in https://github.com/strands-agents/sdk-python/pull/352
- agent tool - remove invoke by @pgrayy in https://github.com/strands-agents/sdk-python/pull/369
- fix: handle multiple tool calls in Mistral streaming responses by @siddhantwaghjale in https://github.com/strands-agents/sdk-python/pull/384
- fix: add-threading-instrumentation by @poshinchen in https://github.com/strands-agents/sdk-python/pull/394
- Add cohere client by @billytrend-cohere in https://github.com/strands-agents/sdk-python/pull/236
- deps(a2a): upgrade a2a with db support by @jer96 in https://github.com/strands-agents/sdk-python/pull/395
- Writer model provider by @yanomaly in https://github.com/strands-agents/sdk-python/pull/228
- Update integ tests to isolate provider-based tests by @zastrowm in https://github.com/strands-agents/sdk-python/pull/396
- Remove agent.tool_config and update usages to use tool_specs by @zastrowm in https://github.com/strands-agents/sdk-python/pull/388
- multi modal input by @pgrayy in https://github.com/strands-agents/sdk-python/pull/367
- Fix: Update mistral tests to avoid shared agents by @zastrowm in https://github.com/strands-agents/sdk-python/pull/398
- async tools support by @pgrayy in https://github.com/strands-agents/sdk-python/pull/391
- Add basis for conformance-based tests by @zastrowm in https://github.com/strands-agents/sdk-python/pull/403
- fix: Allow tool names that start with numbers by @zastrowm in https://github.com/strands-agents/sdk-python/pull/407
- Add hooks for when new messages are appended to the agent's messages by @zastrowm in https://github.com/strands-agents/sdk-python/pull/385
- Add Model Invocation Hooks by @zastrowm in https://github.com/strands-agents/sdk-python/pull/387
- structured output - multi-modal input by @pgrayy in https://github.com/strands-agents/sdk-python/pull/405
- feat(async): mcp async call tool by @jer96 in https://github.com/strands-agents/sdk-python/pull/406
- [REFACTOR] Unify Model Interface Around Single Entry Point (model.stream) by @mkmeral in https://github.com/strands-agents/sdk-python/pull/400
- Rename StartRequestEvent & EndRequestEvent events by @zastrowm in https://github.com/strands-agents/sdk-python/pull/408
- models - bedrock - threading by @pgrayy in https://github.com/strands-agents/sdk-python/pull/411
- Mark hooks as non-experimental by @zastrowm in https://github.com/strands-agents/sdk-python/pull/410
- models - litellm - async by @pgrayy in https://github.com/strands-agents/sdk-python/pull/414
- models - move abstract class by @pgrayy in https://github.com/strands-agents/sdk-python/pull/409
- feat(multi-agent): introduce Graph multi-agent orchestrator by @awsarron in https://github.com/strands-agents/sdk-python/pull/336
- refactor: Remove event_loop_cycle from top level import by @Unshure in https://github.com/strands-agents/sdk-python/pull/415
- refactor: Remove message processor by @Unshure in https://github.com/strands-agents/sdk-python/pull/417
- refactor: Update interfaces to include kwargs to enable backwards compatibility by @mkmeral in https://github.com/strands-agents/sdk-python/pull/413
- refactor: Remove _remove_dangling_messages from SlidingWindowConversationManager by @Unshure in https://github.com/strands-agents/sdk-python/pull/418
- chore!: set Agent property load_tools_from_directory to default to False by @dbschmigelski in https://github.com/strands-agents/sdk-python/pull/419
New Contributors
- @signoredems made their first contribution in https://github.com/strands-agents/sdk-python/pull/377
- @billytrend-cohere made their first contribution in https://github.com/strands-agents/sdk-python/pull/236
- @yanomaly made their first contribution in https://github.com/strands-agents/sdk-python/pull/228
- @mkmeral made their first contribution in https://github.com/strands-agents/sdk-python/pull/400
Full Changelog: https://github.com/strands-agents/sdk-python/compare/v0.2.1...v0.3.0