Skip to content

Conversation

@Unshure
Copy link
Owner

@Unshure Unshure commented Sep 19, 2025

Description

Related Issues

Documentation PR

Type of Change

Bug fix
New feature
Breaking change
Documentation update
Other (please describe):

Testing

How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Unshure and others added 30 commits July 29, 2025 14:41
strands-agents#576)

* fix(event_loop): raise dedicated exception when encountering max tokens stop reason

* fix: update integ tests

* fix: rename exception message, add to exception, move earlier in cycle

* Update tests_integ/test_max_tokens_reached.py

Co-authored-by: Nick Clegg <[email protected]>

* Update tests_integ/test_max_tokens_reached.py

Co-authored-by: Nick Clegg <[email protected]>

* linting

---------

Co-authored-by: Nick Clegg <[email protected]>
)

Using a string causes the Anthropic API call to fail:
```
anthropic.BadRequestError: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'max_tokens: Input should be a valid integer'}}
```
…rands-agents#643)

Previously (strands-agents#642) bedrock would hang during message conversion because the exception was not being caught and thus the queue was always empty. Now all exceptions during conversion are caught

Co-authored-by: Mackenzie Zastrow <[email protected]>
* feat: add structured_output_span
…nts#678)

It depends on OpenAI and we a got a report about the need to install it explicitly

Co-authored-by: Mackenzie Zastrow <[email protected]>
…ents#531)

* feat: add cached token metrics support for Amazon Bedrock

- Add optional cacheReadInputTokens and cacheWriteInputTokens fields to Usage TypedDict
- Update EventLoopMetrics to accumulate cached token metrics
- Add OpenTelemetry instrumentation for cached token telemetry
- Enhance metrics summary display to show cached token information
- Maintain 100% backward compatibility with existing Usage objects
- Add comprehensive test coverage for cached token functionality

Resolves strands-agents#529

* feat: updated cached read/write input token metrics

---------

Co-authored-by: poshinchen <[email protected]>
…nds-agents#568)

* fix: fix non-serializable parameter of agent from toolUse block

* feat: Add configuration option to MCP Client for server init timeout (strands-agents#657)

Co-authored-by: Harry Wilton <[email protected]>

* fix: Bedrock hang when exception occurs during message conversion (strands-agents#643)

Previously (strands-agents#642) bedrock would hang during message conversion because the exception was not being caught and thus the queue was always empty. Now all exceptions during conversion are caught

Co-authored-by: Mackenzie Zastrow <[email protected]>

* fix: only include parameters that defined in tool spec

---------

Co-authored-by: Jack Yuan <[email protected]>
Co-authored-by: fhwilton55 <[email protected]>
Co-authored-by: Harry Wilton <[email protected]>
Co-authored-by: Mackenzie Zastrow <[email protected]>
Co-authored-by: Mackenzie Zastrow <[email protected]>
awsarron and others added 27 commits September 10, 2025 20:18
…nds-agents#825)

Adds cacheReadInputTokens and cacheWriteInputTokens to span attributes
in both end_model_invoke_span and end_agent_span methods to enable
monitoring of cache token usage for cost calculation.

Closes strands-agents#776

Co-authored-by: Vamil Gandhi <[email protected]>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…gents#795)

Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 4 to 5.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](aws-actions/configure-aws-credentials@v4...v5)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…strands-agents#840)

Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.12.0...0.13.0)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.13.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updates the requirements on [openai](https://github.com/openai/openai-python) to permit the latest version.
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v1.68.0...v1.107.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 1.107.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…trands-agents#832)

* feat: add GitHub workflow for auto-closing stale issues with dry-run support

- Daily workflow checks issues with configurable labels after X days
- Removes label if unauthorized users comment, closes if only authorized users
- Supports team-based or write-access authorization modes
- Includes comprehensive input validation and error handling
- Adds manual trigger with dry-run mode for safe testing

* fix: Replace deprecated GitHub Search API with Issues API

- Replace github.rest.search.issuesAndPullRequests with github.rest.issues.listForRepo
- Add pagination support to handle repositories with many labeled issues

* feat: remove label immediately on unauthorized comments

- Check for unauthorized comments before time validation
- Remove the label instantly when non-authorized users respond

* feat: add optional replacement label when removing auto-close label

- Add REPLACEMENT_LABEL environment variable for optional label substitution
- Apply replacement label when unauthorized users comment and auto-close label is removed

* feat: Consolidate auto-close workflows into a single matrix-based action

- Merge auto-close-3-days.yml and auto-close-7-days.yml into auto-close.yml
- Use a matrix strategy to handle both 3-day and 7-day label processing
The documentation provided for the tool decorator has been updated to work with the version 1.8.0
* feat: add ReasoningRedactedContentStreamEvent for proper redacted content handling

- Add ReasoningRedactedContentStreamEvent class to types/_events.py for typed streaming
- Refactor redacted content handling in streaming.py
- Fix state management for redactedContent with proper default handling
- Update tests to handle new event structure and skip problematic tests
- Add integration test for redacted content with thinking mode

This improves type safety and consistency in the streaming event system
when handling redacted reasoning content.

Co-authored-by: Yuki Matsuda <[email protected]>
Co-authored-by: Arron <[email protected]>
In the switch to typed_events, the case of structured_output invoking the callback handler was missed, resulting in issue strands-agents#831; this restores the old behavior/fixes backwards compatibility

Co-authored-by: Mackenzie Zastrow <[email protected]>
…nts#858)

`hatch run prepare` should prep all the files to ensure it's ready for a PR, so switch it to format files instead of testing the format. Otherwise it just quits with output of the files that need to be formatted

---------

Co-authored-by: Mackenzie Zastrow <[email protected]>
Co-authored-by: Nick Clegg <[email protected]>
)

- Add permissions block with minimal required permissions
- Resolves CodeQL security issue actions/missing-workflow-permissions
- Follows principle of least privilege with contents:read, issues:write, pull-requests:write

🤖 Assisted by Amazon Q Developer
…trands-agents#892)

- Add module-level flag _instrumentation_applied to track patch state
- Return early from mcp_instrumentation() if already applied
- Prevents wrapper accumulation that causes RecursionError with multiple MCPClient instances
- Add integration tests for multiple client creation and thread safety

Fixes strands-agents#869

🤖 Assisted by Amazon Q Developer
@Unshure Unshure closed this Sep 25, 2025
@Unshure Unshure deleted the fix-workflow branch September 25, 2025 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] A2A Doesn't Work on 1.2.0