Skip to content

v1.2.2

Latest

Choose a tag to compare

@vvlrff vvlrff released this 27 Oct 20:53
· 17 commits to main since this release
fa4e0fb

Highlights

  • Timeouts for code that can hang: @tool(timeout=...) limits each function tool call, and timeout= on stream subscribers, @observer, BaseObserver, LoopDetector and TokenMonitor limits each callback. A timed-out tool returns a TimeoutError to the model, which can continue.
  • Anthropic SDK 2.x support, plus new AnthropicConfig options: a typed speed and open_telemetry to configure or disable the SDK's own OpenTelemetry spans.
  • OpenAIDecisionsConfig accepts question_instructions (strings, ag2 inputs or SDK parts), appended to the agent prompt.
  • A2UI v1.0 updated to the current spec, including callAgentFunction / agentFunctionResponse and renderer capabilities.
  • New Glasser paid-data toolkit extension.
  • More accurate token usage: Anthropic continuation tokens, Gemini thinking tokens and xAI reasoning tokens are now counted, and OpenAI cache_write_tokens maps to cache_creation_input_tokens.
  • Fixes for Mistral streaming, A2A empty text artifacts, eval dataset tags and failure attribution, SKILL.md files with a BOM, and update_file with empty old_content.

Upgrade notes

  • OpenAIConfig is deprecated and becomes the Responses API in 1.4.0. The current Chat Completions behavior is now OpenAICompletionsConfig; OpenAIConfig still works unchanged but emits a DeprecationWarning from create(). Switch to OpenAICompletionsConfig to keep Chat Completions, or to OpenAIResponsesConfig to move now. Renaming the class does not translate API-specific options.
  • temperature, top_p and top_k on AnthropicConfig are deprecated until 1.4.0. The API version used by anthropic 2.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 requires anthropic>=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

Full Changelog: v1.2.1...v1.2.2