Repository navigation
Highlights
- Timeouts for code that can hang:
@tool(timeout=...)limits each function tool call, andtimeout=on stream subscribers,@observer,BaseObserver,LoopDetectorandTokenMonitorlimits each callback. A timed-out tool returns aTimeoutErrorto the model, which can continue. - Anthropic SDK 2.x support, plus new
AnthropicConfigoptions: a typedspeedandopen_telemetryto configure or disable the SDK's own OpenTelemetry spans. OpenAIDecisionsConfigacceptsquestion_instructions(strings, ag2 inputs or SDK parts), appended to the agent prompt.- A2UI v1.0 updated to the current spec, including
callAgentFunction/agentFunctionResponseand renderer capabilities. - New
Glasserpaid-data toolkit extension. - More accurate token usage: Anthropic continuation tokens, Gemini thinking tokens and xAI reasoning tokens are now counted, and OpenAI
cache_write_tokensmaps tocache_creation_input_tokens. - Fixes for Mistral streaming, A2A empty text artifacts, eval dataset tags and failure attribution,
SKILL.mdfiles with a BOM, andupdate_filewith emptyold_content.
Upgrade notes
OpenAIConfigis deprecated and becomes the Responses API in 1.4.0. The current Chat Completions behavior is nowOpenAICompletionsConfig;OpenAIConfigstill works unchanged but emits aDeprecationWarningfromcreate(). Switch toOpenAICompletionsConfigto keep Chat Completions, or toOpenAIResponsesConfigto move now. Renaming the class does not translate API-specific options.temperature,top_pandtop_konAnthropicConfigare deprecated until 1.4.0. The API version used byanthropic2.x rejects them, so with SDK 2.x they warn and are dropped; with 1.x they warn and are still sent. The extra now requiresanthropic>=1.15.0,<3.- OpenAI now requires
openai>=3.37.0,<4.
What's Changed
- feat: add Glasser paid-data toolkit by @glasserai in #3462
- fix(mistral): isolate streamed completion choices by @ch-z-hc in #3471
- test(tools): keep the tight switch interval off under a tracer in the… by @vvlrff in #3481
- fix(anthropic): count continuation token usage by @ch-z-hc in #3472
- feat(a2ui): update A2UI v1.0 to the current spec by @vvlrff in #3469
- chore(deps): bump gitpython from 3.1.62 to 3.2.1 by @dependabot[bot] in #3485
- chore(deps): bump opentelemetry-api from 1.45.0 to 1.45.1 by @dependabot[bot] in #3486
- fix(a2a): preserve empty text artifact type by @fallintoplace in #3451
- fix(gemini): include thinking tokens in completion usage by @original4422 in #3446
- fix(filesystem): reject empty old_content in update_file on non-empty files by @BichengWang in #3303
- fix(textual): use correct optional import module by @fallintoplace in #3497
- fix(stream): preserve explicitly provided empty storage by @fallintoplace in #3498
- fix(openai): map cache_write_tokens to cache_creation_input_tokens by @rome-xi in #3499
- fix(eval): reject non-string dataset tags by @fallintoplace in #3496
- feat(anthropic): add typed speed option to AnthropicConfig by @its-amann in #3495
- fix(a2ui): keep v1.0 validation linear in nested function calls by @vvlrff in #3492
- fix(xai): include reasoning tokens in completion usage by @vvlrff in #3493
- test(openai): fix usage expectations after cache-write mapping by @Lancetnik in #3510
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #3507
- fix(eval): check final response in failure attribution by @Jacqueline122 in #3506
- fix(skills): accept SKILL.md files that start with a UTF-8 BOM by @kabishou11 in #3502
- feat(anthropic): support anthropic SDK 2.x and deprecate sampling par… by @vvlrff in #3513
- chore(deps): bump certifi from 2026.7.22 to 2026.10.18 by @dependabot[bot] in #3515
- feat(tools): add per-invocation function tool timeouts by @Lancetnik in #3514
- feat(anthropic): expose the SDK's open_telemetry option on AnthropicConfig by @ninglinLiu in #3519
- chore: bump version to 1.2.2 by @Lancetnik in #3520
- feat(openai): structured question instructions on OpenAIDecisionsConfig by @yftx293 in #3500
- feat(stream): add subscriber and observer timeouts by @Lancetnik in #3518
- feat(openai): deprecate Chat Completions default ahead of 1.4.0 by @Lancetnik in #3517
New Contributors
- @glasserai made their first contribution in #3462
- @fallintoplace made their first contribution in #3451
- @original4422 made their first contribution in #3446
- @rome-xi made their first contribution in #3499
- @its-amann made their first contribution in #3495
- @Jacqueline122 made their first contribution in #3506
- @ninglinLiu made their first contribution in #3519
- @yftx293 made their first contribution in #3500
Full Changelog: v1.2.1...v1.2.2