From 26146bb31598f088e932b988c6a01f5cdd68c11a Mon Sep 17 00:00:00 2001 From: zhanghanduo Date: Fri, 9 Oct 2026 21:38:25 +0800 Subject: [PATCH] chore: prepare AgentCore 0.17.0 release --- CHANGELOG.md | 8 ++++++++ changes/77.feature.md | 3 --- pyproject.toml | 2 +- uv.lock | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 changes/77.feature.md diff --git a/CHANGELOG.md b/CHANGELOG.md index b3f2e0e..0d68ac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ the GitHub Release body, so a release with no entry here fails. Versioning follows [docs/versioning.md](docs/versioning.md). +## [0.17.0] - 2026-10-09 + +### Added + +- Reasoning-runaway recovery now works on the native Anthropic adapter. Its retry ladder applies `ThinkingRetryOverride.reasoning_effort` to `output_config.effort` without sending unsupported `thinking={"type": "disabled"}` to adaptive-only models. + + When all call-level retries fail, the loop gives a reasoning-only response one bounded recovery attempt instead of ending it as `no_tool`. This applies both to completions that exhaust the output cap and to streams stopped early by the reasoning watchdog, whose terminal usage and finish reason may never arrive. Recovery remains available on the final allowed turn without consuming an additional logical turn. If recovery also fails, the loop stops with `stop_reason="reasoning_runaway"`; AgentBus fan-in treats that reason as an incomplete report. Consumers that enumerate stop reasons should add it. + ## [0.16.1] - 2026-10-07 ### Fixed diff --git a/changes/77.feature.md b/changes/77.feature.md deleted file mode 100644 index 635d3b9..0000000 --- a/changes/77.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -Reasoning-runaway recovery now works on the native Anthropic adapter. Its retry ladder applies `ThinkingRetryOverride.reasoning_effort` to `output_config.effort` without sending unsupported `thinking={"type": "disabled"}` to adaptive-only models. - -When all call-level retries fail, the loop gives a reasoning-only response one bounded recovery attempt instead of ending it as `no_tool`. This applies both to completions that exhaust the output cap and to streams stopped early by the reasoning watchdog, whose terminal usage and finish reason may never arrive. Recovery remains available on the final allowed turn without consuming an additional logical turn. If recovery also fails, the loop stops with `stop_reason="reasoning_runaway"`; AgentBus fan-in treats that reason as an incomplete report. Consumers that enumerate stop reasons should add it. diff --git a/pyproject.toml b/pyproject.toml index 8a206d0..30bc88a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "apodex-agent-core" -version = "0.16.1" +version = "0.17.0" description = "Shared, product-neutral runtime primitives for Apodex agents" readme = "README.md" license = "Apache-2.0" diff --git a/uv.lock b/uv.lock index db2c5c6..b8b8a1d 100644 --- a/uv.lock +++ b/uv.lock @@ -50,7 +50,7 @@ wheels = [ [[package]] name = "apodex-agent-core" -version = "0.16.1" +version = "0.17.0" source = { editable = "." } dependencies = [ { name = "anthropic", extra = ["bedrock"] },