Skip to content

v1.2.0

Latest

Choose a tag to compare

@Lancetnik Lancetnik released this 11 Oct 09:26
2b86363

Highlights

  • OpenAI Decisions API support with OpenAIDecisionsConfig and shared decision schemas using the Question marker.
  • A2A servers can run on multiple replicas, with cacheable agent cards, opt-in input media type validation, and configurable push notification URL validation.
  • Anthropic cache diagnostics and explicit API keys for OpenAI voice configs.
  • Ollama API keys, custom HTTP clients, tool names, and fixes for duplicate streaming tool-call IDs.
  • Fixes for MCP discovery, knowledge stores, evaluation suite loading, skills, A2UI, and network graph loading.

Toolkit composition

left | right now creates an independent toolkit collection containing the original tool objects and their existing middleware. Tools from the right no longer receive middleware from the left, and later additions to the combined toolkit do not inherit either source's middleware. Replacement by name still uses the right-hand tool.

If you relied on composition to attach middleware, attach it explicitly through toolkit construction or per-tool configuration.

What's Changed

  • docs(ag-ui): update CopilotKit quickstart for the AG-UI 1.0 sample by @vvlrff in #3340
  • docs: fix observer and knowledge store examples that fail to run by @BichengWang in #3337
  • fix(knowledge): match SqliteKnowledgeStore prefixes literally by @kabishou11 in #3339
  • fix(shell): refuse ignored files named through a wildcard by @vvlrff in #3350
  • feat(a2a): expose push notification URL validation by @BichengWang in #3348
  • fix(test): ensure sibling call is announced before asking human by @vvlrff in #3357
  • refactor(typing): bring a2a and a2ui into the type-checked set by @vvlrff in #3351
  • refactor(typing): bring mcp_ui, mcp and acp into the type-checked set by @vvlrff in #3356
  • refactor(typing): bring the Z.AI, Gemini and OpenAI providers into th… by @vvlrff in #3358
  • feat(a2a): let A2AServer run on several replicas by @vvlrff in #3354
  • chore(deps): bump the uv group with 16 updates by @dependabot[bot] in #3360
  • chore(deps): bump github/codeql-action/upload-sarif from 4.38.1 to 4.38.2 in the github-actions group by @dependabot[bot] in #3359
  • fix(eval): handle null and single-string tags/metadata in Suite items by @kabishou11 in #3353
  • fix(knowledge): allow DiskKnowledgeStore.on_change to watch a file path by @kabishou11 in #3352
  • feat(anthropic): add cache diagnostics support to client and config by @vvlrff in #3364
  • chore(deps): bump multidict from 6.7.1 to 6.9.1 by @dependabot[bot] in #3367
  • feat(live): accept explicit API keys in OpenAI voice configs by @carey-bk in #3338
  • chore(live): cover ag2.live with strict mypy by @vvlrff in #3370
  • refactor(config): cover ag2.config with strict mypy by @vvlrff in #3372
  • feat(a2a): cacheable agent card and opt-in input media type validation by @vvlrff in #3366
  • refactor(types): put ag2/tools under strict mypy by @vvlrff in #3371
  • fix(mcp): refresh toolkit discovery when resolved configuration changes by @asts-top in #3385
  • fix(typesafe): bump typesafe-sdk to 0.7.4 and fix mypy errors by @vvlrff in #3392
  • Openai decisions API implementation + examples by @stepacool in #3382
  • fix: avoid duplicate Ollama streaming tool call IDs by @liangzhechen655 in #3386
  • refactor(decisions): share decision schema reading across OpenAI and TypeSafe, add Question marker by @vvlrff in #3393
  • feat(ollama): add API key, HTTP client, and tool names by @vvlrff in #3394
  • fix(skills): escape backslashes when recovering unquoted frontmatter values by @kabishou11 in #3378
  • fix(knowledge): number dropped log segments after the highest existing one by @kabishou11 in #3397
  • fix(eval): accept JSONL suites saved with a UTF-8 BOM by @kabishou11 in #3379
  • chore: bump version to 1.2.0 by @vvlrff in #3398
  • fix(a2ui): strip language tag from single-line markdown fences by @kabishou11 in #3396
  • fix(network): accept null transitions and args in TransitionGraph.loads by @kabishou11 in #3395
  • fix(tools): preserve tools and middleware when merging toolkits by @BichengWang in #3387

New Contributors

Full Changelog: v1.1.2...v1.2.0