| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-10-11 | 5.5 kB | |
| v1.2.0 source code.tar.gz | 2026-10-11 | 3.0 MB | |
| v1.2.0 source code.zip | 2026-10-11 | 3.9 MB | |
| Totals: 3 Items | 6.8 MB | 0 | |
Highlights
- OpenAI Decisions API support with
OpenAIDecisionsConfigand shared decision schemas using theQuestionmarker. - 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 https://github.com/ag2ai/ag2/pull/3340
- docs: fix observer and knowledge store examples that fail to run by @BichengWang in https://github.com/ag2ai/ag2/pull/3337
- fix(knowledge): match SqliteKnowledgeStore prefixes literally by @kabishou11 in https://github.com/ag2ai/ag2/pull/3339
- fix(shell): refuse ignored files named through a wildcard by @vvlrff in https://github.com/ag2ai/ag2/pull/3350
- feat(a2a): expose push notification URL validation by @BichengWang in https://github.com/ag2ai/ag2/pull/3348
- fix(test): ensure sibling call is announced before asking human by @vvlrff in https://github.com/ag2ai/ag2/pull/3357
- refactor(typing): bring a2a and a2ui into the type-checked set by @vvlrff in https://github.com/ag2ai/ag2/pull/3351
- refactor(typing): bring mcp_ui, mcp and acp into the type-checked set by @vvlrff in https://github.com/ag2ai/ag2/pull/3356
- refactor(typing): bring the Z.AI, Gemini and OpenAI providers into th… by @vvlrff in https://github.com/ag2ai/ag2/pull/3358
- feat(a2a): let A2AServer run on several replicas by @vvlrff in https://github.com/ag2ai/ag2/pull/3354
- chore(deps): bump the uv group with 16 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/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 https://github.com/ag2ai/ag2/pull/3359
- fix(eval): handle null and single-string tags/metadata in Suite items by @kabishou11 in https://github.com/ag2ai/ag2/pull/3353
- fix(knowledge): allow DiskKnowledgeStore.on_change to watch a file path by @kabishou11 in https://github.com/ag2ai/ag2/pull/3352
- feat(anthropic): add cache diagnostics support to client and config by @vvlrff in https://github.com/ag2ai/ag2/pull/3364
- chore(deps): bump multidict from 6.7.1 to 6.9.1 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3367
- feat(live): accept explicit API keys in OpenAI voice configs by @carey-bk in https://github.com/ag2ai/ag2/pull/3338
- chore(live): cover ag2.live with strict mypy by @vvlrff in https://github.com/ag2ai/ag2/pull/3370
- refactor(config): cover ag2.config with strict mypy by @vvlrff in https://github.com/ag2ai/ag2/pull/3372
- feat(a2a): cacheable agent card and opt-in input media type validation by @vvlrff in https://github.com/ag2ai/ag2/pull/3366
- refactor(types): put ag2/tools under strict mypy by @vvlrff in https://github.com/ag2ai/ag2/pull/3371
- fix(mcp): refresh toolkit discovery when resolved configuration changes by @asts-top in https://github.com/ag2ai/ag2/pull/3385
- fix(typesafe): bump typesafe-sdk to 0.7.4 and fix mypy errors by @vvlrff in https://github.com/ag2ai/ag2/pull/3392
- Openai decisions API implementation + examples by @stepacool in https://github.com/ag2ai/ag2/pull/3382
- fix: avoid duplicate Ollama streaming tool call IDs by @liangzhechen655 in https://github.com/ag2ai/ag2/pull/3386
- refactor(decisions): share decision schema reading across OpenAI and TypeSafe, add Question marker by @vvlrff in https://github.com/ag2ai/ag2/pull/3393
- feat(ollama): add API key, HTTP client, and tool names by @vvlrff in https://github.com/ag2ai/ag2/pull/3394
- fix(skills): escape backslashes when recovering unquoted frontmatter values by @kabishou11 in https://github.com/ag2ai/ag2/pull/3378
- fix(knowledge): number dropped log segments after the highest existing one by @kabishou11 in https://github.com/ag2ai/ag2/pull/3397
- fix(eval): accept JSONL suites saved with a UTF-8 BOM by @kabishou11 in https://github.com/ag2ai/ag2/pull/3379
- chore: bump version to 1.2.0 by @vvlrff in https://github.com/ag2ai/ag2/pull/3398
- fix(a2ui): strip language tag from single-line markdown fences by @kabishou11 in https://github.com/ag2ai/ag2/pull/3396
- fix(network): accept null transitions and args in TransitionGraph.loads by @kabishou11 in https://github.com/ag2ai/ag2/pull/3395
- fix(tools): preserve tools and middleware when merging toolkits by @BichengWang in https://github.com/ag2ai/ag2/pull/3387
New Contributors
- @BichengWang made their first contribution in https://github.com/ag2ai/ag2/pull/3337
- @kabishou11 made their first contribution in https://github.com/ag2ai/ag2/pull/3339
- @liangzhechen655 made their first contribution in https://github.com/ag2ai/ag2/pull/3386
Full Changelog: https://github.com/ag2ai/ag2/compare/v1.1.2...v1.2.0