[{"url":"https://api.github.com/repos/ag2ai/ag2/releases/370967426","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/370967426/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/370967426/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v1.0.2","id":370967426,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4WHIOC","tag_name":"v1.0.2","target_commitish":"main","name":"v1.0.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-15T05:27:07Z","updated_at":"2026-08-15T05:28:39Z","published_at":"2026-08-15T05:28:39Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v1.0.2","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v1.0.2","body":"## What's Changed\r\n* fix(docs): ship robots.txt so it stops advertising the /latest archive by @marklysze in https://github.com/ag2ai/ag2/pull/3115\r\n* docs: Add AG2 Code Assistant to docs site by @marklysze in https://github.com/ag2ai/ag2/pull/3110\r\n* fix(perplexity): read SDK response nodes that arrive as dicts by @marklysze in https://github.com/ag2ai/ag2/pull/3119\r\n* docs(contributing): document the optionals dependency group for Extensions by @marklysze in https://github.com/ag2ai/ag2/pull/3126\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3127\r\n* fix(gemini): send media_resolution in the Part shape the SDK expects by @vvlrff in https://github.com/ag2ai/ag2/pull/3129\r\n* chore(deps): bump aiohttp from 3.14.1 to 3.14.3 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3132\r\n* chore(deps): bump cryptography from 49.0.0 to 50.0.0 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3130\r\n* chore(deps): bump gitpython from 3.1.54 to 3.1.57 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3131\r\n* fix(a2ui): persist extension activation on ServerCallContext.state by @marklysze in https://github.com/ag2ai/ag2/pull/3122\r\n* fix(tinyfish): adapt to tinyfish 0.5 per-product hosts and pin >=0.5,<0.6 by @marklysze in https://github.com/ag2ai/ag2/pull/3135\r\n* feat: add Kilo Code support and model selection to ACP configurations by @vvlrff in https://github.com/ag2ai/ag2/pull/3101\r\n* feat(a2a): sign served AgentCards and verify consumed ones by @vvlrff in https://github.com/ag2ai/ag2/pull/3111\r\n* feat(a2a): support user-defined A2A extensions by @vvlrff in https://github.com/ag2ai/ag2/pull/3116\r\n* fix(spec): warn on unknown fields in AgentSpec instead of dropping them silently by @marklysze in https://github.com/ag2ai/ag2/pull/3118\r\n* feat(middleware): add describe() so middleware can report its configuration by @marklysze in https://github.com/ag2ai/ag2/pull/3120\r\n* feat(agent): expose composition as public read-only properties by @marklysze in https://github.com/ag2ai/ag2/pull/3134\r\n* refactor(tools): home the tool abstractions in ag2.tools.types by @marklysze in https://github.com/ag2ai/ag2/pull/3117\r\n* chore(deps): bump h2 from 4.3.0 to 4.4.1 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3140\r\n* chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3141\r\n* chore(deps): bump gitpython from 3.1.57 to 3.1.58 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3142\r\n* fix(gemini): allow builtin tools alongside function calling by @marklysze in https://github.com/ag2ai/ag2/pull/3145\r\n* feat(acp): serve an AG2 Agent over ACP by @marklysze in https://github.com/ag2ai/ag2/pull/3139\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3144\r\n* feat(a2a): add gRPC TLS support for secure agent communication by @vvlrff in https://github.com/ag2ai/ag2/pull/3138\r\n* fix: support Gemini HEIC and HEIF image inputs by @uuzzrm in https://github.com/ag2ai/ag2/pull/3148\r\n* fix(tools): report sub-task usage incurred before a failure by @Sanjays2402 in https://github.com/ag2ai/ag2/pull/3106\r\n* Feat/elevenlabs live by @stepacool in https://github.com/ag2ai/ag2/pull/3086\r\n* fix(policies): never trim a builtin tool call away from its reasoning item by @marklysze in https://github.com/ag2ai/ag2/pull/3150\r\n* chore(policy): policy for handling AI-generated reviews by @marklysze in https://github.com/ag2ai/ag2/pull/3152\r\n* feat(extensions): add Tenki sandbox integration by @camcalaquian in https://github.com/ag2ai/ag2/pull/3096\r\n* chore: ACP version bump to 0.12 by @marklysze in https://github.com/ag2ai/ag2/pull/3154\r\n* fix(policies): keep durable reasoning items in ConversationPolicy by @marklysze in https://github.com/ag2ai/ag2/pull/3149\r\n* feat(extensions): Add TealTiger deterministic governance middleware by @nagasatish007 in https://github.com/ag2ai/ag2/pull/3128\r\n* fix(test): de-flake transport demux delivery assertions by @marklysze in https://github.com/ag2ai/ag2/pull/3155\r\n* feat(acp): drive remote ACP agents over HTTP/WebSocket, answer agent questions, upgrade to ACP 0.12 by @vvlrff in https://github.com/ag2ai/ag2/pull/3146\r\n* docs(middleware): correct tool middleware sharing claims and document the shared-budget pattern by @marklysze in https://github.com/ag2ai/ag2/pull/3136\r\n* Version bump to 1.0.2 by @marklysze in https://github.com/ag2ai/ag2/pull/3157\r\n\r\n## New Contributors\r\n* @uuzzrm made their first contribution in https://github.com/ag2ai/ag2/pull/3148\r\n* @Sanjays2402 made their first contribution in https://github.com/ag2ai/ag2/pull/3106\r\n* @camcalaquian made their first contribution in https://github.com/ag2ai/ag2/pull/3096\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v1.0.1...v1.0.2","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/370967426/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":8},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/361518524","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/361518524/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/361518524/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v1.0.1","id":361518524,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4VjFW8","tag_name":"v1.0.1","target_commitish":"main","name":"v1.0.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-29T05:06:33Z","updated_at":"2026-07-29T05:09:51Z","published_at":"2026-07-29T05:09:51Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v1.0.1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v1.0.1","body":"# MCP v2.0 (breaking)\r\n\r\nMCP 2.0 has been released and is breaking change. Releasing AG2 1.0.1, which pins mcp to `<2`, until compatibility is implemented.\r\n\r\n## New in 1.0.1\r\n- Mistral provider - Full Mistral SDK support (streaming, multi-modality, structured outputs{\r\n\r\n## What's Changed\r\n* chore(deps): bump the uv group with 20 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3109\r\n* chore(deps): bump the github-actions group with 6 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3107\r\n* chore: pin mcp<2 in docs group and mcp-ui extra by @marklysze in https://github.com/ag2ai/ag2/pull/3113\r\n* feat(config): add MistralConfig for the Mistral API by @marklysze in https://github.com/ag2ai/ag2/pull/3112\r\n* Version bump to 1.0.1 by @marklysze in https://github.com/ag2ai/ag2/pull/3114\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v1.0.0...v1.0.1","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/361518524/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":2},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/360157132","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/360157132/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/360157132/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v1.0.0","id":360157132,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Vd4_M","tag_name":"v1.0.0","target_commitish":"main","name":"v1.0.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-27T00:30:38Z","updated_at":"2026-07-27T00:54:17Z","published_at":"2026-07-27T00:54:17Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v1.0.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v1.0.0","body":"# AG2 v1.0.0\r\n\r\nAG2 v1 is here! The protocol-driven framework we started building as `autogen.beta` in v0.12 is now the mainline framework, and the classic framework has moved to its own repository.\r\n\r\nThis release covers everything from v0.14.0, including the work released in `v1.0.0b0`.\r\n\r\n---\r\n\r\n## Installing, importing, and start coding\r\n\r\n| Install | What you get | Repository |\r\n|---|---|---|\r\n| `pip install ag2` | AG2 v1.0 — actively developed | [ag2ai/ag2](https://github.com/ag2ai/ag2) |\r\n| `pip install autogen` | AG2 Classic — maintenance mode | [ag2ai/ag2-classic](https://github.com/ag2ai/ag2-classic) |\r\n\r\nThe top-level package is now imported as `ag2`. The `autogen` import name is no longer shipped by this repository.\r\n\r\n```python\r\nimport ag2\r\n```\r\n\r\nGet the AG2 skills for your coding assistant at **[ag2ai/ag2-skills](https://github.com/ag2ai/ag2-skills)** — install with `npx skills add ag2ai/ag2-skills`.\r\n\r\n---\r\n\r\n## Migrating\r\n\r\n### If you are on AG2 Classic\r\n\r\nIf your code contains `import autogen`, `ConversableAgent`, `AssistantAgent`, `UserProxyAgent`, `GroupChat`, `register_function`, or the nested and sequential chat patterns, you are on Classic.\r\n\r\nClassic now lives at **[ag2ai/ag2-classic](https://github.com/ag2ai/ag2-classic)**, with its own documentation at **[classic.docs.ag2.ai](https://classic.docs.ag2.ai)**. It remains maintained and installable, and it receives security and critical bug fixes.\r\n\r\n**v1.0 is not a drop-in upgrade.** The agent model, orchestration, and imports are different. Install `autogen` or pin the classic distribution rather than tracking `ag2>=1.0`, and your existing code keeps working unchanged.\r\n\r\n### If you are on the beta\r\n\r\nThe `autogen.beta` namespace is gone. Everything under it is now at the top level:\r\n\r\n```python\r\n# Before\r\nfrom autogen.beta import Agent\r\nfrom autogen.beta.config import OpenAIConfig\r\n\r\n# Now\r\nfrom ag2 import Agent\r\nfrom ag2.config import OpenAIConfig\r\n```\r\n\r\nThe classic CLI has also been removed, and `__version__` is now exported at the top level of the package.\r\n\r\n---\r\n\r\n## AG2 Assistant\r\n\r\nWe built an open-source AI Assistant, powered by the AG2 framework. Let the AG2 framework work alongside you, carrying out the tasks you do on a daily basis, in a secure, permission-first, environment. Want it to do more? It's open-source, just like the AG2 framework.\r\n\r\n**[ag2ai/ag2-assistant](https://github.com/ag2ai/ag2-assistant)** — v1.0 engine, chat, scheduled tasks, working folders, generative UI, and voice. Includes an inspector panel showing the live AG2 event stream.\r\n\r\n---\r\n\r\n## New in this release\r\n\r\n### Protocols\r\n\r\n- **NLIP** — Integration for the Natural Language Interaction Protocol.\r\n- **ACP** — Support for the Agent Client Protocol, for driving CLI coding agents, together with an MCP tool gateway that exposes AG2 tools to those agents. The authentication and billing model for CLI agents is documented.\r\n- **MCP-UI** — Support for the MCP UI extension.\r\n\r\n### Tools\r\n\r\n- **Server-side tool search with deferred loading** — Agents can discover and load tools on demand rather than holding the full surface in context up front.\r\n- **OpenAI Responses** — `FileSearchTool` and `SkillsTool` support.\r\n- **Anthropic** — New `code_execution` version, and support for the current `web_fetch` and `web_search` tool versions.\r\n- **Gemini** — `FileSearchTool` store search and `GoogleMapsTool` grounding.\r\n- **Xquik** — New tweet search toolkit.\r\n- **Perplexity** — Sends an `X-Pplx-Integration` attribution header.\r\n\r\n### Providers\r\n\r\n- **Z.AI** — Files API support.\r\n- **OpenAI** — Encrypted reasoning content is now requested when `store` is false, so reasoning survives without server-side retention.\r\n\r\n### Observability\r\n\r\n- **Prometheus support** — Export metrics to a Prometheus scrape endpoint.\r\n- **Network tracing** — Tracing across the multi-agent network.\r\n\r\n---\r\n\r\n## Fixes\r\n\r\n### Reliability\r\n\r\n- **Failures are no longer swallowed.** Several paths silently discarded errors, which could result in silent data loss. They now surface. If you have error handling built around the previous behaviour, review it.\r\n- Redis listener cancellation is propagated correctly.\r\n- `SqliteKnowledgeStore` read paths are serialized with the connection lock.\r\n\r\n### Knowledge and history\r\n\r\n- `UsageEvent` telemetry is excluded from history compaction via the `__conversational__` marker.\r\n- History is sized correctly from event content.\r\n\r\n### Network and subagents\r\n\r\n- Namespaced delegate targets resolve correctly, and unknown targets are enumerated rather than failing opaquely.\r\n- `as_tool(stream=...)` accepts a `Stream` instance and rejects invalid types loudly rather than silently.\r\n\r\n### Events\r\n\r\n- `Enum` types are preserved across a serialization round-trip.\r\n\r\n### Dependencies\r\n\r\n- `nlip-server >= 0.1.3` required, dropping the transitive `fastapi < 0.116` pin.\r\n- `protobuf` and `typer` pins aligned so `uv` resolves all extras.\r\n- Unused dev, test, and types dependencies removed.\r\n\r\n---\r\n\r\n## Documentation and project\r\n\r\n- Documentation migrated to the 1.0.0 URL scheme, with broken links repaired, homepage 404s fixed, and navigation restructured.\r\n- The Blog tab is restored, carrying the Network and Agent Harness series.\r\n- README updated for AG2 focus, with AG2 Classic references throughout.\r\n- A triage policy, restructured repository labels, area-based `CODEOWNERS`, canned replies, and an AI task runbook have been added for contributors.\r\n\r\n---\r\n\r\n## Thank you ❤️ \r\n\r\nv1.0 exists because of the people who contributed code, opened issues, tested the betas, and pushed back on design decisions along the way. Feedback during the beta changed what shipped, more than once. Thank you.\r\n\r\n---\r\n\r\n## What's Changed\r\n* fix(nlip): require nlip-server>=0.1.3 to drop the fastapi<0.116 transitive pin by @genisis0x in https://github.com/ag2ai/ag2/pull/2980\r\n* fix(deps): align protobuf and typer pins so uv resolves all extras by @vvlrff in https://github.com/ag2ai/ag2/pull/3020\r\n* feat(beta): add ZAI Files API support by @vvlrff in https://github.com/ag2ai/ag2/pull/3019\r\n* feat!: promote autogen.beta to autogen, remove classic framework by @Lancetnik in https://github.com/ag2ai/ag2/pull/3023\r\n* fix(beta): exclude UsageEvent telemetry from history compaction via __conversational__ marker by @marklysze in https://github.com/ag2ai/ag2/pull/3033\r\n* fix(beta): correctly size history from event content by @marklysze in https://github.com/ag2ai/ag2/pull/3035\r\n* chore(deps): bump the uv group across 1 directory with 23 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3034\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3027\r\n* ci: build docs only on manual dispatch or published release by @Lancetnik in https://github.com/ag2ai/ag2/pull/3036\r\n* ci: upload one combined coverage report per run instead of per matrix job by @Lancetnik in https://github.com/ag2ai/ag2/pull/3037\r\n* feat: add NLIP integration for beta by @ash-jyc in https://github.com/ag2ai/ag2/pull/3024\r\n* fix: propagate redis listener cancellation (+ de-flake test, retry cleanup) by @vvlrff in https://github.com/ag2ai/ag2/pull/3018\r\n* chore: remove classic CLI by @marklysze in https://github.com/ag2ai/ag2/pull/3041\r\n* feat: add ACP support for driving CLI coding agents by @vvlrff in https://github.com/ag2ai/ag2/pull/3026\r\n* fix: export __version__ at ag2 top level by @marklysze in https://github.com/ag2ai/ag2/pull/3040\r\n* fix(test): de-flake test_cancelling_result_cancels_turn_inline by @marklysze in https://github.com/ag2ai/ag2/pull/3042\r\n* feat(tools): add server-side tool search with deferred tool loading by @vvlrff in https://github.com/ag2ai/ag2/pull/3032\r\n* Version bump to 1.0.0b0 by @marklysze in https://github.com/ag2ai/ag2/pull/3043\r\n* feat(tools): FileSearchTool and SkillsTool support on OpenAI Responses, new Anthropic code_execution version by @vvlrff in https://github.com/ag2ai/ag2/pull/3049\r\n* chore: sync uv.lock with 1.0.0b0 version bump by @vvlrff in https://github.com/ag2ai/ag2/pull/3048\r\n* docs: add Triage Policy and restructure repository labels by @Lancetnik in https://github.com/ag2ai/ag2/pull/3050\r\n* docs(triage): maintainer-authored issues enter at status:confirmed by @Lancetnik in https://github.com/ag2ai/ag2/pull/3052\r\n* ci(dependabot): add area labels to dependabot PRs by @Lancetnik in https://github.com/ag2ai/ag2/pull/3053\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3051\r\n* chore(deps): bump the uv group with 13 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3054\r\n* docs(triage): canned replies, AI task runbook, core-module areas by @Lancetnik in https://github.com/ag2ai/ag2/pull/3055\r\n* docs(triage): area-based CODEOWNERS and docs scope cleanup by @Lancetnik in https://github.com/ag2ai/ag2/pull/3056\r\n* feat: Prometheus support by @roma-frolov in https://github.com/ag2ai/ag2/pull/2762\r\n* fix(knowledge): serialize SqliteKnowledgeStore read paths with the connection lock by @marklysze in https://github.com/ag2ai/ag2/pull/3059\r\n* docs(website): fix homepage 404s and restructure navigation tabs by @Lancetnik in https://github.com/ag2ai/ag2/pull/3064\r\n* feat(gemini): FileSearchTool store search and GoogleMapsTool grounding by @vvlrff in https://github.com/ag2ai/ag2/pull/3063\r\n* chore(deps): bump j178/prek-action from 2.0.4 to 2.0.5 in the github-actions group by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3058\r\n* docs(acp): document authentication & billing model for CLI agents by @vvlrff in https://github.com/ag2ai/ag2/pull/3061\r\n* chore(deps): remove unused dev/test/types dependencies by @vvlrff in https://github.com/ag2ai/ag2/pull/3065\r\n* feat(beta): Network tracing by @marklysze in https://github.com/ag2ai/ag2/pull/2895\r\n* docs(blog): restore Blog tab with the AG2 Beta posts by @Lancetnik in https://github.com/ag2ai/ag2/pull/3068\r\n* test(openai): support openai>=2.45.0 InputTokensDetails in usage tests by @vvlrff in https://github.com/ag2ai/ag2/pull/3076\r\n* fix(docs): repair broken links and migrate to 1.0.0 URL scheme by @vvlrff in https://github.com/ag2ai/ag2/pull/3069\r\n* feat(anthropic): support new web_fetch/web_search tool versions by @vvlrff in https://github.com/ag2ai/ag2/pull/3067\r\n* fix(openai): request encrypted reasoning content when `store` is false by @marklysze in https://github.com/ag2ai/ag2/pull/3080\r\n* chore(deps): bump mistune from 3.2.1 to 3.3.0 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3074\r\n* feat(search): add Xquik tweet search toolkit by @kriptoburak in https://github.com/ag2ai/ag2/pull/3075\r\n* chore(deps): bump the uv group with 10 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3079\r\n* fix: stop swallowing failures (silent data loss) by @vvlrff in https://github.com/ag2ai/ag2/pull/3009\r\n* chore(deps): bump the github-actions group with 4 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3078\r\n* feat(perplexity): add X-Pplx-Integration attribution header by @futorio in https://github.com/ag2ai/ag2/pull/3083\r\n* feat(mcp): MCP-UI support by @vvlrff in https://github.com/ag2ai/ag2/pull/3077\r\n* chore(deps): bump the uv group with 15 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3090\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3089\r\n* chore(deps): bump lxml to 6.1.1 and pydantic-settings to 2.14.2 by @marklysze in https://github.com/ag2ai/ag2/pull/3093\r\n* chore(deps): bump gitpython from 3.1.50 to 3.1.52 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3094\r\n* chore(deps): bump pyasn1 from 0.6.3 to 0.6.4 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3095\r\n* docs: README tweaks for AG2 focus and AG2 Classic references by @marklysze in https://github.com/ag2ai/ag2/pull/3082\r\n* fix(test): guard tool_search tests against single-provider CI envs by @marklysze in https://github.com/ag2ai/ag2/pull/3100\r\n* fix(test): run the ACP test suite in CI and fix its Windows failure by @marklysze in https://github.com/ag2ai/ag2/pull/3103\r\n* chore(deps): bump gitpython from 3.1.52 to 3.1.54 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3105\r\n* chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3104\r\n* feat(acp): MCP tool gateway for CLI agents by @vvlrff in https://github.com/ag2ai/ag2/pull/3098\r\n* fix(beta/network): resolve namespaced and enumerate unknown delegate targets by @genisis0x in https://github.com/ag2ai/ag2/pull/3005\r\n* fix(events): preserve Enum types across serialization round-trip by @vvlrff in https://github.com/ag2ai/ag2/pull/3102\r\n* fix(beta/subagents): accept Stream instance in `as_tool(stream=...)` and reject invalid types loudly by @genisis0x in https://github.com/ag2ai/ag2/pull/2893\r\n* Version bump to 1.0.0 by @marklysze in https://github.com/ag2ai/ag2/pull/3099\r\n* Chore/v1.0.0 remove beta references by @marklysze in https://github.com/ag2ai/ag2/pull/3108\r\n\r\n## New Contributors\r\n* @ash-jyc made their first contribution in https://github.com/ag2ai/ag2/pull/3024\r\n* @roma-frolov made their first contribution in https://github.com/ag2ai/ag2/pull/2762\r\n* @kriptoburak made their first contribution in https://github.com/ag2ai/ag2/pull/3075\r\n* @futorio made their first contribution in https://github.com/ag2ai/ag2/pull/3083\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.14.0...v1.0.0","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/360157132/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":9},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/348795885","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/348795885/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/348795885/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v1.0.0b0","id":348795885,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4UyjPt","tag_name":"v1.0.0b0","target_commitish":"main","name":"v1.0.0b0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-03T20:05:01Z","updated_at":"2026-07-04T11:33:25Z","published_at":"2026-07-03T21:08:59Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v1.0.0b0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v1.0.0b0","body":"# 🎉 AG2 v1.0.0b0 - The First Beta of v1.0\r\n\r\nWe've reached a major milestone and are one step closer to v1.0: **v1.0.0b0 is the first beta of AG2 v1.0**. The new framework we've been building as an agentic platform for production use. The classic framework (autogen.x / ConversableAgent) has now been removed from this repository.\r\n\r\n**A big thanks to everyone who has been involved with building this new framework.** \r\n\r\n---\r\n\r\n## AG2 Classic Has Moved (autogen / ConversableAgent)\r\n\r\nThe **AG2 Classic** framework — everything you know as `ConversableAgent`, `GroupChat`, `initiate_chat`, and the surrounding tooling — now lives at its own repository: **[ag2ai/ag2-classic](https://github.com/ag2ai/ag2-classic)**. It continues to be maintained in **maintenance mode** (security and critical bug fixes).\r\n\r\n## What to Install\r\n\r\n| Install command | What you get | Repo |\r\n|---|---|---|\r\n| `pip install ag2` | The **new AG2** — actively developed (this release: v1.0.0b0) | [ag2ai/ag2](https://github.com/ag2ai/ag2) |\r\n| `pip install autogen` | **AG2 Classic** (`ConversableAgent`, `GroupChat`, …) — maintenance mode | [ag2ai/ag2-classic](https://github.com/ag2ai/ag2-classic) |\r\n\r\n**If you build with `ConversableAgent` and want to stay on AG2 Classic, use `pip install autogen`.** The import path stays `import autogen` — nothing changes for your existing code.\r\n\r\n**If you're moving to the new AG2**, the top-level package is now imported as `ag2` (the `autogen` import name is no longer available in this repo). Install with `pip install ag2` and import with `import ag2`.\r\n\r\n---\r\n\r\n## Beta Promoted to Mainline\r\n\r\nThis is the foundational change of the v1.0 series:\r\n\r\n- **`autogen.beta` promoted to the top level ag2.x** – The framework built up under `autogen.beta` across v0.12 → v0.14 is now the mainline framework in this repo.\r\n- **Classic framework removed** – The classic agents, orchestration surfaces, and interoperability layers that were deprecated in v0.12.0 and removed from this repo in v0.14.0 are now fully absent. Classic users should migrate to [ag2ai/ag2-classic](https://github.com/ag2ai/ag2-classic).\r\n- **Classic CLI removed** – The classic command-line entry point is gone with the classic framework.\r\n\r\n---\r\n\r\n## 🌐 New Features\r\n\r\n### 🔗 NLIP Integration\r\n\r\n- **NLIP support** – First-class integration for the Natural Language Interaction Protocol.\r\n\r\n### 💻 ACP — Drive CLI Coding Agents\r\n\r\n- **ACP support** – First-class support for driving external CLI coding agents (Claude Code, Codex, OpenCode, Gemini CLI, and others) as Agents over Agent Client Protocol (ACP)!\r\n\r\n### 🔍 Server-Side Tool Search + Deferred Loading\r\n\r\n- **Server-side tool search** – New tool discovery mechanism with **deferred tool loading**, so agents can find and load tools on demand rather than upfront.\r\n\r\n### 📁 Z.AI Files API\r\n\r\n- **Z.AI Files API** – File API support added to the Z.AI (GLM) provider.\r\n\r\n---\r\n\r\n## 🔧 Fixes & Improvements\r\n\r\n- 🧪 **UsageEvent excluded from history compaction** – `UsageEvent` telemetry is now excluded from history compaction via the `__conversational__` marker.\r\n- 📏 **History sizing** – History is now sized correctly for effective compaction with the agent harness.\r\n- 🔴 **Redis listener cancellation** – Redis listener cancellation is now propagated correctly.\r\n- 🔢 **`__version__` at top level** – `__version__` is now exported at the top level of the package.\r\n- 📦 **NLIP dependency** – Require `nlip-server >= 0.1.3` to drop the transitive `fastapi < 0.116` pin.\r\n- 📦 **Extras resolution** – Align `protobuf` and `typer` pins so `uv` resolves all extras.\r\n\r\n---\r\n\r\n## 🏗️ CI & Maintenance\r\n\r\n- Documentation builds only on manual dispatch or published release.\r\n- One combined coverage report per run instead of per matrix job.\r\n- Dependency bumps: `uv` group (23 updates), `github-actions` group (2 + Anthropic Claude Code Action).\r\n\r\n## What's Changed\r\n* fix(nlip): require nlip-server>=0.1.3 to drop the fastapi<0.116 transitive pin by @genisis0x in https://github.com/ag2ai/ag2/pull/2980\r\n* fix(deps): align protobuf and typer pins so uv resolves all extras by @vvlrff in https://github.com/ag2ai/ag2/pull/3020\r\n* feat(beta): add ZAI Files API support by @vvlrff in https://github.com/ag2ai/ag2/pull/3019\r\n* feat!: promote autogen.beta to autogen, remove classic framework by @Lancetnik in https://github.com/ag2ai/ag2/pull/3023\r\n* fix(beta): exclude UsageEvent telemetry from history compaction via __conversational__ marker by @marklysze in https://github.com/ag2ai/ag2/pull/3033\r\n* fix(beta): correctly size history from event content by @marklysze in https://github.com/ag2ai/ag2/pull/3035\r\n* chore(deps): bump the uv group across 1 directory with 23 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3034\r\n* chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/3027\r\n* ci: build docs only on manual dispatch or published release by @Lancetnik in https://github.com/ag2ai/ag2/pull/3036\r\n* ci: upload one combined coverage report per run instead of per matrix job by @Lancetnik in https://github.com/ag2ai/ag2/pull/3037\r\n* feat: add NLIP integration for beta by @ash-jyc in https://github.com/ag2ai/ag2/pull/3024\r\n* fix: propagate redis listener cancellation (+ de-flake test, retry cleanup) by @vvlrff in https://github.com/ag2ai/ag2/pull/3018\r\n* chore: remove classic CLI by @marklysze in https://github.com/ag2ai/ag2/pull/3041\r\n* feat: add ACP support for driving CLI coding agents by @vvlrff in https://github.com/ag2ai/ag2/pull/3026\r\n* fix: export __version__ at ag2 top level by @marklysze in https://github.com/ag2ai/ag2/pull/3040\r\n* fix(test): de-flake test_cancelling_result_cancels_turn_inline by @marklysze in https://github.com/ag2ai/ag2/pull/3042\r\n* feat(tools): add server-side tool search with deferred tool loading by @vvlrff in https://github.com/ag2ai/ag2/pull/3032\r\n* Version bump to 1.0.0b0 by @marklysze in https://github.com/ag2ai/ag2/pull/3043\r\n\r\n## New Contributors\r\n* @ash-jyc made their first contribution in https://github.com/ag2ai/ag2/pull/3024\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.14.0...v1.0.0b0","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/348795885/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":6},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/345125487","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/345125487/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/345125487/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.14.0","id":345125487,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4UkjJv","tag_name":"v0.14.0","target_commitish":"main","name":"v0.14.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-26T04:11:59Z","updated_at":"2026-06-26T04:47:32Z","published_at":"2026-06-26T04:47:32Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.14.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.14.0","body":"## Highlights\r\n\r\n### 🛣️ Path to v1.0 — Deprecations Removed\r\n\r\nv0.14.0 is a milestone release on the path to v1.0. The deprecations announced in v0.12.0 have now been **removed** from the **Classic framework** (`autogen`). This brings us very close to v1.0, where the **Beta framework** (`autogen.beta`) will become the new AG2.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n---\r\n\r\n## ⚠️ Preparing for v1.0 — `pip install autogen` vs `pip install ag2`\r\n\r\nAt v1.0, the package names will reflect AG2's transition. **If you build with `ConversableAgent` today, this matters to you:**\r\n\r\n| Install command | What you get |\r\n|---|---|\r\n| `pip install autogen` | **AG2 Classic** — the current `ConversableAgent`-based framework |\r\n| `pip install ag2` | **The new AG2** — the framework that is currently in Beta (`autogen.beta`) |\r\n\r\nIf you want to **stay on AG2 Classic past v1.0**, use **`pip install autogen`**. At v1.0, the Classic codebase will move to its own branch or repo, while `pip install ag2` will install the new framework that today lives under `autogen.beta`.\r\n\r\n---\r\n\r\n## 🔬 Beta Framework\r\n\r\n### 🖥️ A2UI\r\n\r\n- 🖥️ **A2UI** – A2UI joins the beta framework! Beta agents can now generate UI on the fly. [Docs](https://docs.ag2.ai/latest/docs/beta/a2ui/overview/)\r\n\r\n### 🤖 Observable `Agent.run` / `AgentReply.run`\r\n\r\n- 👁️ **Observable run surface** – New `Agent.run` and `AgentReply.run` methods sit alongside `ask`, returning an observable handle so callers can step through and/or watch the run as it unfolds. [Docs](https://docs.ag2.ai/latest/docs/beta/agents/#watching-a-turn-live-with-run)\r\n\r\n### 🧠 Agent Resume\r\n\r\n- 🔁 **Agent Resume** – Resume an agent's execution from an intermediate state, rather than just a turn. Allows fine-grained replays and forking. [Docs](https://docs.ag2.ai/latest/docs/beta/resume/)\r\n\r\n### ⚡ New LLM Provider\r\n\r\n- ⚡ **Z.AI (GLM)** – Added support for Z.AI / GLM models, including GLM 5.2.\r\n\r\n### 🎨 Gemini: Image Generation & Editing\r\n\r\n- 🖼️ **Gemini Image Generation, Editing & `image_config`** – The Beta Gemini config now supports image generation, editing, and a dedicated `image_config` for fine-tuned image behavior. [Docs](https://docs.ag2.ai/latest/docs/beta/multimodal/image_generation/)\r\n\r\n### 🧰 Skills\r\n\r\n- 🏗️ **Multi-Runtime Composition + MemorySkill** – Skills can now compose across runtimes; new `MemorySkill` provides code-defined skills.\r\n\r\n### 🌐 Network\r\n\r\n- 🏷️ **`Hub.register(agent)` Convenience** – New convenience method with per-agent client lifecycle.\r\n- 🔧 **Fail Fast on Self-Delegation** – Network now fails fast when a delegate targets itself.\r\n\r\n### 🔧 Beta Fixes & Improvements\r\n\r\n- 🔁 **Compaction Preserves Tool Cycles** – Compaction now keeps tool-call cycles intact and renders `CompactionSummary` correctly.\r\n- 🧱 **Zero-Argument Tools JSON Schema** – Emit a valid empty-object JSON Schema for zero-argument tools.\r\n- 🔧 **Falsy Non-Field Event Defaults** – Preserve falsy non-`Field` defaults on events.\r\n- 🔧 **Gemini Multi-Part Text** – Concatenate multi-part text in non-streaming response.\r\n- 🔧 **OpenAI Completions Mapper** – Dropped unreachable `FileIdInput` branch.\r\n\r\n---\r\n\r\n## ⚙️ Classic Framework\r\n\r\n### 🧹 Deprecation Removal (v0.12.0 → v0.14.0)\r\n\r\nPer the deprecation announcement in v0.12.0, this release **removes** the following from Classic:\r\n\r\n- 🗑️ Deprecated agents\r\n- 🗑️ Deprecated capabilities\r\n- 🗑️ Deprecated tools\r\n- 🗑️ Deprecated interoperability surfaces\r\n\r\nIf you depend on any of these, pin to **v0.13.x** or earlier, or migrate to current Classic equivalents before upgrading.\r\n\r\n---\r\n\r\n## 📔 Documentation\r\n\r\n- 📔 **Network Series Complete** – [Networks You Can Deploy](https://docs.ag2.ai/latest/docs/blog/2026/06/16/AG2-Network-Networks-You-Can-Deploy/) is the fourth and final post in the AG2 Network deep-dive series (federation, dynamic membership, production-incident walk-through).\r\n- 📔 **Agent Harness Series Begins** – [First post in a new series](https://docs.ag2.ai/latest/docs/blog/2026/06/17/AG2-Agent-Harness/) on the Agent Harness, zooming inside a single long-running agent.\r\n- 📔 **AI Coding Agent Docs** – New documentation support for AI coding agents working in the AG2 codebase.\r\n- 📔 **[TealTiger](https://docs.ag2.ai/latest/docs/ecosystem/tealtiger/)** – Added to the ecosystem sidebar.\r\n\r\n## What's Changed\r\n* fix(beta/config/openai): drop unreachable FileIdInput branch in completions mapper by @genisis0x in https://github.com/ag2ai/ag2/pull/2973\r\n* style(beta/bedrock): collapse nested if statements (ruff SIM102) by @vvlrff in https://github.com/ag2ai/ag2/pull/2971\r\n* feat(beta): gemini config accepts custom async httpx client by @vvlrff in https://github.com/ag2ai/ag2/pull/2974\r\n* fix(beta/config/gemini): concatenate multi-part text in non-streaming response by @marklysze in https://github.com/ag2ai/ag2/pull/2977\r\n* feat(beta): Agent resume by @marklysze in https://github.com/ag2ai/ag2/pull/2970\r\n* docs(blog): Networks You Can Deploy (Network blog post 4/4) by @marklysze in https://github.com/ag2ai/ag2/pull/2978\r\n* fix(beta): keep tool cycles intact during compaction and render CompactionSummary correctly by @marklysze in https://github.com/ag2ai/ag2/pull/2979\r\n* fix(beta/events): preserve falsy non-Field defaults on events by @genisis0x in https://github.com/ag2ai/ag2/pull/2972\r\n* docs(beta): collapse double blank lines in code blocks and fix highlights by @Lancetnik in https://github.com/ag2ai/ag2/pull/2981\r\n* refactor(beta): prefer context.send over stream.send in tests; add ADR by @Lancetnik in https://github.com/ag2ai/ag2/pull/2982\r\n* chore(docs): remove auto-generated API Reference system by @Lancetnik in https://github.com/ag2ai/ag2/pull/2983\r\n* fix(beta/tools): emit a valid empty-object JSON Schema for zero-argument tools by @marklysze in https://github.com/ag2ai/ag2/pull/2985\r\n* chore(deps): bump the github-actions group across 1 directory with 9 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2969\r\n* ci(docs): squash gh-pages commits to stop history bloat by @Lancetnik in https://github.com/ag2ai/ag2/pull/2989\r\n* feat(beta/gemini): add image generation, editing & image_config by @marklysze in https://github.com/ag2ai/ag2/pull/2993\r\n* docs(beta): AI coding agent documentation support by @marklysze in https://github.com/ag2ai/ag2/pull/2958\r\n* feat(beta/skills): multi-runtime composition + MemorySkill (code-defined skills) by @Lancetnik in https://github.com/ag2ai/ag2/pull/2990\r\n* ci(docs): squash gh-pages relative to origin/gh-pages by @marklysze in https://github.com/ag2ai/ag2/pull/2994\r\n* fix(beta/network): fail fast when delegate targets self by @obchain in https://github.com/ag2ai/ag2/pull/2998\r\n* Update Gemini flash model in docs and tests by @marklysze in https://github.com/ag2ai/ag2/pull/3003\r\n* Removal of deprecated agents, capabilities, tools, and interoperability by @marklysze in https://github.com/ag2ai/ag2/pull/3002\r\n* Docs: Add TealTiger to ecosystem sidebar navigation by @nagasatish007 in https://github.com/ag2ai/ag2/pull/2986\r\n* docs(blog): Agent Harness (post 1/2) by @marklysze in https://github.com/ag2ai/ag2/pull/2965\r\n* feat(beta): add observable Agent.run / AgentReply.run alongside ask by @Lancetnik in https://github.com/ag2ai/ag2/pull/3001\r\n* feat(network): add Hub.register(agent) convenience with per-agent client lifecycle by @Lancetnik in https://github.com/ag2ai/ag2/pull/3007\r\n* chore(deps): bump anthropics/claude-code-action from 1.0.141 to 1.0.149 in the github-actions group by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2995\r\n* chore: Package version bumps by @marklysze in https://github.com/ag2ai/ag2/pull/3011\r\n* feat(beta/zai): add Z.AI (GLM) provider by @vvlrff in https://github.com/ag2ai/ag2/pull/2999\r\n* feat(beta): a2ui by @vvlrff in https://github.com/ag2ai/ag2/pull/2975\r\n* test(beta): skip a2ui ag-ui e2e test when ag_ui is not installed by @marklysze in https://github.com/ag2ai/ag2/pull/3013\r\n* chore: Support 'package' as OpenAI parameter and bump minimum openai version by @marklysze in https://github.com/ag2ai/ag2/pull/3014\r\n* test(beta): Fix flaky discussion round-robin smoke test by @marklysze in https://github.com/ag2ai/ag2/pull/3015\r\n* Version bump to 0.14 by @marklysze in https://github.com/ag2ai/ag2/pull/3016\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.13.4...v0.14.0","mentions_count":7},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/338800307","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/338800307/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/338800307/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.13.4","id":338800307,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4UMa6z","tag_name":"v0.13.4","target_commitish":"main","name":"v0.13.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-12T18:44:21Z","updated_at":"2026-06-12T20:49:37Z","published_at":"2026-06-12T20:43:47Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.13.4","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.13.4","body":"## Highlights\r\n\r\n### 🛣️ Continuing the Path to v1.0\r\n\r\nThree important Beta additions: serving an AG2 Agent as an **MCP server**, **SkillPlugin** with agentskills.io spec support, and a new **Amazon Bedrock** Beta client.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n---\r\n\r\n## 🔬 Beta Framework (`autogen.beta`)\r\n\r\n### 🔌 AG2 Agent as an MCP Server\r\n\r\nv0.13.0 added MCP support as a *client*: any AG2 Agent can now be served *as* an MCP server, with **OAuth Resource Server authentication** for production-grade access control. Enables any MCP client to use an AG2 Agent as a tool.\r\n\r\n**Docs:** [MCP Servers](https://docs.ag2.ai/latest/docs/beta/tools/mcp_servers/)\r\n\r\n### 🧰 SkillPlugin — agentskills.io Spec-Aligned Skills\r\n\r\n- **SkillPlugin** – Give agents access to local skills aligned with the [agentskills.io](https://agentskills.io/) spec. Skills become a first-class, portable extension surface for AG2 Agents.\r\n\r\n### ☁️ Amazon Bedrock Beta Client\r\n\r\n- **Amazon Bedrock Beta Client** – New Beta client for Amazon Bedrock, bringing Bedrock into the Beta config architecture.\r\n\r\n### Usage\r\n\r\n- **Decoupled UsageEvent** – New usage reporting via a decoupled `UsageEvent` for cleaner separation between LLM calls and usage tracking.\r\n\r\n### 📔 Documentation\r\n\r\n- 📔 Tweaked Beta cookbook examples for reliability.\r\n- 📔 Added [TealTiger](https://docs.ag2.ai/latest/docs/ecosystem/) governance integration example to ecosystem.\r\n\r\n## What's Changed\r\n* ci: bump codecov-action to v7.0.0 (fixes bricked-keybase GPG key import failure by @marklysze in https://github.com/ag2ai/ag2/pull/2954\r\n* feat(beta/skills): SkillPlugin + agentskills.io spec-aligned local skills by @Lancetnik in https://github.com/ag2ai/ag2/pull/2957\r\n* docs(beta): Tweak cookbook examples for reliability by @marklysze in https://github.com/ag2ai/ag2/pull/2960\r\n* fix(test): improve asyncio.sleep use reliability by @marklysze in https://github.com/ag2ai/ag2/pull/2961\r\n* feat(beta/mcp): serve an AG2 Agent as an MCP server (+ OAuth Resource Server auth) by @jsun-m in https://github.com/ag2ai/ag2/pull/2937\r\n* feat(beta): add usage reporting via decoupled UsageEvent by @vvlrff in https://github.com/ag2ai/ag2/pull/2952\r\n* feat(beta): Amazon Bedrock client by @marklysze in https://github.com/ag2ai/ag2/pull/2959\r\n* fix(beta/test): make concurrent-tool-execution test deterministic by @marklysze in https://github.com/ag2ai/ag2/pull/2964\r\n* fix(beta): aggregation should only count conversational/work events by @marklysze in https://github.com/ag2ai/ag2/pull/2963\r\n* Docs: Add TealTiger governance integration example by @nagasatish007 in https://github.com/ag2ai/ag2/pull/2962\r\n* Version bump to 0.13.4 by @marklysze in https://github.com/ag2ai/ag2/pull/2966\r\n\r\n## New Contributors\r\n* @nagasatish007 made their first contribution in https://github.com/ag2ai/ag2/pull/2962\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.13.3...v0.13.4","mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/334807950","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/334807950/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/334807950/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.13.3","id":334807950,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4T9MOO","tag_name":"v0.13.3","target_commitish":"main","name":"v0.13.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-05T06:36:34Z","updated_at":"2026-06-05T08:13:29Z","published_at":"2026-06-05T08:13:29Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.13.3","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.13.3","body":"## Highlights\r\n\r\n### 🛣️ Continuing the Path to v1.0\r\n\r\nv0.13.3 brings a major Beta milestone — the **cross-process Network** — plus a new **`background_agent_tool`**, a **Sandbox protocol**, and evaluation improvements.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n---\r\n\r\n## 🔬 Beta Framework (`autogen.beta`)\r\n\r\n### 🌐 Cross-Process Network\r\n\r\nThe Network introduced in v0.13.0 ran in-process. v0.13.3 extends it across process boundaries — agents living in separate processes (and separate machines) can now participate in the same channels.\r\n\r\n- 🔌 **Cross-Process Data Plane** – `WsLink` carries envelopes between hub and clients over WebSocket, with auth and delivery semantics.\r\n- 🎛️ **Cross-Process Control Plane** – Frame-based RPC for the hub's control surface (registration, channel lifecycle, governance).\r\n\r\n📔 **Docs:** [Distributed Deployment](https://docs.ag2.ai/latest/docs/beta/network/distributed/)\r\n\r\n### 🤖 Background Agent Tool\r\n\r\n- New `background_agent_tool` for running an agent in the background while the parent agent continues — useful for long-running work that shouldn't block the foreground conversation.\r\n\r\n### 🏖️ Sandbox Protocol\r\n\r\n- 🧰 **Sandbox Protocol + LocalSandbox** – New `Sandbox` protocol introduces a clean abstraction for sandboxed execution, with a `LocalSandbox` implementation that runs locally.\r\n\r\n### Other Beta Updates\r\n\r\n- 🧪 **Eval: Optional Reference Answer** – Agent-as-a-judge and Pairwise judge can now exclude reference answers (`autogen.beta.eval`).\r\n- 🔗 **A2A** – Create artifact before appending streamed text chunks (a2a-sdk 1.1.0); validate A2A protocol version during connection.\r\n- 🧠 **OpenAI Reasoning Tokens** (fix) – Beta OpenAI client now maps reasoning tokens to `thinking_tokens` rather than `cache_creation`.\r\n- 🌊 **Stream** – Guard `Stream.get` against a second matching event aborting the turn.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **NoneType Crash** – Prevent crash on missing tool result.\r\n\r\n---\r\n\r\n## ⚙️ Classic Framework\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **AutoPattern `TerminateTarget`** – Prevent `TerminateTarget` from being silently ignored by `AutoPattern`.\r\n- 🔧 **OpenAI 2.41.0 Moderation Field** – Sync the local `ChatCompletion` model with the new moderation field in openai 2.41.0.\r\n\r\n## What's Changed\r\n* fix: prevent TerminateTarget from being silently ignored by AutoPattern by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2606\r\n* fix(beta/a2a): create artifact before appending streamed text chunks (a2a-sdk 1.1.0) by @marklysze in https://github.com/ag2ai/ag2/pull/2924\r\n* chore(deps-dev): bump uv from 0.11.6 to 0.11.15 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2925\r\n* fix(beta): prevent NoneType crash on missing tool result by @marklysze in https://github.com/ag2ai/ag2/pull/2918\r\n* fix(beta/openai): map reasoning tokens to thinking_tokens, not cache_creation by @vvlrff in https://github.com/ag2ai/ag2/pull/2928\r\n* feat(beta/network): cross-process data plane (WsLink, auth, delivery) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2914\r\n* fix(beta/stream): guard Stream.get against second matching event aborting the turn by @vvlrff in https://github.com/ag2ai/ag2/pull/2929\r\n* chore: fix typos in code and docstrings (INEGER, OepnAI, GrapStoreQueryResult, GraphRagCapbility) by @vvlrff in https://github.com/ag2ai/ag2/pull/2933\r\n* fix(beta/a2a): validate A2A protocol version during connection by @vvlrff in https://github.com/ag2ai/ag2/pull/2935\r\n* feat(beta/network): cross-process control plane via frame RPC by @SirEntropy in https://github.com/ag2ai/ag2/pull/2915\r\n* feat(beta): add background_agent_tool by @vvlrff in https://github.com/ag2ai/ag2/pull/2900\r\n* feat(beta/eval): Allow reference answer to be excluded for Agent-as-a-judge and Pairwise judge by @marklysze in https://github.com/ag2ai/ag2/pull/2936\r\n* feat(beta): introduce Sandbox protocol and LocalSandbox by @vvlrff in https://github.com/ag2ai/ag2/pull/2879\r\n* fix(oai): sync local ChatCompletion model with openai 2.41.0 moderation field by @marklysze in https://github.com/ag2ai/ag2/pull/2939\r\n* fix(test): skip TinyFish tests when tinyfish is not installed by @marklysze in https://github.com/ag2ai/ag2/pull/2938\r\n* fix(beta/network): make hub envelope ids strictly monotonic by @SirEntropy in https://github.com/ag2ai/ag2/pull/2941\r\n* Version bump to 0.13.3 by @marklysze in https://github.com/ag2ai/ag2/pull/2940\r\n* feat(beta/eval): export run_agent spans to an external backend by @marklysze in https://github.com/ag2ai/ag2/pull/2919\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.13.2...v0.13.3","mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/331223196","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/331223196/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/331223196/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.13.2","id":331223196,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4TvhCc","tag_name":"v0.13.2","target_commitish":"main","name":"v0.13.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-28T23:54:45Z","updated_at":"2026-05-29T01:00:00Z","published_at":"2026-05-29T01:00:00Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.13.2","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.13.2","body":"## Highlights\r\n\r\n### 🛣️ Continuing the Path to v1.0\r\n\r\nv0.13.2 brings Agent Evaluations in Beta! Also, two new V2 LLM clients in Classic, and a security fix.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n---\r\n\r\n## 🔬 Beta Framework (`autogen.beta`)\r\n\r\n### Agent Evaluations\r\n\r\n- 🧪 **Agent Evaluations** – New evaluation framework for grading agent outputs (`autogen.beta.eval`).\r\n🎮 **Try it live in the [AG2 Playground](https://playground.ag2.ai/)**\r\n📔 **Docs:** [Evaluation](https://docs.ag2.ai/latest/docs/beta/evaluation/evaluation/)\r\n\r\n### Other Beta Updates\r\n\r\n- 📁 **xAI File API** – Implemented file API support in the Beta xAI provider.\r\n- 🔧 **OpenAI Config Cleanup** – Omit empty parameters in Beta OpenAI configs.\r\n\r\n## ⚙️ Classic Framework\r\n\r\n### New V2 LLM Clients\r\n\r\n- 🤖 **Anthropic V2 Client** – Next-generation Anthropic client using the `UnifiedResponse` architecture.\r\n- ☁️ **Bedrock V2 Client** – Next-generation AWS Bedrock client returning `UnifiedResponse` with provider, model, text, usage, and cost.\r\n\r\n### 🔐 Security\r\n\r\n- 🛡️ **Context Expression — Code Injection Fix (GHSA-9fvw-gr53-m7fw)** – `ContextExpression` now escapes string values before `eval` to prevent code injection. **All users on prior versions should upgrade.**\r\n- 🐚 **Shell Operators Blocked in Readonly Mode** – Block shell operators when running in readonly / allowed-command mode.\r\n\r\n### LLM & Tooling Fixes\r\n\r\n- 🔧 **`tool_call` Simulation** – Fixed tool_call simulation in agent messages.\r\n- 🔧 **Double-Registration Guard** – Avoid double-registering pre-registered tools in `run()`.\r\n- 🔧 **DeepResearchAgent None Summary** – Fixed DeepResearchAgent returning `None` summary.\r\n- 🔧 **`RunCompletionEvent` Summary** – Coerce chat summary to `str`.\r\n\r\n### Integrations\r\n\r\n- 🔌 **LlamaIndex 0.13** – Support workflow-based agents introduced in llama-index 0.13.\r\n- 🔌 **MCP `StdioConfig`** – Pass `working_dir` to `StdioServerParameters`.\r\n\r\n### Windows / UTF-8 Encoding\r\n\r\n- 🔤 Pinned UTF-8 encoding across multiple modules to prevent Windows `charmap` errors:\r\n  - General text artifacts\r\n  - `document_agent` Docling conversion\r\n  - `coding` user-defined functions module\r\n  - `config_list_from_json` file reads\r\n\r\n---\r\n\r\n## 🔁 Framework-Wide\r\n\r\n- 🐟 **TinyFish Search & Fetch Tools** – Expands TinyFish integration so AG2 agents can use all three TinyFish web APIs. Lands as a Beta extension *and* a Classic experimental tool:\r\n  - **Beta:** `TinyFishSearchToolkit` in `autogen.beta.extensions.tools.search` (exposes both search and fetch)\r\n  - **Classic:** `TinyFishSearchTool` and `TinyFishFetchTool` in `autogen.tools.experimental.tinyfish`, alongside the existing `TinyFishTool`\r\n  - URL scheme validation for `tinyfish_fetch` (rejects non-`http(s)` URLs)\r\n  \r\n ## What's Changed\r\n* Feat(beta): implement xAI File API by @vvlrff in https://github.com/ag2ai/ag2/pull/2898\r\n* fix: write generated text artifacts as UTF-8 to avoid Windows charmap errors by @genisis0x in https://github.com/ag2ai/ag2/pull/2815\r\n* chore: Replace gemini-3.1-flash-lite-preview with gemini-3.1-flash-lite by @marklysze in https://github.com/ag2ai/ag2/pull/2901\r\n* feat(beta): Agent Evaluations by @marklysze in https://github.com/ag2ai/ag2/pull/2797\r\n* fix(beta): omit empty parameters in OpenAI configs by @marklysze in https://github.com/ag2ai/ag2/pull/2902\r\n* Fix `LLMConfig` for 5 notebooks (7) by @0xfandom in https://github.com/ag2ai/ag2/pull/2789\r\n* fix: coerce chat summary to str for RunCompletionEvent by @genisis0x in https://github.com/ag2ai/ag2/pull/2799\r\n* fix(document_agent): write Docling conversion artifacts as UTF-8 (#1731) by @genisis0x in https://github.com/ag2ai/ag2/pull/2814\r\n* fix: tool_call simulation in agent messages by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2291\r\n* Anthropic v2 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2330\r\n* feat: implement Bedrock v2 client by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2343\r\n* fix: pass working_dir to StdioServerParameters in StdioConfig by @jnMetaCode in https://github.com/ag2ai/ag2/pull/2456\r\n* docs: add Hindsight ecosystem page by @DK09876 in https://github.com/ag2ai/ag2/pull/2545\r\n* fix: avoid double-registering pre-registered tools in run() (#1770) by @genisis0x in https://github.com/ag2ai/ag2/pull/2786\r\n* fix(coding): write user-defined functions module as UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2819\r\n* fix: DeepResearchAgent returning None summary (#1770) by @TheApexWu in https://github.com/ag2ai/ag2/pull/2744\r\n* Add TinyFish search and fetch tools by @pranavjana in https://github.com/ag2ai/ag2/pull/2820\r\n* feat(beta/eval): add threshold() scorer + agent_judge(threshold=) for pass/fail gating by @marklysze in https://github.com/ag2ai/ag2/pull/2905\r\n* fix(beta): stop shipping beta extensions as pyproject extras by @Lancetnik in https://github.com/ag2ai/ag2/pull/2916\r\n* fix: block shell operators in readonly/allowed-command mode by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2689\r\n* fix(llm_config): pin config_list_from_json file reads to UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2909\r\n* fix(context-expression): escape string values before eval to prevent code injection (GHSA-9fvw-gr53-m7fw) by @bassilkhilo-ag2 in https://github.com/ag2ai/ag2/pull/2891\r\n* fix(llamaindex): support workflow-based agents introduced in llama-index 0.13 by @genisis0x in https://github.com/ag2ai/ag2/pull/2817\r\n* Version bump to 0.13.2 by @marklysze in https://github.com/ag2ai/ag2/pull/2917\r\n\r\n## New Contributors\r\n* @0xfandom made their first contribution in https://github.com/ag2ai/ag2/pull/2789\r\n* @DK09876 made their first contribution in https://github.com/ag2ai/ag2/pull/2545\r\n* @TheApexWu made their first contribution in https://github.com/ag2ai/ag2/pull/2744\r\n* @pranavjana made their first contribution in https://github.com/ag2ai/ag2/pull/2820\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.13.1...v0.13.2","mentions_count":12},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/328197730","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/328197730/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/328197730/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.13.1","id":328197730,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Tj-Zi","tag_name":"v0.13.1","target_commitish":"main","name":"v0.13.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-23T00:35:36Z","updated_at":"2026-05-23T01:20:53Z","published_at":"2026-05-23T01:20:53Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.13.1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.13.1","body":"## Highlights\r\n\r\n### 🛣️ Continuing the Path to v1.0\r\n\r\nv0.13.1 spans both the **Beta** and **Classic** frameworks.\r\n\r\n📍 [Release Roadmap to v1.0](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n---\r\n\r\n## 🔬 Beta Framework\r\n\r\n### Dynamic Agents\r\n\r\n- 🏭 **Dynamic Tool Factory** – Agents can now create an agent dynamically through their tooling.\r\n\r\n### AG-UI\r\n\r\n- 🧠 **Reasoning Messages** – AG-UI now supports reasoning messages in both directions.\r\n- 🎨 **Multimodal User Content** – AG-UI supports multimodal user message content.\r\n- 📷 **Media Inputs** – Added media input support to the AG-UI stream handler.\r\n\r\n### New LLM Provider\r\n\r\n- ⚡ **xAI Provider** – Added support for xAI (Grok) models.\r\n\r\n### Network\r\n\r\n- 🏷️ **Named Views** – N-party channels now support `[name]` prefixes for clearer multi-party addressing.\r\n- 🏁 **Workflow Finish Tool** – Tools can now signal completion to the `WorkflowAdapter`, ending the workflow from within a tool call.\r\n- 🔄 **Consistent Envelope Rendering** – Current-turn envelopes now render consistently with history, plus a coordinator pattern.\r\n- 🧹 **DiscussionAdapter Cleanup** – Removed the `say` tool from the `DiscussionAdapter`.\r\n\r\n### Middleware\r\n\r\n- 🚦 **ConditionalMiddleware** – New middleware (`autogen.beta.middleware`) to gate middleware activation based on event conditions.\r\n- 🔧 **Event Type Negation** – Added `__invert__` to `_ConditionMeta` (`autogen.beta.events`) for negating event types (e.g. `~ToolCallEvent`).\r\n\r\n### Other Beta Updates\r\n\r\n- 📊 **Custom Telemetry Spans** – Add custom span attributes and values for telemetry.\r\n- 🔤 **UTF-8 Encoding** – Pinned read/write encoding to UTF-8 in the Beta filesystem toolset.\r\n\r\n---\r\n\r\n## ⚙️ Core Framework\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **RemoteAgent (A2A)** – Initialize the task variable in `autogen/a2a/client.py` to prevent `UnboundLocalError`.\r\n- 🔧 **fast_depends** – Route keyword-passed positional-or-keyword params before `**kwargs` in the vendored `autogen.fast_depends` (fixes tool calls that declare regular args alongside `**kwargs`).\r\n- 🔧 **Responses Image Costs** – Count Responses image costs per output item (`autogen/oai/openai_responses.py`).\r\n- 🔧 **LLM Guardrail** – Use a serializable guardrail response schema.\r\n- 🔧 **LangChain Interop** – Use `arun` for async LangChain tools.\r\n- 🔤 **UTF-8 Encoding** – Pinned encoding in `mcp_proxy`, `PythonEnvironment`, and Jupyter HTML output.\r\n\r\n---\r\n\r\n## 🔁 Classic and Beta\r\n\r\n- 📦 **OpenAI SDK 2.x Migration** – Migrated the codebase to OpenAI SDK 2.x, aligning both the Core client (`autogen/oai/`) and the Beta OpenAI config (`autogen/beta/config/openai/`) with the declared `openai>=2.30.0` dependency.\r\n\r\n\r\n## What's Changed\r\n* fix(fast_depends): route keyword-passed positional_or_keyword params before **kwargs (#1790) by @genisis0x in https://github.com/ag2ai/ag2/pull/2813\r\n* docs(blog): LiveAgent + GPT Realtime 2 post by @Lancetnik in https://github.com/ag2ai/ag2/pull/2810\r\n* fix: initialize task variable in RemoteAgent to prevent UnboundLocalError by @kimjune01 in https://github.com/ag2ai/ag2/pull/2805\r\n* docs(blog): Action Driven Network (Network blog post 1/4) by @marklysze in https://github.com/ag2ai/ag2/pull/2821\r\n* docs(blog): Action Driven Network tweak (Network blog post 1/4) by @marklysze in https://github.com/ag2ai/ag2/pull/2822\r\n* feat(beta/network): named views with [name] prefixes for N-party channels by @marklysze in https://github.com/ag2ai/ag2/pull/2823\r\n* feat(beta/network): Add ability for tool to indicate the Finish for WorkflowAdapter by @marklysze in https://github.com/ag2ai/ag2/pull/2824\r\n* chore(openai): migrate codebase to openai SDK 2.x by @vvlrff in https://github.com/ag2ai/ag2/pull/2844\r\n* fix(beta/filesystem): pin read/write encoding to UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2818\r\n* feat(beta): AG-UI support reasoning messages in both directions by @vvlrff in https://github.com/ag2ai/ag2/pull/2870\r\n* feat(beta): Add custom span attributes/values for telemetry by @marklysze in https://github.com/ag2ai/ag2/pull/2876\r\n* feat(beta): AG-UI support multimodal user message content by @vvlrff in https://github.com/ag2ai/ag2/pull/2871\r\n* fix(beta/network): current-turn envelope render consistently with history + coordinator pattern by @marklysze in https://github.com/ag2ai/ag2/pull/2878\r\n* feat(middleware): add ConditionalMiddleware to gate middleware activation by @ohdearquant in https://github.com/ag2ai/ag2/pull/2883\r\n* Add __invert__ to _ConditionMeta for event type negation by @ohdearquant in https://github.com/ag2ai/ag2/pull/2887\r\n* add support for media inputs in AG-UI stream handler by @Rusich90 in https://github.com/ag2ai/ag2/pull/2829\r\n* docs(blog): Choreography You Can Dial In (Network blog post 2/4) by @marklysze in https://github.com/ag2ai/ag2/pull/2877\r\n* docs(beta): Fix cookbook document examples re wait_for_channel_event by @marklysze in https://github.com/ag2ai/ag2/pull/2889\r\n* docs: add Gemini and Azure OpenAI tabs to Quick Start by @SarthakB11 in https://github.com/ag2ai/ag2/pull/2872\r\n* fix: count Responses image costs per output item by @pragnyanramtha in https://github.com/ag2ai/ag2/pull/2838\r\n* fix: use serializable LLM guardrail response schema by @pragnyanramtha in https://github.com/ag2ai/ag2/pull/2830\r\n* fix+docs(beta): Remove say tool from DiscussionAdapter + What Survives (Network blog post 3/4) by @marklysze in https://github.com/ag2ai/ag2/pull/2886\r\n* fix(mcp/mcp_proxy): pin file IO encoding to UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2826\r\n* fix(environments): pin PythonEnvironment._write_to_file encoding to UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2827\r\n* fix(coding/jupyter): pin _save_html encoding to UTF-8 by @genisis0x in https://github.com/ag2ai/ag2/pull/2825\r\n* fix(interop/langchain): use arun for async langchain tools by @obchain in https://github.com/ag2ai/ag2/pull/2806\r\n* Version bump to 0.13.1 by @marklysze in https://github.com/ag2ai/ag2/pull/2897\r\n* fix(tests): Remove tests for dead code, update network test without say tool, hub invariants test tweaks by @marklysze in https://github.com/ag2ai/ag2/pull/2896\r\n* feat(beta): add xAI provider by @vvlrff in https://github.com/ag2ai/ag2/pull/2890\r\n* feat(beta): introduce dynamic_agent tool factory by @vvlrff in https://github.com/ag2ai/ag2/pull/2884\r\n\r\n## New Contributors\r\n* @genisis0x made their first contribution in https://github.com/ag2ai/ag2/pull/2813\r\n* @kimjune01 made their first contribution in https://github.com/ag2ai/ag2/pull/2805\r\n* @Rusich90 made their first contribution in https://github.com/ag2ai/ag2/pull/2829\r\n* @pragnyanramtha made their first contribution in https://github.com/ag2ai/ag2/pull/2838\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.13.0...v0.13.1","mentions_count":10},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/321576074","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/321576074/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/321576074/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.13.0","id":321576074,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4TKtyK","tag_name":"v0.13.0","target_commitish":"main","name":"","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-13T03:27:01Z","updated_at":"2026-05-13T04:11:38Z","published_at":"2026-05-13T04:10:09Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.13.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.13.0","body":"## Highlights\r\n\r\n### 🛣️ The Path to v1.0 — A Major Step\r\n\r\nv0.13.0 is a **significant release** for our journey to V1.0. It introduces a brand-new **Multi-Agent Network** runtime and **LiveAgent** for full-duplex realtime voice. Plus, **A2A v1.0** and **MCP** now in Beta to complete the connectivity story.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n\r\n### 🌐 Network — Multi-Agent Runtime (NEW)\r\n\r\nOther frameworks treat an agent or a graph as the primitive. AG2 Beta makes **the channel between agents** the primitive — a durable, identity-scoped, protocol-typed container. Open it, work inside it, close it. The channel is the artifact.\r\n\r\n- 🔗 **Channel as the unit** – Append-only event log per channel. Adapter state is derived from the log, so a hub restart is a non-event.\r\n- 🎭 **Choreography you can dial in** – From open multi-party discussion to fully declared workflows, all on the same primitive. Four built-in patterns ship today:\r\n    - `consulting` — 1↔1, one round (strict Q+R, auto-close)\r\n    - `conversation` — 1↔1, multi-turn (bidirectional, long-running)\r\n    - `discussion` — N-party turn-taking (round-robin, dynamic, or static ordering)\r\n    - `workflow` — orchestrated by a declarative `TransitionGraph`, with conditions and dynamic handoffs (great for transitioning your classic AG2 group chats - [Guidance](https://docs.ag2.ai/latest/docs/beta/network/migration_from_group_chat/))\r\n- 🛠️ **Design your own orchestration** – The `ChannelAdapter` protocol is small (~50 lines for a custom adapter). Define your own manifest, state, and turn-taking rules; reuse the durability and identity layers for free.\r\n- 🪪 **Identity is three records** – `Passport` (immutable, hub-stamped), `Resume` (mutable track record + observed stats), `SKILL.md` (LLM-facing doc). Discovery ranks by observed outcomes.\r\n- 🤝 **Federation with Passport + Visa** – A channel can span two hubs the same way a TCP connection spans two networks. Cross-org channels are the base case, not an extension.\r\n- 👤 **HumanClient** – Humans are peers on the network, not a special case.\r\n\r\n🎮 **Try it in the [Playground](https://playground.ag2.ai/network/)** – An 8-page hands-on walkthrough (~30 min) with full code examples. Build a hub, register agents, open channels, walk through all four turn-taking patterns, hub-side governance, and write your own adapter from scratch.\r\n\r\n📔 **Docs:** [Multi-Agent Network](https://docs.ag2.ai/latest/docs/beta/network/overview/)\r\n\r\n### 🎙️ LiveAgent — Realtime Voice (NEW)\r\n\r\nNew `autogen.beta.live` module for full-duplex voice agents backed by provider realtime APIs. Unlike turn-by-turn STT/TTS pipelines, LiveAgent opens a single bidirectional session for the entire conversation — audio flows in and out continuously.\r\n\r\n- 🎤 **Single bidirectional session** – No turn-by-turn round trips.\r\n- 🛑 **Built-in VAD and barge-in** – Voice activity detection and interruption support out of the box.\r\n- 🛠️ **Same tool surface as `Agent`** – `@agent.tool` decorator works identically; tool calls route through AG2's normal executor.\r\n- 🌐 **Provider-neutral** – OpenAI Realtime (10 voices: `alloy`, `ash`, `ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, `cedar`) and Gemini Live (8 voices: `Aoede`, `Charon`, `Fenrir`, `Kore`, `Leda`, `Orus`, `Puck`, `Zephyr`).\r\n- 📝 **Text-only mode** – Keep the realtime session for low-latency turn detection but disable audio output entirely.\r\n- 🔊 **Audio peers** – `SoundDevicePlayer` and `SoundDeviceRecorder` share the conversation context with the agent.\r\n\r\n📔 **Docs:** [LiveAgent](https://docs.ag2.ai/latest/docs/beta/live/live_agent/) · [STT & TTS](https://docs.ag2.ai/latest/docs/beta/live/stt_tts/) alternative also available.\r\n\r\n### 🔗 A2A v1.0 — Now in Beta\r\n\r\nA2A is now available in the Beta framework via the new `autogen.beta.a2a` module.\r\n\r\n- 📡 Expose any AG2 Agent over A2A via `A2AServer`\r\n- 🔌 Connect to a remote A2A endpoint as if it were an LLM provider via `A2AConfig`\r\n- 🚚 Transport-agnostic: JSON-RPC, HTTP+JSON (REST), or gRPC\r\n- 📥 Tasks & push notifications for long-running work\r\n- Install with `pip install \"ag2[a2a]\"`\r\n\r\n📔 **Docs:** [A2A Overview](https://docs.ag2.ai/latest/docs/beta/a2a/overview/)\r\n\r\n### 🔌 MCP — Now in Beta\r\n\r\nNative MCP support in Beta with two connection patterns:\r\n\r\n- 🔄 **Client-side (`MCPServer`)** – AG2 connects to the MCP server, discovers tools, and executes them locally. Works with every provider. Supports remote HTTP **and** local stdio subprocesses.\r\n- 🚀 **Provider-side (`MCPServerTool`)** – Server URL and credentials forwarded to the LLM provider (e.g. Anthropic).\r\n\r\n📔 **Docs:** [MCP Servers](https://docs.ag2.ai/latest/docs/beta/tools/mcp_servers/)\r\n\r\n### 🔬 Other Beta Updates\r\n\r\n- 🧬 **Task Lifecycle Primitive** – New foundation for managing long-running agent tasks.\r\n- 🧠 **Gemini/Vertex AI Thinking Level** – Thinking Level support added to the Gemini/Vertex AI client with thinking token usage tracking.\r\n- ⚙️ **Anthropic `extra_body` Config** – New configuration support for passing `extra_body` to Anthropic requests.\r\n- 📚 **Knowledge: Opt-Out Flags + Observable Aggregation Lifecycle** – More control over harness behavior, plus observability into aggregation.\r\n- 🔧 **Typed Gemini ToolCallEvent Subclass** – Replaced `ToolCallEvent.provider_data` with a typed Gemini subclass.\r\n\r\n### 🔐 Security\r\n\r\n- 🛡️ **SSRF Protection in Document Agent** – URL validation added to prevent Server-Side Request Forgery.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **Beta: Gemini Schema** – Strip `additionalProperties` recursively to fix `anyOf` rejections.\r\n- 🔧 **Beta: Policies** – Pair tool calls/results correctly after history trim.\r\n- 🔧 **LLMConfig in Notebooks** – Fixed `LLMConfig` usage across 5 notebooks.\r\n- 🔧 **uv sync Resolution** – Aligned optional-extras pins so `uv sync` resolves.\r\n\r\n### Documentation & Maintenance\r\n\r\n- 📔 Switched `interop-pydantic-ai` extra to `pydantic-ai-slim`.\r\n- 🧪 Various test fixes and LLM provider/package alignments.\r\n\r\n## What's Changed\r\n* feat(beta): add Task lifecycle primitive by @SirEntropy in https://github.com/ag2ai/ag2/pull/2774\r\n* Fix `LLMConfig` for 5 notebooks (6) by @SarthakB11 in https://github.com/ag2ai/ag2/pull/2782\r\n* feat(beta): Add Thinking Level support to Gemini/Vertex AI client + Thinking token usage by @marklysze in https://github.com/ag2ai/ag2/pull/2785\r\n* feat(beta): Anthropic extra_body config support by @marklysze in https://github.com/ag2ai/ag2/pull/2792\r\n* feat(beta/network): protocol, state, and control plane by @SirEntropy in https://github.com/ag2ai/ag2/pull/2775\r\n* fix: align optional-extras pins so `uv sync` resolves by @SarthakB11 in https://github.com/ag2ai/ag2/pull/2794\r\n* fix(beta/gemini): strip additionalProperties recursively to fix anyOf rejections by @marklysze in https://github.com/ag2ai/ag2/pull/2795\r\n* feat(beta/network): LLM tool surface and workflow by @SirEntropy in https://github.com/ag2ai/ag2/pull/2776\r\n* fix(beta/policies): pair tool calls/results after history trim by @obchain in https://github.com/ag2ai/ag2/pull/2800\r\n* feat(beta): add autogen.beta.live for real-time voice agents (STT, TTS, realtime) by @Lancetnik in https://github.com/ag2ai/ag2/pull/2754\r\n* Beta/mcp support by @stepacool in https://github.com/ag2ai/ag2/pull/2702\r\n* feat(beta/network): HumanClient + observability foundation by @SirEntropy in https://github.com/ag2ai/ag2/pull/2801\r\n* Switch interop-pydantic-ai extra to pydantic-ai-slim by @marklysze in https://github.com/ag2ai/ag2/pull/2803\r\n* feat(beta/network): adapter-owned tools + subclass surface by @SirEntropy in https://github.com/ag2ai/ag2/pull/2802\r\n* feat(beta/knowledge): opt-out flags and observable aggregation lifecycle by @SirEntropy in https://github.com/ag2ai/ag2/pull/2804\r\n* feat(beta): introduce A2A v1.0 by @vvlrff in https://github.com/ag2ai/ag2/pull/2791\r\n* feat: Implement SSRF protection with URL validation in document agent by @vvlrff in https://github.com/ag2ai/ag2/pull/2784\r\n* refactor(beta): replace ToolCallEvent.provider_data with typed Gemini subclass by @vvlrff in https://github.com/ag2ai/ag2/pull/2809\r\n* test: Various test fixes and LLM provider/package alignments by @marklysze in https://github.com/ag2ai/ag2/pull/2812\r\n* Version bump to 0.13 by @marklysze in https://github.com/ag2ai/ag2/pull/2811\r\n\r\n## New Contributors\r\n* @SarthakB11 made their first contribution in https://github.com/ag2ai/ag2/pull/2782\r\n* @obchain made their first contribution in https://github.com/ag2ai/ag2/pull/2800\r\n* @stepacool made their first contribution in https://github.com/ag2ai/ag2/pull/2702\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.12.3...v0.13.0","mentions_count":7},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/318180884","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/318180884/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/318180884/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.12.3","id":318180884,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4S9w4U","tag_name":"v0.12.3","target_commitish":"main","name":"v0.12.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-06T04:57:46Z","updated_at":"2026-05-06T05:00:11Z","published_at":"2026-05-06T05:00:11Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.12.3","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.12.3","body":"## Highlights\r\n\r\nv0.12.3 brings **A2A v1.0 compatibility**, sandboxed code execution in Beta, and a refreshed search story.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/) · 📔 [V1.0 Contribution Policy](https://docs.ag2.ai/latest/docs/beta/contribution_policy/)\r\n\r\n### 🤝 A2A v1.0 Compatibility\r\n\r\n- 🔗 **A2A v1.0 Spec Compatibility** – AG2 now aligns with the v1.0 Agent2Agent protocol specification, ensuring interoperability with the broader A2A ecosystem.\r\n\r\n### 🔬 Beta: Sandboxed Code Execution\r\n\r\n- 🏖️ **SandboxCodeTool** – New Beta tool for sandboxed code execution with **Daytona** and **Docker** environments. Run agent-generated code safely in isolated environments with your choice of backend.\r\n\r\n### 🔍 Beta: Search Tools Refresh\r\n\r\n- 🔍 **PerplexitySearchToolkit** – Renamed from `PerplexitySearchTool` to `PerplexitySearchToolkit` for consistency with the toolkit pattern. Documentation updated.\r\n- ✨ **Perplexity Search Integration** – New top-level Perplexity Search integration.\r\n- 🔧 **ExaToolkit Updates** – Updated for the current Exa API, with integration header now set via `client.headers`.\r\n- ⚡ **Async SDK Clients in Search Tools** – Search tools now use async SDK clients for better performance.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **Beta: OpenAI Image Handling** – Fixed image handling on both Chat Completions and Responses APIs.\r\n- 🔧 **Beta: ModelMessage None Content** – Now handled correctly.\r\n- 🔧 **Gemini Exception Handling** – Replaced bare `except` with `except Exception` in `gemini_types`.\r\n- 🔧 **SQLite Logger** – Use full path when opening migration scripts.\r\n\r\n### Documentation & Maintenance\r\n\r\n- 📔 **[V1.0 Contribution Policy](https://docs.ag2.ai/latest/docs/beta/contribution_policy/)** – New contribution guidelines for the path to v1.0\r\n- 📔 Fixed Python version requirement in README.\r\n- 📦 Added Python 3.11+ markers for dependencies that require it.\r\n\r\n## What's Changed\r\n* feat: add Perplexity Search integration by @jliounis in https://github.com/ag2ai/ag2/pull/2752\r\n* fix: replace bare except with except Exception in gemini_types by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2717\r\n* fix: use full path when opening migration scripts in sqlite_logger by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2716\r\n* fix(beta): correct OpenAI image handling on Chat Completions and Responses by @marklysze in https://github.com/ag2ai/ag2/pull/2759\r\n* feat(beta): rename PerplexitySearchTool to PerplexitySearchToolkit and update related documentation by @vvlrff in https://github.com/ag2ai/ag2/pull/2760\r\n* feat(beta): add SandboxCodeTool with Daytona and Docker environments by @marklysze in https://github.com/ag2ai/ag2/pull/2763\r\n* docs: fix Python version requirement in README by @ohdearquant in https://github.com/ag2ai/ag2/pull/2768\r\n* fix: add Python 3.11+ markers for deps that require it by @ohdearquant in https://github.com/ag2ai/ag2/pull/2769\r\n* fix(beta): update ExaToolkit for current Exa API by @10ishq in https://github.com/ag2ai/ag2/pull/2778\r\n* Handle None content in ModelMessage by @Lancetnik in https://github.com/ag2ai/ag2/pull/2780\r\n* fix(beta): set Exa integration header via client.headers by @10ishq in https://github.com/ag2ai/ag2/pull/2779\r\n* refactor(beta): use async SDK clients in search tools by @vvlrff in https://github.com/ag2ai/ag2/pull/2764\r\n* docs: V1.0 Contribution Policy by @marklysze in https://github.com/ag2ai/ag2/pull/2749\r\n* feat: Upgrade to a2a-sdk v1.0 and implement compatibility layer for v0.3 by @vvlrff in https://github.com/ag2ai/ag2/pull/2771\r\n* Version bump to 0.12.3 by @marklysze in https://github.com/ag2ai/ag2/pull/2783\r\n\r\n## New Contributors\r\n* @jliounis made their first contribution in https://github.com/ag2ai/ag2/pull/2752\r\n* @10ishq made their first contribution in https://github.com/ag2ai/ag2/pull/2778\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.12.2...v0.12.3","mentions_count":7},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/316221808","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/316221808/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/316221808/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.12.2","id":316221808,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4S2Slw","tag_name":"v0.12.2","target_commitish":"main","name":"v0.12.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-01T00:06:25Z","updated_at":"2026-05-01T00:18:24Z","published_at":"2026-05-01T00:18:24Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.12.2","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.12.2","body":"### 🛣️ Continuing the Path to v1.0\r\n\r\nv0.12.2 lands the **Agent Harness** in Beta — the architecture that makes agents stateful by design.\r\n\r\n📍 [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)\r\n🧩 [AG2 Playground](https://playground.ag2.ai)\r\n\r\n### 🏗️ The Agent Harness — Stateful Agents, by Design\r\n\r\nA plain LLM loop is stateless and forgets the moment a conversation ends. The Harness turns it into a stateful agent that **remembers across sessions, manages its own context window, organizes its own knowledge, and shares findings with peers** — without rewriting your loop.\r\n\r\nIt does this by decomposing every agentic operation into four orthogonal stages, each a swappable Protocol you opt into:\r\n\r\n- 💾 **Persistence** – What the agent *knows*. Durable, cross-conversation.\r\n- 🧩 **Assembly** – What the agent *sees*. Composed per LLM call.\r\n- ⚡ **Execution** – The LLM call. Already exists in any loop.\r\n- 🔄 **Post-Processing** – Maintenance. Compaction · aggregation.\r\n\r\n#### What this unlocks\r\n\r\n- 🕐 **Long-running single agents** – Hours without blowing the context window.\r\n- 🧠 **Cross-session memory** – \"My name is Alice, working on project X\" is still remembered tomorrow.\r\n- 🤝 **Multi-agent knowledge sharing** – Peers read each other's exposed paths via cheap reads, not expensive delegation round-trips.\r\n\r\n#### What's in the box\r\n\r\n- 📁 **KnowledgeStore** – Agent-owned virtual filesystem with `read`/`write`/`list`/`delete`/`exists`. LLMs already speak filesystem — no new mental model. Five backends ship: `MemoryKnowledgeStore`, `DiskKnowledgeStore`, `SqliteKnowledgeStore`, `RedisKnowledgeStore`, `LockedKnowledgeStore`.\r\n- 🧩 **Assembly Policies** – Composable context shaping (not just a filter). Stack reduction *and* injection policies independently: `ConversationPolicy`, `SlidingWindowPolicy`, `TokenBudgetPolicy`, `EpisodicMemoryPolicy`, `WorkingMemoryPolicy`, `AlertPolicy`.\r\n- ✂️ **Compaction** – Constraint-respecting reduction of the live event stream. `TailWindowCompact` (zero LLM cost) or `SummarizeCompact` (1 LLM call per fire).\r\n- 📚 **Aggregation** – Builds long-term memory from short-term experience. `ConversationSummaryAggregate` writes per-session summaries; `WorkingMemoryAggregate` maintains persistent agent state.\r\n- 🚀 **Bootstrap + SKILL.md** – Self-describing knowledge stores. `DefaultBootstrap` writes `/log/`, `/artifacts/`, `/memory/` with `SKILL.md` files so agents know where to look on first run.\r\n- 💰 **Cost Visibility** – Every harness LLM call emits a `CompactionCompleted` or `AggregationCompleted` event on the stream. Telemetry-ready, not buried in your bill.\r\n\r\nEvery feature is opt-in — a bare `Agent` still has zero harness middleware.\r\n\r\n### 🔬 Other Beta Updates\r\n\r\n- 🔍 **PerplexitySearchTool (Beta)** – Now available in Beta and integrated into the search module.\r\n- 🔧 **Normalized Parts on Builtin Tool Result Events** – Tool result events now expose normalized parts.\r\n- 🔒 **Server-Side Builtin Tool Calls** – Now persisted in history.\r\n- ⚙️ **Agent Subtasks Disabled by Default** – Safer default behavior for Agent subtasks.\r\n\r\n### Beta Bug Fixes\r\n\r\n- 🔧 **Beta: Gemini ToolCallEvent IDs** – Generate unique IDs per `ToolCallEvent` when the provider omits `fc.id`.\r\n- 🔧 **Beta: CadenceWatch Buffer** – Drain buffer when callback outlasts `max_wait`.\r\n- 🔧 **Beta: Redis Serialization** – Moved serialization for Redis to the event serializer.\r\n- 🔧 **Beta: Gemini Empty Text Parts** – Drop empty text parts plus AG-UI guard.\r\n\r\n## What's Changed\r\n* build(deps-dev): bump nbconvert from 7.16.6 to 7.17.1 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2730\r\n* build(deps-dev): bump uv from 0.8.15 to 0.11.6 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2731\r\n* build(deps-dev): bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2732\r\n* feat(beta): harness primitives (1/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2658\r\n* fix(beta): Gemini unique id per ToolCallEvent when provider omits fc.id by @marklysze in https://github.com/ag2ai/ag2/pull/2737\r\n* Add AI policy alignment to PR template and AGENTS.md by @elCaptnCode in https://github.com/ag2ai/ag2/pull/2741\r\n* fix(beta): persist server-side builtin tool calls in history by @vvlrff in https://github.com/ag2ai/ag2/pull/2695\r\n* feat(beta): Agent Assembly layer (2/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2655\r\n* feat(beta): Wire harness + assembly into Agent (3/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2656\r\n* fix(docs): Code examples documentation tidy by @marklysze in https://github.com/ag2ai/ag2/pull/2742\r\n* feat(beta): disable Agent subtasks by default by @marklysze in https://github.com/ag2ai/ag2/pull/2745\r\n* fix(beta): drain CadenceWatch buffer when callback outlasts max_wait by @marklysze in https://github.com/ag2ai/ag2/pull/2748\r\n* docs(beta): beta roadmap and reasoning updates, corrections by @marklysze in https://github.com/ag2ai/ag2/pull/2747\r\n* Broken links with double slashes and typo in notebook URLs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2649\r\n* feat(beta): expose normalized parts on builtin tool result events by @vvlrff in https://github.com/ag2ai/ag2/pull/2743\r\n* feat(beta): add PerplexitySearchTool and integrate into search module by @vvlrff in https://github.com/ag2ai/ag2/pull/2740\r\n* fix(beta): Move serialisation for Redis to event serialiser by @marklysze in https://github.com/ag2ai/ag2/pull/2750\r\n* fix(beta): drop empty Gemini text parts + AG-UI guard by @marklysze in https://github.com/ag2ai/ag2/pull/2753\r\n* docs(beta): document PerplexitySearchTool in common toolkits by @vvlrff in https://github.com/ag2ai/ag2/pull/2755\r\n* fix: Add workload_identity to OpenAI by @marklysze in https://github.com/ag2ai/ag2/pull/2756\r\n* chore: Add extras to Beta LLM Tests by @marklysze in https://github.com/ag2ai/ag2/pull/2757\r\n* Version bump to 0.12.2 by @marklysze in https://github.com/ag2ai/ag2/pull/2758\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.12.1...v0.12.2","mentions_count":6},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/313452692","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/313452692/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/313452692/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.12.1","id":313452692,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4SruiU","tag_name":"v0.12.1","target_commitish":"main","name":"v0.12.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-24T22:04:52Z","updated_at":"2026-04-24T22:16:52Z","published_at":"2026-04-24T22:16:52Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.12.1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.12.1","body":"## Highlights\r\n\r\n### BREAKING - **Docker Moved to Extra**\r\n\r\n- The `docker` package, used for code execution with Docker, is now an optional dependency. please install with `ag2[docker]`. \r\n\r\n### 🛣️ Continuing the Path to v1.0\r\n\r\nv0.12.1 builds on the v0.12.0 foundation with new tools, Google Vertex AI support, bug fixes, and **community feedback** on the [roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/).\r\n\r\n### 👥 Community Feedback in Action\r\n\r\n- ✅ **`PerplexitySearchTool` removed from deprecations** – Based on community feedback, this tool will continue to be supported. Thanks for speaking up! Keep the feedback coming.\r\n\r\n### 🔬 Beta: Major New Capabilities\r\n\r\n- 📁 **Files API Client** – New Files API client and related functionality for file handling in Beta.\r\n- 🔧 **Multi-part ToolResult** – Tools can now return `Input` types and multi-part `ToolResult`.\r\n- 🔧 **Toolkit Merging API** – New API for merging toolkits, with updated common tools documentation.\r\n- ☁️ **Google Vertex AI Support** – Use models on Google Vertex AI.\r\n\r\n### 🧰 New Search Tools\r\n\r\n- 🔍 **TavilySearchTool** – New Tavily-powered web search tool.\r\n- 🔍 **ExaToolkit** – New toolkit for Exa search.\r\n- 🦆 **DDGS Tool (Beta)** – New DuckDuckGo search tool in Beta.\r\n\r\n### 🎉 New Features\r\n\r\n- 🎯 **Advanced Orchestration with Step Events** – Step event support for advanced orchestration patterns.\r\n- 🔗 **LangChain ChatVertexAI Factory** – New interop factory for Gemini on Vertex AI via LangChain.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **HTTP Request Timeouts** – Added timeouts to HTTP requests across multiple modules.\r\n- 🔧 **AG-UI Flow** – Fixed AG-UI flow and new `ToolResult.parts` shape handling in the adapter.\r\n- 🔧 **Logger Redaction** – Applied `redact()` to remaining unredacted logger paths.\r\n- 🔧 **Beta: Anthropic Token Usage** – Added `total_tokens` to Usage calculation for Anthropic.\r\n- 🔧 **Beta: RedisStream** – Dispatch events locally before publishing.\r\n- 🔧 **Beta: Input Type Mappers** – Fixed beta input type mappers.\r\n- 🔧 **OpenTelemetry** – Fixed `ModuleNotFoundError` for `opentelemetry.exporter.otlp.proto.grpc`.\r\n\r\n### Documentation\r\n\r\n- 🔗 Fixed numerous broken internal and external links across docs, blog posts, and notebooks.\r\n- 🖼️ Fixed missing `ecosystem-composio.png` image.\r\n\r\n### Maintenance\r\n- 🔧 CI: Skip Claude Code Review for Dependabot PRs.\r\n\r\n## What's Changed\r\n* Missing image file ecosystem-composio.png by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2667\r\n* Broken external link: stackoverflow.com/help/mcve (404) by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2669\r\n* Broken external link: huggingface.co/datasets/openai_humaneval (404) by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2670\r\n* Broken GitHub link: simple_workflow.py returns 404 by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2673\r\n* Broken localhost link in WebSockets blog post by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2674\r\n* Broken link to agenteval_cq_math.ipynb by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2677\r\n* Broken link to docs.together.ai/docs/examples by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2678\r\n* Broken link to autobuild_basic.ipynb by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2679\r\n* Broken internal link on Realtime API category page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2680\r\n* Broken internal link on AG2 logging events blog page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2681\r\n* Broken internal link on GPT-Researcher blog page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2682\r\n* Broken internal link on Gemini Thinking Config blog page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2683\r\n* Broken internal link on Gemini Thinking Config blog page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2684\r\n* ModuleNotFoundError: opentelemetry.exporter.otlp.proto.grpc not... by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2640\r\n* Broken external link: google.github.io/A2A/ returns 404 by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2641\r\n* Broken links with double slash in GitHub URLs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2642\r\n* roadmap: Remove PerplexitySearchTool from deprecations by @marklysze in https://github.com/ag2ai/ag2/pull/2703\r\n* Update advanced orchestration with step events by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2328\r\n* feat: Move docker to extra by @marklysze in https://github.com/ag2ai/ag2/pull/2705\r\n* feat(beta): Ddgs tool by @vvlrff in https://github.com/ag2ai/ag2/pull/2690\r\n* feat: add TavilySearchTool and related functionality for web search by @vvlrff in https://github.com/ag2ai/ag2/pull/2701\r\n* feat: add toolkit merging API and update common tools docs by @Lancetnik in https://github.com/ag2ai/ag2/pull/2711\r\n* feat: allow tools to return Input types and multi-part ToolResult by @Lancetnik in https://github.com/ag2ai/ag2/pull/2713\r\n* feat(beta): Google Vertex AI support by @marklysze in https://github.com/ag2ai/ag2/pull/2715\r\n* fix: Tool call thought signature preservation with VertexAI by @marklysze in https://github.com/ag2ai/ag2/pull/2720\r\n* fix(beta): Streaming usage metadata with VertexAI by @marklysze in https://github.com/ag2ai/ag2/pull/2719\r\n* feat: add ExaToolkit and related functionality for Exa search by @vvlrff in https://github.com/ag2ai/ag2/pull/2714\r\n* fix: add timeout to HTTP requests across multiple modules by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2722\r\n* fix: correct AG-UI flow by @Lancetnik in https://github.com/ag2ai/ag2/pull/2723\r\n* fix(beta): handle new ToolResult.parts shape in AG-UI adapter by @vidhuUC in https://github.com/ag2ai/ag2/pull/2721\r\n* fix: apply redact() to remaining unredacted logger paths by @amabito in https://github.com/ag2ai/ag2/pull/2500\r\n* fix(beta): Add total_tokens to Usage calculation for Anthropic by @marklysze in https://github.com/ag2ai/ag2/pull/2724\r\n* feat(beta): implement Files API client and related functionality by @vvlrff in https://github.com/ag2ai/ag2/pull/2688\r\n* fix(beta): Dispatch RedisStream events locally before publishing by @marklysze in https://github.com/ag2ai/ag2/pull/2726\r\n* fix(beta): Beta input types mappers by @vvlrff in https://github.com/ag2ai/ag2/pull/2718\r\n* ci: skip Claude Code Review for Dependabot PRs by @elCaptnCode in https://github.com/ag2ai/ag2/pull/2729\r\n* feat(interop-langchain): add ChatVertexAI factory for Gemini on Vertex AI by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2727\r\n* fix(tests): Remove JSON mode structured output tests for Anthropic by @marklysze in https://github.com/ag2ai/ag2/pull/2733\r\n* Version bump to 0.12.1 by @marklysze in https://github.com/ag2ai/ag2/pull/2734\r\n\r\n## New Contributors\r\n* @vidhuUC made their first contribution in https://github.com/ag2ai/ag2/pull/2721\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.12.0...v0.12.1","mentions_count":9},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/310568681","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/310568681/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/310568681/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.12.0","id":310568681,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Sgubp","tag_name":"v0.12.0","target_commitish":"main","name":"v0.12.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-17T21:36:08Z","updated_at":"2026-04-17T21:42:25Z","published_at":"2026-04-17T21:42:25Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.12.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.12.0","body":"## Highlights\r\n\r\n### 🛣️ AG2 v0.12.0 – The Path to v1.0 Begins\r\n\r\nThis release kicks off **the journey to AG2 v1.0**. Over the next few minor versions (v0.12 → v0.13 → v0.14 → v1.0), the beta framework (`autogen.beta`) will mature and, at v1.0, become the official version of AG2. The current framework continues to be fully supported throughout this transition.\r\n\r\n📍 **Check out the full [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/)** to see what's coming.\r\n\r\n### ⚠️ Deprecation Notices (Removal in v0.14)\r\n\r\nv0.12 is the deprecation announcement release. The features below are marked for removal in v0.14. **The community feedback window is now open** — if any of these are critical to your workflow, please let us know via GitHub Issues or [Discord](https://discord.com/invite/pAbnFJrkgZ).\r\n\r\n- **Deprecated agents:** `GPTAssistantAgent`, `LLaVAAgent`, `WebSurferAgent` (contrib), `TextAnalyzerAgent`, `MathUserProxyAgent`, `SocietyOfMindAgent`, `AgentOptimizer`, `RetrieveAssistantAgent`, `QdrantRetrieveUserProxyAgent`, `SwarmAgent`, `RealtimeAgent`\r\n- **Deprecated capabilities/modules:** `ImageGeneration`, `agent_eval`\r\n- **Deprecated interop:** `CrewAIInteroperability` (use LangChain or PydanticAI interop)\r\n- **Deprecated experimental tools:** `PythonCodeExecutionTool`, `FirecrawlTool`, `PerplexitySearchTool`, `SearxngSearchTool`, `WebSearchPreviewTool`\r\n- **Deprecated swarm functions:** Use the new Group Chat\r\n\r\nSee [PR #2553](https://github.com/ag2ai/ag2/pull/2553) for the full list and migration paths.\r\n\r\n**What is NOT being deprecated:** Core agents (`ConversableAgent`, `AssistantAgent`, `UserProxyAgent`), GroupChat and orchestration patterns, capabilities like `Teachability` and `VisionCapability`, and experimental agents like `DeepResearchAgent`, `ReasoningAgent`, `DocAgent`, `CaptainAgent`, `A2UIAgent`, and platform agents.\r\n\r\n### 🔬 Beta: Major New Capabilities\r\n\r\nThe beta framework continues to grow — these are the building blocks for AG2 v1.0.\r\n\r\n- 🤖 **Agent.as_tool()** – Agent delegation using tool calls with the new Tasks API.\r\n- 👁️ **Observer API** – Subscribe to Agent events for monitoring and debugging.\r\n- 🖥️ **AG-UI Support** – UI integration\r\n- 🎨 **Multimodal Input** – Image, Document, Audio, and Video input support for OpenAI, Gemini, Anthropic.\r\n- 🔧 **Serializable Agents** – Fully serializable\r\n- 🔧 **Tool-Driven Handoffs** – Improved compatibility with existing ConversableAgents to support handoffs in tool calls\r\n\r\n### 🧰 Beta: New Tools & Toolkits\r\n\r\n- 📁 **FilesystemToolset** – File operations toolkit.\r\n- 🔍 **WebSearchTool Streaming** – Streaming support for web search.\r\n- 💻 **LocalShellTool & LocalShellEnvironment** – Local shell execution.\r\n- 🎯 **Skills Tool & Search Skills** – Skills management and discovery.\r\n- 🔧 **Middleware Support** – Added to `Toolkit` and `FunctionTool`.\r\n- 💻 **Code Execution Tool** – New Beta tool for code execution.\r\n\r\n### 🎉 New Features\r\n\r\n- 🖥️ **DaytonaCodeExecutor** – New code executor integration with Daytona.\r\n- 🔗 **NLIP Integration** – Natural Language Interface Protocol support.\r\n- 🎯 **AgentEligibilityPolicy** – Runtime GroupChat candidate filtering.\r\n\r\n### 🔐 Security\r\n\r\n- 🛡️ **CVE-2025-69872** – Fixed DiskCache vulnerability.\r\n- 🔒 **GitHub Actions Hardening** – Added zizmor and hardened CI workflows.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **TokenLimiter** – Fixed token-to-char budget calculation.\r\n- 🔧 **Speaker Selection** – Fixed duplicate condition in verbose logging.\r\n- 🔧 **Interop Error Messages** – Fixed error showing 't' instead of actual type names.\r\n- 🔧 **browser-use** – Updated from pinned 0.1.37 to >=0.3.1.\r\n- 🔧 Various typo and grammar fixes.\r\n\r\n### Documentation & Accessibility\r\n\r\n- 📔 Added [Security Policy](https://github.com/ag2ai/ag2/security/policy).\r\n- ♿ Fixed WCAG 2 AA color contrast issues site-wide.\r\n- ♿ Added alt text to 39 images on homepage.\r\n- 🔗 Fixed numerous broken links across documentation.\r\n\r\n### CLI\r\n\r\n- 📦 Published CLI package to PyPI.\r\n\r\n## What's Changed\r\n* Planned deprecation for v0.14 by @marklysze in https://github.com/ag2ai/ag2/pull/2553\r\n* feat(beta): add WebSearchTool streaming support by @Lancetnik in https://github.com/ag2ai/ag2/pull/2562\r\n* feat(beta): add FilesystemToolset for file operations by @Lancetnik in https://github.com/ag2ai/ag2/pull/2566\r\n* ci: add zizmor and harden GitHub Actions workflows by @Lancetnik in https://github.com/ag2ai/ag2/pull/2565\r\n* feat: add `allow_always` option to `approval_required` middleware by @Lancetnik in https://github.com/ag2ai/ag2/pull/2563\r\n* docs: fix broken code examples in 3 blog posts by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2559\r\n* fix: correct parameter name typo and grammar across multiple files by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2552\r\n* fix: correct grammar and typos across multiple files by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2551\r\n* fix: fix unused deepcopy result and typos in vision_capability.py by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2550\r\n* ci: add tests for python3.14 by @Lancetnik in https://github.com/ag2ai/ag2/pull/2138\r\n* fix: interop error message shows 't' instead of actual type names by @ameenalkhaldi in https://github.com/ag2ai/ag2/pull/2509\r\n* docs: add security policy by @Lancetnik in https://github.com/ag2ai/ag2/pull/2543\r\n* docs: add AI policy for contributions by @Lancetnik in https://github.com/ag2ai/ag2/pull/2542\r\n* docs: fix broken notebook links in FalkorDB blog post by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2560\r\n* fix: correct parameter name typo and grammar in openai_utils and other files by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2554\r\n* Fix CVE 2025 69872 diskcache by @cym3118288-afk in https://github.com/ag2ai/ag2/pull/2548\r\n* Feat: DaytonaCodeExecutor by @mislavivanda in https://github.com/ag2ai/ag2/pull/2518\r\n* fix: Daytona notebook tweak by @marklysze in https://github.com/ag2ai/ag2/pull/2576\r\n* feat(beta): add LocalShellTool and LocalShellEnvironment for local sh… by @vvlrff in https://github.com/ag2ai/ag2/pull/2535\r\n* feat: add NLIP integration by @river-li in https://github.com/ag2ai/ag2/pull/2468\r\n* ci: fix docs deploy by restoring git credentials by @Lancetnik in https://github.com/ag2ai/ag2/pull/2573\r\n* fix: correct token-to-char budget calculation in TokenLimiter by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2577\r\n* fix: correct duplicate condition in speaker selection verbose logging by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2578\r\n* feat(beta): Tasks with Agent.as_tool() for agent delegation using tool calls by @marklysze in https://github.com/ag2ai/ag2/pull/2520\r\n* feat(beta): add observer API for Agent event subscriptions by @Lancetnik in https://github.com/ag2ai/ag2/pull/2572\r\n* feat(beta): add middleware support to Toolkit and FunctionTool by @Lancetnik in https://github.com/ag2ai/ag2/pull/2569\r\n* Planned tool and integration deprecations for v0.14 by @marklysze in https://github.com/ag2ai/ag2/pull/2581\r\n* NameError in ReasoningAgent example — LLMConfig not imported by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2589\r\n* NameError in ReasoningAgent example — LLMConfig not imported by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2591\r\n* fix: update browser-use from pinned 0.1.37 to >=0.3.1 by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2600\r\n* Broken link to ChromaDB Docker docs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2597\r\n* Heading order violations on homepage by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2604\r\n* 39 images missing alt text on homepage by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2602\r\n* Color contrast failures site-wide (WCAG 2 AA) by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2603\r\n* feat(beta): input event system with multimodal support (Image, Document, Audio, Video) by @Lancetnik in https://github.com/ag2ai/ag2/pull/2582\r\n* Create py.typed file for mypy by @C3EQUALZz in https://github.com/ag2ai/ag2/pull/2614\r\n* localhost URLs in production blog posts by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2609\r\n* refactor: rename Context to ConversationContext to avoid naming conflicts by @Lancetnik in https://github.com/ag2ai/ag2/pull/2621\r\n* feat: AgentEligibilityPolicy for runtime GroupChat candidate filtering by @amabito in https://github.com/ag2ai/ag2/pull/2459\r\n* fix(ci): add write permissions to build-mkdocs workflow by @Lancetnik in https://github.com/ag2ai/ag2/pull/2616\r\n* feat(beta): plugin system for composable agent configuration by @Lancetnik in https://github.com/ag2ai/ag2/pull/2622\r\n* Double-slash in GitHub notebook URLs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2617\r\n* Broken installing-ag2 link on quickstart page by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2611\r\n* Broken FSM-GroupChat link in StateFlow blog by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2613\r\n* feat(beta): Skills tool by @vvlrff in https://github.com/ag2ai/ag2/pull/2588\r\n* feat(beta): Multimodal input support for Gemini and Anthropic by @marklysze in https://github.com/ag2ai/ag2/pull/2624\r\n* Broken link: tools_duckduckgo_search.ipynb by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2634\r\n* NameError — undefined variable 'questions' in code block by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2639\r\n* Broken external links with double slash in GitHub notebook URLs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2637\r\n* Broken link: reliable_basic_example.ipynb by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2630\r\n* NameError: ConversableAgent not defined in code block by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2635\r\n* TypeError in LLMConfig — config_list expects list not dict by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2638\r\n* feat(beta): Search skills by @vvlrff in https://github.com/ag2ai/ag2/pull/2615\r\n* feat(beta): Add extra_body parameter support to Beta OpenAI client by @marklysze in https://github.com/ag2ai/ag2/pull/2651\r\n* refactor(beta): reorganize skills toolkit under toolkits/skills/ by @Lancetnik in https://github.com/ag2ai/ag2/pull/2650\r\n* revert: roll back direct push of harness primitives by @SirEntropy in https://github.com/ag2ai/ag2/pull/2657\r\n* feat(beta): AgentSpec by @vvlrff in https://github.com/ag2ai/ag2/pull/2629\r\n* feat(beta): add AG-UI support by @Lancetnik in https://github.com/ag2ai/ag2/pull/2660\r\n* add code execution tool by @merkulova-ki in https://github.com/ag2ai/ag2/pull/2687\r\n* refactor(beta): move skills toolkit from toolkits/skills/ to tools/skills/ by @Lancetnik in https://github.com/ag2ai/ag2/pull/2653\r\n* Bump pandas pin to 2.3.3 for Python 3.14 support by @marklysze in https://github.com/ag2ai/ag2/pull/2691\r\n* fix(Swarm): remove deprecated ast.Num/Str/NameConstant for Python 3.14 compatibility by @marklysze in https://github.com/ag2ai/ag2/pull/2693\r\n* tests: Increase test timeouts for AgentBuilder/TeachableAgent/CaptainAgent by @marklysze in https://github.com/ag2ai/ag2/pull/2692\r\n* fix(tests): RealtimeAgent, Deepseek, and DiskCache tweaks by @marklysze in https://github.com/ag2ai/ag2/pull/2696\r\n* fix: Various fixes for optional dependency tests by @marklysze in https://github.com/ag2ai/ag2/pull/2698\r\n* fix(tests): DiskCache test updates by @marklysze in https://github.com/ag2ai/ag2/pull/2697\r\n* feat(beta): tool-driven handoffs for ConversableAdapter by @Lancetnik in https://github.com/ag2ai/ag2/pull/2652\r\n* refactor: polish Inputs class tree by @Lancetnik in https://github.com/ag2ai/ag2/pull/2700\r\n* Publish cli package to pypi by @SirEntropy in https://github.com/ag2ai/ag2/pull/2558\r\n* Version bump to 0.12 by @marklysze in https://github.com/ag2ai/ag2/pull/2699\r\n\r\n## New Contributors\r\n* @ameenalkhaldi made their first contribution in https://github.com/ag2ai/ag2/pull/2509\r\n* @cym3118288-afk made their first contribution in https://github.com/ag2ai/ag2/pull/2548\r\n* @mislavivanda made their first contribution in https://github.com/ag2ai/ag2/pull/2518\r\n* @river-li made their first contribution in https://github.com/ag2ai/ag2/pull/2468\r\n* @C3EQUALZz made their first contribution in https://github.com/ag2ai/ag2/pull/2614\r\n* @merkulova-ki made their first contribution in https://github.com/ag2ai/ag2/pull/2687\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.5...v0.12.0","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/310568681/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":13},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/305349818","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/305349818/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/305349818/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.5","id":305349818,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4SM0S6","tag_name":"v0.11.5","target_commitish":"main","name":"v0.11.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-04T23:23:54Z","updated_at":"2026-04-04T23:58:58Z","published_at":"2026-04-04T23:58:58Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.5","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.5","body":"## Highlights\r\n\r\n### 🎉 Major Features\r\n\r\n- 🖥️ **AG2 CLI** – New command-line interface for AG2! A full-featured CLI for building, running, testing, and deploying multi-agent applications with AG2. [Check out the docs](https://docs.ag2.ai/latest/docs/user-guide/cli/)!\r\n- 🖥️ **A2UIAgent** – New reference agent combining A2A and [A2UI](https://a2ui.org/) protocols for building dynamic, agent-driven, frontends. Compatible with [A2UI](https://a2ui.org/)'s latest v0.9 protocol version. [Check out the docs!](https://docs.ag2.ai/latest/docs/user-guide/reference-agents/a2uiagent/) and [full code example](https://github.com/ag2ai/build-with-ag2/tree/main/a2ui/flutter)\r\n\r\n### Beta Features\r\n\r\n- [Roadmap progress](https://docs.ag2.ai/latest/docs/beta/roadmap/)\r\n- 📊 **Telemetry** – Added telemetry support for monitoring and analytics.\r\n- 🔧 **Structured Output via ResponseSchema** – Added structured output support using `ResponseSchema` for more predictable agent responses.\r\n- 🔧 **RedisStream** – Added Redis stream support for scalable message handling.\r\n- 🔧 **Tool-Scoped Middleware Hooks** – Added middleware hooks scoped to specific tools for fine-grained control.\r\n- 🔧 **WebFetchTool** – New tool for fetching web content, plus domain filtering for `WebSearchTool`.\r\n- 🧠 **MemoryTool** – New tool for agent memory management, integrated into existing tool schemas.\r\n- 🖼️ **Image Generation Tool** – New tool for generating images.\r\n- 💻 **Shell Tool** – New tool for shell command execution.\r\n- 🔧 Refactored `BaseEvent` with `dataclass_transform`.\r\n- 🔧 Introduced justfile, refactored deps/CI, and improved beta tools.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **Beta: ToolCallEvent and ToolErrorEvent** – Fixed three bugs in event handling.\r\n- 🔧 **Beta: Empty Tool Call Arguments** – Fixed handling of empty tool call arguments in message mappers.\r\n- 🔧 **Beta: Anthropic Token Usage** – Fixed Anthropic usage tokens and cached token usage observation.\r\n- 🔧 **Beta: Anthropic pause_turn** – Fixed pause_turn handling.\r\n- 🔧 **Message Platform Tools** – Fixed `sent_message_id` initialization before loop.\r\n- 🔧 **Slack Tool** – Corrected docstring, safe dict access, and mypy type checks.\r\n\r\n### Documentation\r\n\r\n- 📔 New [Release Roadmap](https://docs.ag2.ai/latest/docs/user-guide/release-roadmap/).\r\n- 📔 New [Arcade.dev + AG2 integration](https://docs.ag2.ai/latest/docs/blog/2026/03/19/Arcade/) blog post.\r\n- 📔 Added [Bindu](https://docs.ag2.ai/latest/docs/ecosystem/bindu/) to ecosystem integrations.\r\n- 🔧 Converted mermaid diagrams to images in user guide.\r\n\r\n## What's Changed\r\n* fix(beta): correct three bugs in ToolCallEvent and ToolErrorEvent by @amabito in https://github.com/ag2ai/ag2/pull/2493\r\n* docs: Release roadmap by @marklysze in https://github.com/ag2ai/ag2/pull/2503\r\n* feat(beta): add structured output support via ResponseSchema by @Lancetnik in https://github.com/ag2ai/ag2/pull/2495\r\n* docs(blog): add Arcade.dev + AG2 integration blog post by @faridun-ag2 in https://github.com/ag2ai/ag2/pull/2498\r\n* feat(beta): Telemetry by @marklysze in https://github.com/ag2ai/ag2/pull/2488\r\n* feat: add MemoryTool and integrate into existing tool schemas by @vvlrff in https://github.com/ag2ai/ag2/pull/2502\r\n* A2UI and Reference Agent by @marklysze in https://github.com/ag2ai/ag2/pull/2494\r\n* feat(beta): RedisStream by @marklysze in https://github.com/ag2ai/ag2/pull/2513\r\n* fix(beta): handle empty tool call arguments in message mappers by @marklysze in https://github.com/ag2ai/ag2/pull/2521\r\n* fix(beta): Anthropic usage tokens and Observing Cached token usage by @marklysze in https://github.com/ag2ai/ag2/pull/2517\r\n* tests(beta): LLM tests by @marklysze in https://github.com/ag2ai/ag2/pull/2515\r\n* Image generation tool by @vvlrff in https://github.com/ag2ai/ag2/pull/2514\r\n* feat(beta): add WebFetchTool, domain filtering for WebSearchTool, and fix Anthropic pause_turn by @marklysze in https://github.com/ag2ai/ag2/pull/2523\r\n* Shell tool by @vvlrff in https://github.com/ag2ai/ag2/pull/2506\r\n* refactor(beta): reimplement BaseEvent with dataclass_transform by @Lancetnik in https://github.com/ag2ai/ag2/pull/2505\r\n* chore: introduce justfile, refactor deps/CI, and improve beta tools & docs by @Lancetnik in https://github.com/ag2ai/ag2/pull/2537\r\n* AG2 CLI by @SirEntropy in https://github.com/ag2ai/ag2/pull/2497\r\n* fix: initialize sent_message_id before loop in message platform tools by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2528\r\n* fix: correct Slack tool docstring and use safe dict access by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2526\r\n* docs: convert mermaid diagrams to images in user guide by @sam-ag2 in https://github.com/ag2ai/ag2/pull/2539\r\n* chore: remove duplicate issue templates by @Lancetnik in https://github.com/ag2ai/ag2/pull/2544\r\n* fix: correct release roadmap link in README by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2538\r\n* docs: add Bindu to ecosystem integrations by @chandan-1427 in https://github.com/ag2ai/ag2/pull/2511\r\n* feat(beta): add tool-scoped middleware hooks and docs by @Lancetnik in https://github.com/ag2ai/ag2/pull/2541\r\n* docs: Remove diagram code and add white background to transparent diagram by @marklysze in https://github.com/ag2ai/ag2/pull/2547\r\n* fix: A2UIAgent imports for missing a2a SDK by @marklysze in https://github.com/ag2ai/ag2/pull/2549\r\n* fix: correct mismatched quote in bedrock assert message by @Ricardo-M-L in https://github.com/ag2ai/ag2/pull/2546\r\n* tests: Tweaks of models and timeouts by @marklysze in https://github.com/ag2ai/ag2/pull/2556\r\n* fix: Slack mypy type check by @marklysze in https://github.com/ag2ai/ag2/pull/2555\r\n* Version bump to 0.11.5 by @marklysze in https://github.com/ag2ai/ag2/pull/2557\r\n\r\n## New Contributors\r\n* @faridun-ag2 made their first contribution in https://github.com/ag2ai/ag2/pull/2498\r\n* @Ricardo-M-L made their first contribution in https://github.com/ag2ai/ag2/pull/2528\r\n* @chandan-1427 made their first contribution in https://github.com/ag2ai/ag2/pull/2511\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.4...v0.11.5","mentions_count":10},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/298205174","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/298205174/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/298205174/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.4","id":298205174,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Rxj_2","tag_name":"v0.11.4","target_commitish":"main","name":"v0.11.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-17T23:26:34Z","updated_at":"2026-03-17T23:46:59Z","published_at":"2026-03-17T23:46:59Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.4","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.4","body":"## Highlights\r\n\r\n### 🔒 Security Hardening\r\n\r\nThis release includes several important security fixes contributed by @amabito:\r\n\r\n- **Shell Command Injection** – `ShellExecutor` now uses `shell=False` with `shlex.split` to prevent command injection.\r\n- **Path Traversal Prevention** – MCP resource URIs and file operations now validate against path traversal attacks.\r\n- **Sensitive Key Redaction** – `FileLogger` output now redacts sensitive keys to prevent credential leakage.\r\n\r\n### AG2 Beta Improvements\r\n\r\n- 🛠️ **Human-in-the-Loop Middleware Hook** – New `on_human_input` middleware hook enables intercepting, transforming, or logging human input during agent conversations. [Docs](https://docs.ag2.ai/latest/docs/beta/middleware/#on_human_input)\r\n- 🛠️ **Tool Calling** – Tools can now return `ToolResult(..., final=True)` to skip the follow-up LLM call and end the turn immediately. Tool events were also refactored into dedicated types for cleaner runtime handling across all providers. [Docs](https://docs.ag2.ai/latest/docs/beta/tools/#returning-a-final-tool-result)\r\n- 🔧 **ClientTool Stream Fix** – `ClientTool.register` now correctly sends `ClientToolCall` events to the stream.\r\n- ⚡ **CodeExecutionTool** – New tool and schemas for code execution capabilities (thanks @vvlrff).\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **Gemini Content Handling** – Fixed handling of messages without a `content` key in the Gemini client.\r\n\r\n### Documentation\r\n\r\n- 📔 Added links to [AG2 Playground](https://playground.ag2.ai) to documentation.\r\n- 📔 Fixed SEO issues with `robots.txt` and `og:url` in redirect template (thanks @VasiliyRad).\r\n- 📔 Beta documentation updated to reflect the latest event and tool APIs.\r\n\r\n## What's Changed\r\n* fix(beta): send ClientToolCall to stream in ClientTool.register by @amabito in https://github.com/ag2ai/ag2/pull/2476\r\n* ci: add PR labeler workflow by @Lancetnik in https://github.com/ag2ai/ag2/pull/2479\r\n* feat(beta): add on_human_input middleware hook by @Lancetnik in https://github.com/ag2ai/ag2/pull/2477\r\n* Fix SEO issues: add robots.txt and fix og:url in redirect template by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2473\r\n* docs: Add Playground links to documentation by @marklysze in https://github.com/ag2ai/ag2/pull/2480\r\n* fix: use shell=False with shlex.split in ShellExecutor by @amabito in https://github.com/ag2ai/ag2/pull/2481\r\n* fix: sanitize MCP resource URI to prevent path traversal by @amabito in https://github.com/ag2ai/ag2/pull/2482\r\n* fix: validate subfolder_path and file_name against path traversal by @amabito in https://github.com/ag2ai/ag2/pull/2483\r\n* fix: redact sensitive keys in FileLogger output by @amabito in https://github.com/ag2ai/ag2/pull/2485\r\n* fix: handle messages without 'content' key in Gemini client by @marklysze in https://github.com/ag2ai/ag2/pull/2489\r\n* feat: add CodeExecutionTool and related schemas for code execution ca… by @vvlrff in https://github.com/ag2ai/ag2/pull/2490\r\n* docs(beta): sync docs with event and tool APIs by @Lancetnik in https://github.com/ag2ai/ag2/pull/2491\r\n* Version bump to 0.11.4 by @marklysze in https://github.com/ag2ai/ag2/pull/2492\r\n\r\n## New Contributors\r\n* @vvlrff made their first contribution in https://github.com/ag2ai/ag2/pull/2490\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.3...v0.11.4","mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/297268528","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/297268528/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/297268528/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.3","id":297268528,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Rt_Uw","tag_name":"v0.11.3","target_commitish":"main","name":"v0.11.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-16T00:33:27Z","updated_at":"2026-03-16T01:15:44Z","published_at":"2026-03-16T01:15:44Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.3","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.3","body":"## Highlights\r\n\r\n### 🎉 AG2 Beta — A New Foundation for Real-World Agents\r\n\r\nThis release introduces **AG2 Beta** (`autogen.beta`), a ground-up redesign of the AG2 framework built around lessons learned from the original architecture. AG2 Beta provides a stronger foundation for production agentic systems with:\r\n\r\n- 🌊 **Streaming & Event-Driven Architecture** – Every conversation runs on a `MemoryStream`, a pub/sub event bus that isolates state, enables real-time streaming, and makes agents safely reusable across concurrent users.\r\n- 🔌 **Multi-Provider LLM Support** – Unified `ModelConfig` protocol with dedicated clients for **OpenAI** (Chat Completions & Responses API), **Anthropic**, **Google Gemini**, **Alibaba DashScope (Qwen)**, and **Ollama** — all using official provider SDKs.\r\n- 🛠️ **Dependency Injection & Typed Tools** – Tools auto-generate JSON schemas from type hints. DI via `fast_depends` lets tools and prompt hooks declare dependencies cleanly with `Annotated[T, Inject(\"name\")]`.\r\n- 🧪 **First-Class Testing** – `TestConfig` / `TestClient` provide canned LLM responses for unit tests with zero network calls.\r\n- 🔧 **Middleware Pipeline** – Extensible middleware system with built-in history limiting, token limiting, and LLM retry capabilities.\r\n\r\nAG2 Beta runs alongside the existing AG2 module — **no breaking changes to current code**. Additionally, AG2 Beta agents can be used in existing group chat orchestrations!\r\n\r\n[Read the blog post](https://docs.ag2.ai/latest/docs/blog/2026/03/16/AG2-Beta/) for the full motivation and design details, or dive into the [AG2 Beta documentation](https://docs.ag2.ai/latest/docs/beta/motivation/) and [Roadmap](https://docs.ag2.ai/latest/docs/beta/roadmap/).\r\n\r\nBig thanks to @Lancetnik!\r\n\r\nAnd here's what's changed in the current AG2 version...\r\n\r\n### Major Features\r\n\r\n- 🔍 **QuickResearchTool** – New tool for parallel web research, enabling agents to search and synthesize information from multiple sources concurrently (thanks @bassilkhilo-ag2).\r\n- 🌊 **Gemini Client Streaming** – Added streaming support for the Gemini client.\r\n- 🔄 **Mistral V2 API** – Mistral client updated to the Mistral V2 API.\r\n- 🐟 **TinyFish Scraper Integration** – New integration with the TinyFish scraper for web content extraction (thanks @jsun-m).\r\n\r\n### LLM Client Fixes\r\n\r\n- 🔧 **Streaming Tool Call Fix** – Fixed tool call type field from concatenating during streaming (thanks @jnMetaCode).\r\n- 🔧 **Gemini Thought Signature** – Fixed Gemini thought signature handling.\r\n- 🔧 **User-Agent for Anthropic** – Added User-Agent header for Anthropic API calls (thanks @mikelambert).\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **Empty Conversation Safety** – Fixed `IndexError` in `last_message()` on empty conversation (thanks @jnMetaCode).\r\n- 🔧 **AgentOptimizer LLMConfig** – Fixed handling of `LLMConfig` objects in `AgentOptimizer` (thanks @jnMetaCode).\r\n- 🔧 **Token Count Utils** – Added missing model entries to `token_count_utils` (thanks @jnMetaCode).\r\n\r\n### Documentation\r\n\r\n- 📔 [CircuitBreakerCapability + SAFE_MODE integration examples](https://docs.ag2.ai/latest/docs/blog/) (thanks @amabito).\r\n- 📔 New [GPT Researcher blog post](https://docs.ag2.ai/latest/docs/blog/) and updated sample code.\r\n- 📔 New [Playground blog post](https://docs.ag2.ai/latest/docs/blog/).\r\n- 📔 New [Handoffs blog post](https://docs.ag2.ai/latest/docs/blog/).\r\n- 📔 Updated model provider documentation for Grok, Cerebras, vLLM, DeepSeek, and others.\r\n- 📔 Added Tavily Search page and Langfuse documentation.\r\n- 📔 Improved new-user documentation funnel.\r\n\r\n## What's Changed\r\n* docs: GPT Researcher blog and image updates by @marklysze in https://github.com/ag2ai/ag2/pull/2440\r\n* Updated GPT Researcher blog post based on the latest sample code by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2441\r\n* docs: Playground blog by @marklysze in https://github.com/ag2ai/ag2/pull/2444\r\n* Grok and OpenAI-compatible model fixes and documentation by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2445\r\n* docs: SEO-optimized similar pages by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2446\r\n* docs: Cerebras and vLLM code examples by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2447\r\n* update outdated model provider docs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2449\r\n* Updated docs for 5 more model providers by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2448\r\n* fix: prevent tool call type field from concatenating during streaming by @jnMetaCode in https://github.com/ag2ai/ag2/pull/2451\r\n* docs: Added blog post on handoffs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2443\r\n* fix: Correct accidentally merged notebook by @marklysze in https://github.com/ag2ai/ag2/pull/2453\r\n* docs: CircuitBreakerCapability + SAFE_MODE integration examples by @amabito in https://github.com/ag2ai/ag2/pull/2430\r\n* Improve the new-user documentation funnel based on Google Analytics data by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2450\r\n* Add User-Agent header for Anthropic API calls by @mikelambert in https://github.com/ag2ai/ag2/pull/2425\r\n* add Tavily Search page and SEO descriptions to reference tools by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2460\r\n* update DeepSeek and Grok model provider pages by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2461\r\n* fix: prevent IndexError in last_message() on empty conversation by @jnMetaCode in https://github.com/ag2ai/ag2/pull/2457\r\n* fix: handle LLMConfig objects in AgentOptimizer by @jnMetaCode in https://github.com/ag2ai/ag2/pull/2455\r\n* fix: add missing model entries to token_count_utils by @jnMetaCode in https://github.com/ag2ai/ag2/pull/2454\r\n* Mistral Client updated to Mistral v2 API by @marklysze in https://github.com/ag2ai/ag2/pull/2466\r\n* feat: add QuickResearchTool for parallel web research by @bassilkhilo-ag2 in https://github.com/ag2ai/ag2/pull/2464\r\n* feat: Gemini V1 Client streaming support by @marklysze in https://github.com/ag2ai/ag2/pull/2452\r\n* Add Langfuse in documentation by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2465\r\n* Fix: Gemini thought signature handling by @marklysze in https://github.com/ag2ai/ag2/pull/2470\r\n* docs: Fix blog tag format by @marklysze in https://github.com/ag2ai/ag2/pull/2469\r\n* feat: add tinyfish scraper integration by @jsun-m in https://github.com/ag2ai/ag2/pull/2471\r\n* feat: AG2.1 beta by @Lancetnik in https://github.com/ag2ai/ag2/pull/2439\r\n\r\n## New Contributors\r\n* @jnMetaCode made their first contribution in https://github.com/ag2ai/ag2/pull/2451\r\n* @amabito made their first contribution in https://github.com/ag2ai/ag2/pull/2430\r\n* @mikelambert made their first contribution in https://github.com/ag2ai/ag2/pull/2425\r\n* @jsun-m made their first contribution in https://github.com/ag2ai/ag2/pull/2471\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.2...v0.11.3","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/297268528/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0},"mentions_count":8},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/291503698","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/291503698/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/291503698/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.2","id":291503698,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4RX_5S","tag_name":"v0.11.2","target_commitish":"main","name":"v0.11.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-27T20:23:28Z","updated_at":"2026-02-27T20:29:05Z","published_at":"2026-02-27T20:29:05Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.2","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.2","body":"## Highlights\r\n\r\n### Enhancements\r\n\r\n- 🔧 **Extra Headers Support** – Added `extra_headers` support to `OpenAILLMConfigEntry` and `AzureOpenAILLMConfigEntry`, allowing custom HTTP headers for API requests.\r\n\r\n### LLM Client Fixes\r\n\r\n- 🔧 **Gemini Parallel Tool Calls** – Fixed support for parallel tool calls in the Gemini client.\r\n- 🔧 **Gemini Structured Output** – Fixed Gemini structured output when using `additionalProperties`.\r\n- 🔧 **OpenAI Responses Client** – Fixed empty string content handling and new phase key support.\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **RandomAgentTarget Validation** – Fixed validation in `ensure_handoff_agents_in_group`.\r\n- 🔧 **Async Tool Execution** – Fixed awaiting awaitable tool results in async execution.\r\n- 🔧 **Group Tool Executor** – Preserved async wrapper in context variable injection.\r\n- 🔧 **Exception Handling** – Replaced bare `except` statements with `except Exception` (thanks @haosenwang1018).\r\n\r\n### Documentation\r\n\r\n- 📔 New [CopilotKit quickstart](https://docs.ag2.ai/latest/docs/user-guide/ag-ui/) and aligned AG-UI integration docs.\r\n- 📔 New [AG-UI blog post](https://docs.ag2.ai/latest/docs/blog/).\r\n- 🔧 Documentation build improvements and link fixes.\r\n- 🔧 Removed Mintlify dependency.\r\n\r\n## What's Changed\r\n* docs: Titles for title-less pages by @marklysze in https://github.com/ag2ai/ag2/pull/2412\r\n* docs: Tidy documentation build and content by @marklysze in https://github.com/ag2ai/ag2/pull/2415\r\n* docs: Parallel notebook generation and link fixes by @marklysze in https://github.com/ag2ai/ag2/pull/2416\r\n* docs: Remove Mintlify by @marklysze in https://github.com/ag2ai/ag2/pull/2417\r\n* fix: OpenAI Responses client to use empty string content by @marklysze in https://github.com/ag2ai/ag2/pull/2419\r\n* fix: Support parallel tool calls in Gemini client by @marklysze in https://github.com/ag2ai/ag2/pull/2420\r\n* docs: Remove Spider notebook by @marklysze in https://github.com/ag2ai/ag2/pull/2422\r\n* feat: Add extra_headers support to OpenAILLMConfigEntry and AzureOpenAILLMConfigEntry by @marklysze in https://github.com/ag2ai/ag2/pull/2424\r\n* fix: RandomAgentTarget validation in ensure_handoff_agents_in_group by @marklysze in https://github.com/ag2ai/ag2/pull/2423\r\n* fix: Gemini structured output when using additionalProperties by @marklysze in https://github.com/ag2ai/ag2/pull/2421\r\n* docs(ag-ui): add CopilotKit quickstart and align AG-UI integration docs by @blove in https://github.com/ag2ai/ag2/pull/2414\r\n* chore: Change PDF used in tests by @marklysze in https://github.com/ag2ai/ag2/pull/2427\r\n* docs: AG-UI blog by @marklysze in https://github.com/ag2ai/ag2/pull/2413\r\n* chore: Update Google Analytics tag by @marklysze in https://github.com/ag2ai/ag2/pull/2429\r\n* docs: fix broken AG-UI markup by @Lancetnik in https://github.com/ag2ai/ag2/pull/2431\r\n* fix: Handle new OpenAI phase key in Responses client by @marklysze in https://github.com/ag2ai/ag2/pull/2432\r\n* fix: replace 3 bare excepts with except Exception (thanks @haosenwang1018) by @marklysze in https://github.com/ag2ai/ag2/pull/2433\r\n* Fix awaiting awaitable tool results in async execution by @omanei in https://github.com/ag2ai/ag2/pull/2436\r\n* fix: preserve async wrapper in group tool executor's context variable injection by @marklysze in https://github.com/ag2ai/ag2/pull/2437\r\n* Version bump to 0.11.2 by @marklysze in https://github.com/ag2ai/ag2/pull/2438\r\n\r\n## New Contributors\r\n* @blove made their first contribution in https://github.com/ag2ai/ag2/pull/2414\r\n* @omanei made their first contribution in https://github.com/ag2ai/ag2/pull/2436\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.1...v0.11.2","mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/286630007","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/286630007/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/286630007/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.1","id":286630007,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4RFaB3","tag_name":"v0.11.1","target_commitish":"main","name":"v0.11.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-16T00:06:58Z","updated_at":"2026-02-16T00:32:22Z","published_at":"2026-02-16T00:26:10Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.1","body":"## Highlights\r\n\r\n### 🎉 Major Features\r\n\r\n- 🌊 **A2A Streaming** – Full streaming support for Agent2Agent communication, both server and client-side. LLM text streaming is now connected through to the A2A implementation, enabling real-time responses for remote agents. [Get Started](https://docs.ag2.ai/latest/docs/user-guide/a2a/)\r\n\r\n- 🙋 **A2A HITL Events** – Process human-in-the-loop events in Agent2Agent communication, enabling interactive approval workflows in your agent pipelines. [Get Started](https://docs.ag2.ai/latest/docs/user-guide/a2a/)\r\n\r\n- 🖥️ **AG-UI Message Streaming** – Real-time display of agent responses in AG-UI frontends. New event-based streaming architecture for smooth incremental text updates. [Get Started](https://docs.ag2.ai/latest/docs/user-guide/ag-ui/)\r\n\r\n- 📡 **OpenAI Responses v2 Client** – Migrated to OpenAI's Responses v2 API, unlocking stateful conversations without manual history management, built-in tools (web search, image generation, apply_patch), full access to reasoning model features (o3 thinking tokens), multimodal applications, structured outputs, and enhanced cost and token tracking. [Complete Guide](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_v2_responses_client/)\r\n\r\n### Bug Fixes\r\n\r\n- 🔧 **ToolCall TypeError** – Fixed TypeError on ToolCall return type.\r\n- 🐳 **Docker Error Message** – Improved error message when Docker is not running.\r\n- 🔧 **OpenAI Responses v2 Client Tidy** – Minor fixes and improvements to the new Responses v2 client.\r\n\r\n### Documentation & Maintenance\r\n\r\n- 📔 Updated mem0 example.\r\n- 🔧 Dependency bumps.\r\n- 🔧 Pydantic `copy` to `model_copy` migration.\r\n\r\n## What's Changed\r\n* Update CMBAgent blog post author affiliations to Cambridge University by @qingyun-wu in https://github.com/ag2ai/ag2/pull/2396\r\n* Support for A2A streaming of text from LLMs by @marklysze in https://github.com/ag2ai/ag2/pull/2394\r\n* fix: typeerror on toolcall return type by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2380\r\n* Fixed sample code. Improved error message when docker is not running by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2402\r\n* feat: a2a streaming client by @Lancetnik in https://github.com/ag2ai/ag2/pull/2403\r\n* feat: support AG-UI Message Streaming by @Lancetnik in https://github.com/ag2ai/ag2/pull/2404\r\n* Crawl4AI 0.8.x support by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2405\r\n* feat: process AgentService HITL event by @Lancetnik in https://github.com/ag2ai/ag2/pull/2406\r\n* feat: Migrate to OpenAI responses v2 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2357\r\n* Updated mem0 example by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2407\r\n* Fix: OpenAI Responses v2 client tidy by @marklysze in https://github.com/ag2ai/ag2/pull/2408\r\n* Chore: Dependency bumps by @marklysze in https://github.com/ag2ai/ag2/pull/2409\r\n* Pydantic copy to model_copy by @marklysze in https://github.com/ag2ai/ag2/pull/2410\r\n* Version bump to 0.11.1 by @marklysze in https://github.com/ag2ai/ag2/pull/2411\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.11.0...v0.11.1","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/286630007/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/284722717","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/284722717/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/284722717/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.11.0","id":284722717,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4Q-IYd","tag_name":"v0.11.0","target_commitish":"main","name":"v0.11.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-02-10T08:43:14Z","updated_at":"2026-02-10T18:23:48Z","published_at":"2026-02-10T09:07:43Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.11.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.11.0","body":"## Highlights\r\n\r\n### 🎉 Major Features\r\n\r\n- 🖥️ **AG-UI Protocol Integration** – AG2 now natively supports the [AG-UI protocol](https://docs.ag-ui.com/), the open standard for agent-to-user interaction. Build dynamic, real-time frontends powered by your AG2 agents with streaming responses, shared state synchronization, tool call rendering, and human-in-the-loop workflows. Seamlessly connect to CopilotKit and other AG-UI compatible frontends. [Get Started](https://docs.ag2.ai/latest/docs/user-guide/ag-ui/)\r\n\r\n- 📊 **OpenTelemetry Tracing & Instrumentation** – Full observability for your multi-agent workflows! AG2 now supports OpenTelemetry tracing, enabling you to monitor, debug, and analyze agent interactions for local and remote A2A agents. Includes LLM-level token usage and cost. Observe with industry-standard tools like Jaeger, Honeycomb, and other OTEL-compatible backends. [Get Started](https://docs.ag2.ai/latest/docs/user-guide/tracing/opentelemetry/)\r\n\r\n### LLM Enhancements\r\n- 🔄 **Anthropic V1 Client Streaming** – Added streaming and non-beta support for the Anthropic V1 client, improving response handling and compatibility.\r\n\r\n### Bug Fixes\r\n- 🤝 **A2A Message Support** – Fixed Anthropic and OpenAI clients to support messages without role for Agent-to-Agent (A2A) communication.\r\n\r\n### Important: Deprecations\r\n- [See this PR](https://github.com/ag2ai/ag2/pull/2397) for LLMConfig-related deprecations\r\n\r\n### Documentation & Maintenance\r\n- 📔 New documentation: [MCP Client Session Manager](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/tools/mcp/mcp_client_session_manager/) guide.\r\n- 📔 New documentation: [Built-in tool documentation](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/tools/ag2-built-in-tools-support/) added to tools section.\r\n- 📔 Cleaned up and simplified [Quick Start](https://docs.ag2.ai/latest/docs/quick-start/).\r\n- 🔗 Fixed documentation links.\r\n\r\n## What's Changed\r\n* Cleanup and simplify Quick Start example by @mihai-eng in https://github.com/ag2ai/ag2/pull/2365\r\n* feat: AG-UI native support by @Lancetnik in https://github.com/ag2ai/ag2/pull/2315\r\n* feat: AG-UI State events support by @Lancetnik in https://github.com/ag2ai/ag2/pull/2368\r\n* remove config_list parameter from LLMConfig in docs by @Maglctea in https://github.com/ag2ai/ag2/pull/2383\r\n* dependencies: add ag-ui to docs required modules by @Lancetnik in https://github.com/ag2ai/ag2/pull/2385\r\n* fix link in doc by @Maglctea in https://github.com/ag2ai/ag2/pull/2388\r\n* documentation: Add MCP Client Session Manager by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2378\r\n* documentation: Missing dedicated built-in tool documentation from tools section by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2376\r\n* feat: Tracing and Instrumentation by @marklysze in https://github.com/ag2ai/ag2/pull/2309\r\n* feat: Anthropic V1 Client streaming and non-beta support by @marklysze in https://github.com/ag2ai/ag2/pull/2389\r\n* fix: Anthropic and OpenAI client support for messages without role (A2A) by @marklysze in https://github.com/ag2ai/ag2/pull/2391\r\n* fix: Ignore OpenTelemetry tests for core tests with llms by @marklysze in https://github.com/ag2ai/ag2/pull/2399\r\n* 0.11.0 Deprecations by @marklysze in https://github.com/ag2ai/ag2/pull/2397\r\n\r\n## New Contributors\r\n* @mihai-eng made their first contribution in https://github.com/ag2ai/ag2/pull/2365\r\n* @Maglctea made their first contribution in https://github.com/ag2ai/ag2/pull/2383\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.5...v0.11.0","mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/281659539","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/281659539/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/281659539/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.5","id":281659539,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4QyciT","tag_name":"v0.10.5","target_commitish":"main","name":"v0.10.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-01-30T20:07:38Z","updated_at":"2026-01-30T20:36:14Z","published_at":"2026-01-30T20:34:21Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.5","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.5","body":"## Highlights\r\n\r\n### Enhancements\r\n- 🚀 **GPT 5.2 Codex Models Support** – Added support for OpenAI's GPT 5.2 Codex models, bringing enhanced coding capabilities to your agents.\r\n\r\n- 🐚 **GPT 5.1 Shell Tool Support** – The Responses API now supports the shell tool, enabling agents to interact with command-line interfaces for filesystem diagnostics, build/test flows, and complex agentic coding workflows.\r\nCheck out the blogpost: [Shell Tool and Multi-Inbuilt Tool Execution](https://docs.ag2.ai/latest/docs/blog/2025/12/24/AG2-Shell-Tool-and-multi-in-built-tool-execution/).\r\n\r\n- 🔬 **RemyxCodeExecutor** – New code executor for research paper execution, expanding AG2's capabilities for scientific and research workflows.\r\nCheck out the updated code execution documentation: [Code Execution](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/code-execution/).\r\n\r\n### Documentation\r\n- 📔 New guide: [Google Vertex AI deployments](https://docs.ag2.ai/latest/docs/user-guide/deployments/deploy-an-agent-to-vertexai/)\r\n- 📝 New blogpost: [Gemini Thinking Config](https://docs.ag2.ai/latest/docs/blog/2025/12/29/AG2-Gemini-Thinking-Config-Support/)\r\n- 📝 New blogpost: [Shell Tool and Multi-Inbuilt Tool Execution](https://docs.ag2.ai/latest/docs/blog/2025/12/24/AG2-Shell-Tool-and-multi-in-built-tool-execution/)\r\n- 🔧 Fixed orchestrations basic concepts documentation.\r\n\r\n### Fixes\r\n- 🔒 **Security Fixes** – Addressed multiple CVEs (CVE-2026-23745, CVE-2026-23950, CVE-2026-24842) to improve security posture.\r\n- 🤖 **Gemini A2A Message Support** – Fixed Gemini client to support messages without `role` for A2A.\r\n- ⚡ **GroupToolExecutor Async Handler** – Added async reply handler to `GroupToolExecutor` for improved async workflow support.\r\n- 🔧 **Anthropic BETA_BLOCKS_AVAILABLE Imports** – Fixed import issues with Anthropic beta blocks.\r\n- 👥 **GroupChat Agent Name Validation** – Now validates that agent names are unique in GroupChat to prevent conflicts.\r\n- 🪟 **OpenAI Shell Tool Windows Paths** – Fixed shell tool parsing for Windows paths.\r\n- 🔄 **Async Run Event Fix** – Prevented double `using_auto_reply` events when using async `run`.\r\n\r\n## What's Changed\r\n* fix:[severity High] CVE-2026-23745 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2340\r\n* fix: validate unique agent names in GroupChat by @Jing-yilin in https://github.com/ag2ai/ag2/pull/2333\r\n* feat: Add RemyxCodeExecutor for research paper execution by @salma-remyx in https://github.com/ag2ai/ag2/pull/2141\r\n* fix: CVE-2026-23950 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2350\r\n* Documentation: Add Google Vertex AI deployments guide by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2305\r\n* Documentation: Blogpost on gemini thinking config by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2303\r\n* fix: Anthropic BETA_BLOCKS_AVAILABLE imports by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2326\r\n* Fix orchestrations basic concepts by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2327\r\n* fix: Gemini client support for messages without role (A2A) by @marklysze in https://github.com/ag2ai/ag2/pull/2358\r\n* fix: add async reply handler to GroupToolExecutor by @marklysze in https://github.com/ag2ai/ag2/pull/2354\r\n* feat: support GPT 5.2 codex models by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2335\r\n* fix: CVE-2026-24842 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2360\r\n* feat: Gpt 5.1 shell tool support by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2228\r\n* documentation: blogpost on shell tool and multi-inbuilt tool execution by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2288\r\n* fix: OpenAI Shell tool parsing for Windows paths by @marklysze in https://github.com/ag2ai/ag2/pull/2362\r\n* chore: Gemini 2.0 Flash replacements by @marklysze in https://github.com/ag2ai/ag2/pull/2363\r\n* fix: Prevent double using_auto_reply events when using async `run` by @marklysze in https://github.com/ag2ai/ag2/pull/2276\r\n* Bump version to 0.10.5 by @marklysze in https://github.com/ag2ai/ag2/pull/2364\r\n\r\n## New Contributors\r\n* @Jing-yilin made their first contribution in https://github.com/ag2ai/ag2/pull/2333\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.4...v0.10.5","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/281659539/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"mentions_count":4},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/276901310","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/276901310/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/276901310/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.4","id":276901310,"author":{"login":"randombet","id":6344553,"node_id":"MDQ6VXNlcjYzNDQ1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/6344553?v=4","gravatar_id":"","url":"https://api.github.com/users/randombet","html_url":"https://github.com/randombet","followers_url":"https://api.github.com/users/randombet/followers","following_url":"https://api.github.com/users/randombet/following{/other_user}","gists_url":"https://api.github.com/users/randombet/gists{/gist_id}","starred_url":"https://api.github.com/users/randombet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombet/subscriptions","organizations_url":"https://api.github.com/users/randombet/orgs","repos_url":"https://api.github.com/users/randombet/repos","events_url":"https://api.github.com/users/randombet/events{/privacy}","received_events_url":"https://api.github.com/users/randombet/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4QgS2-","tag_name":"v0.10.4","target_commitish":"main","name":"v0.10.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-01-14T23:38:44Z","updated_at":"2026-01-15T00:08:14Z","published_at":"2026-01-15T00:08:14Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.4","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.4","body":"## Highlights\r\n- 🕹️ **Step-through Execution** - A powerful new orchestration feature `run_iter` (and `run_group_chat_iter`) that allows developers to pause and step through agent workflows event-by-event. This enables granular debugging, human-in-the-loop validation, and precise control over the execution loop.\r\n- ☁️ **AWS Bedrock \"Thinking\" & Reliability** - significant upgrades to the Bedrock client:\r\n    - **Reliability**: Added built-in support for **exponential backoff and retries**, resolving throttling issues on the Bedrock Converse API.\r\n    - **Advanced Config**: Added support for `additionalModelRequestFields`, enabling advanced model features like **Claude 3.7 Sonnet's \"Thinking Mode\"** and other provider-specific parameters directly via `BedrockConfigEntry`.\r\n- 💰 **Accurate Group Chat Cost Tracking** - A critical enhancement to cost observability. Previously, group chats might only track the manager or the last agent; this update ensures costs are now correctly aggregated from **all** participating agents in a group chat session.\r\n- 🤗 **HuggingFace Model Provider** - Added a dedicated guide and support documentation for integrating the HuggingFace Model Provider, making it easier to leverage open-source models.\r\n- 🐍 **Python 3.14 Readiness** - Added `devcontainer.json` support for Python 3.14, preparing the development environment for the next generation of Python.\r\n- 📚 **Documentation & Blogs** - Comprehensive new resources including:\r\n    - **Logging Events**: A deep dive into tracking and debugging agent events.\r\n    - **MultiMCPSessionManager**: Guide on managing multiple Model Context Protocol sessions.\r\n    - **Apply Patch Tool**: Tutorial on using the patch application tools.\r\n\r\n## What's Changed\r\n* fix: Set agents on RunResponse for group chat runs by @marklysze in https://github.com/ag2ai/ag2/pull/2274\r\n* chore: Add @runtime_checkable to RunResponseProtocol by @marklysze in https://github.com/ag2ai/ag2/pull/2273\r\n* Fix: unexpected chars in documentation by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2282\r\n* fix: claude reviews by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2285\r\n* Documentation: blogpost Logging events by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2286\r\n* documentation: Blogpost MultiMCPSessionManager by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2287\r\n* Documentation: Fix A2A Document Parsing Errors by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2281\r\n* Avoid pydantic deprecation warnings on import by @majiayu000 in https://github.com/ag2ai/ag2/pull/2272\r\n* Handle missing A2A task start events by @majiayu000 in https://github.com/ag2ai/ag2/pull/2275\r\n* Documentation: fix navigation logging events by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2280\r\n* Docs/unify referenceagent by @yashdeepkumar in https://github.com/ag2ai/ag2/pull/2268\r\n* Docs/fix docagent performance nav by @yashdeepkumar in https://github.com/ag2ai/ag2/pull/2294\r\n* fix: banner image by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2295\r\n* Documentation: Add HuggingFace Model Provider by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2279\r\n* feat: Step through execution with runs by @marklysze in https://github.com/ag2ai/ag2/pull/2290\r\n* chore: Code tidy for Anthropic and Google Gemini client classes by @marklysze in https://github.com/ag2ai/ag2/pull/2311\r\n* Documentation: add apply patch tool blogpost by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2284\r\n* feat: add devcontainer.json for python 3.14 by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2312\r\n* build: update checkout action to v6 by @rejected-l in https://github.com/ag2ai/ag2/pull/2224\r\n* feat: Bedrock exponential backoff and retries support by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2292\r\n* Feat: additionalModelRequestFields support on bedrock client by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2262\r\n* fix: Group chats to include costs from all agents by @marklysze in https://github.com/ag2ai/ag2/pull/2278\r\n* Add Tests and Documentation for FunctionTarget by @gabriel-eidelman in https://github.com/ag2ai/ag2/pull/2304\r\n* fix: filename conventions by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2325\r\n* [Release] Fix bugs and bump version to 0.10.4 by @randombet in https://github.com/ag2ai/ag2/pull/2331\r\n\r\n## New Contributors\r\n* @majiayu000 made their first contribution in https://github.com/ag2ai/ag2/pull/2272\r\n* @yashdeepkumar made their first contribution in https://github.com/ag2ai/ag2/pull/2268\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.3...v0.10.4","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/276901310/reactions","total_count":5,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":4,"rocket":1,"eyes":0},"mentions_count":7},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/271881063","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/271881063/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/271881063/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.3","id":271881063,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4QNJNn","tag_name":"v0.10.3","target_commitish":"main","name":"v0.10.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-12-19T20:47:33Z","updated_at":"2025-12-19T21:38:03Z","published_at":"2025-12-19T21:38:03Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.3","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.3","body":"## Highlights\r\n\r\n### Enhancements\r\n- 🚀 **OpenAI GPT 5.2 Support** – Added support for OpenAI's latest GPT-5.2 models, including the new `xhigh` reasoning effort level for enhanced performance on complex tasks.\r\n- 🛠️ **OpenAI GPT 5.1 `apply_patch` Tool Support** – The Responses API now supports the `apply_patch` tool, enabling structured code editing with V4A diff format for multi-file refactoring, bug fixes, and precise code modifications.\r\nCheck out the tutorial notebook: [GPT 5.1 apply_patch with AG2](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_gpt5.1_apply_patch_example/).\r\n- 🧠 **Gemini ThinkingConfig Support** – Extended thinking/reasoning configuration (`ThinkingConfig`) to Google Gemini models, allowing control over the depth and latency of model reasoning.\r\nCheck out the tutorial notebook: [Gemini Thinking with AG2](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_gemini_thinking_config_example/).\r\n- ✨ **Gemini 3 Thought Signatures** – Added support for thought signatures in functions for Gemini 3 models, improving reasoning-trace capture and downstream processing.\r\n- 📊 **Event Logging Enhancement** – Event printing now routes through the logging system, giving you more control over agent output and debugging.\r\n\r\n### Bug Fixes and Documentation\r\n- 🔧 **Anthropic Beta API Tool Format** – Corrected tool formatting issues with Anthropic Beta APIs for more reliable tool calling.\r\n- 🔩 **Bedrock Structured Outputs** – Fixed tool choice handling for Bedrock structured outputs using the `response_format` API.\r\n- ⚙️ **Gemini FunctionDeclaration** – Now using proper Schema objects for Gemini `FunctionDeclaration` parameters, improving function calling reliability.\r\n- 🛠️ **OpenAI V2 Client Tool Call Extraction** – Fixed tool call extraction logic from `message_retrieval` in the OpenAI V2 client.\r\n- 🔄 **Long-Living Tasks Processing** – Corrected async processing issues for long-running agent tasks.\r\n- 🖼️ Fixed handling of <img> tags in **MultimodalConversableAgent**\r\n- ✅ **Async default_auto_reply Validation** – Resolved validation error when using async `default_auto_reply`.\r\n- 📔 Updated notebooks and documentation with simpler LLMConfig usage.\r\n\r\n## What's Changed\r\n* Bump version to 0.10.2 by @marklysze in https://github.com/ag2ai/ag2/pull/2239\r\n* [Enhancement]Fix OAI V2 client tool call extract logic from message_retrieval by @randombet in https://github.com/ag2ai/ag2/pull/2214\r\n* feat: Route event printing through logging by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2217\r\n* fix: Handling of img tags for MultimodalConversableAgent by @marklysze in https://github.com/ag2ai/ag2/pull/2247\r\n* chore: Version bump of google-genai by @marklysze in https://github.com/ag2ai/ag2/pull/2240\r\n* feat: Add OpenAI GPT 5.2 support by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2250\r\n* Documentation: fix llmconfig assignments by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2252\r\n* Fix: Validation Error on aysnc default_auto_reply by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2256\r\n* fix: correct long-living tasks processing by @Lancetnik in https://github.com/ag2ai/ag2/pull/2255\r\n* feat:[response API] GPT 5.1 apply_patch tool call support by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2213\r\n* fix: use Schema objects for Gemini FunctionDeclaration parameters by @marklysze in https://github.com/ag2ai/ag2/pull/2260\r\n* feat: ThinkingConfig support gemini by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2254\r\n* fix: Support for thought signatures in functions for Gemini 3 models by @marklysze in https://github.com/ag2ai/ag2/pull/2267\r\n* [Fix] Tool format with Anthropic Beta APIs by @randombet in https://github.com/ag2ai/ag2/pull/2261\r\n* fix: Update path for windows apply_patch test by @marklysze in https://github.com/ag2ai/ag2/pull/2269\r\n* Document: update ipynb with LLMConfig(config_list=[]) by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2264\r\n* fix: bedrock structured outputs tool choice by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2251\r\n* Bump version to 0.10.3 by @marklysze in https://github.com/ag2ai/ag2/pull/2270\r\n* fix: front_matter in notebooks by @marklysze in https://github.com/ag2ai/ag2/pull/2271\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.2...v0.10.3","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/271881063/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":1,"rocket":0,"eyes":0},"mentions_count":4},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/267905525","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/267905525/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/267905525/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.2","id":267905525,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4P9-n1","tag_name":"v0.10.2","target_commitish":"main","name":"v0.10.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-12-05T05:21:54Z","updated_at":"2025-12-05T23:21:16Z","published_at":"2025-12-05T23:21:16Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.2","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.2","body":"## Highlights\r\n- 🧠 Anthropic Structured Outputs - AG2 now supports Anthropic’s new Structured Output API, enabling schema-guaranteed responses via constrained decoding.\r\nCheck out the tutorial notebook to see how structured outputs work across multiple AG2 orchestration patterns: [Anthropic Structured Outputs with AG2](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_anthropic_structured_outputs.ipynb).\r\n- ⚙️ Added first-class support for Bedrock structured outputs using the response_format API.\r\n- 🔧 ThinkingBlock Enhancements - ThinkingBlock now supports text extraction logic for Anthropic clients, enabling better reasoning-trace capture and downstream processing.\r\n- 🧩 Pydantic Structured Outputs for OpenAI (Completions v2)\r\n- 🌐 A2A Client interceptors support\r\n- 📔 Documentation updates\r\n- 🛠️🪲 Security and bug fixes\r\n\r\n## What's Changed\r\n* docs: DocAgent documentation fixes, documentation fix for tables by @marklysze in https://github.com/ag2ai/ag2/pull/2206\r\n* Events for handoffs by @marklysze in https://github.com/ag2ai/ag2/pull/2093\r\n* [Enhancement] Replace Golden_Retriever image url with simple images with base64 str by @randombet in https://github.com/ag2ai/ag2/pull/2207\r\n* feat: add addr information to 404 error by @Lancetnik in https://github.com/ag2ai/ag2/pull/2210\r\n* [Enhancement] Add Pydantic Structured Output to OpenAICompletionsClient by @randombet in https://github.com/ag2ai/ag2/pull/2208\r\n* added logic to extract text from ThinkingBlock by @ManuelPeixotoCegid in https://github.com/ag2ai/ag2/pull/2139\r\n* feat: A2A Client interceptors support by @Lancetnik in https://github.com/ag2ai/ag2/pull/2231\r\n* [Feature] Anthropic structured output with JSON output by @randombet in https://github.com/ag2ai/ag2/pull/2220\r\n* fix: missing await on async calls and bedrock keyerror by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2221\r\n* Fix: Use github static image to replace wiki image for testing by @randombet in https://github.com/ag2ai/ag2/pull/2236\r\n* Fix No Upper Bound on Dependency Version for google-sdk by @randombet in https://github.com/ag2ai/ag2/pull/2237\r\n* feat:[response_format] Bedrock client structured output by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2226\r\n* fix: Using Structured Outputs and Streaming with OpenAI client fails by @marklysze in https://github.com/ag2ai/ag2/pull/2234\r\n\r\n## New Contributors\r\n* @ManuelPeixotoCegid made their first contribution in https://github.com/ag2ai/ag2/pull/2139\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.1...v0.10.2","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/267905525/reactions","total_count":7,"+1":1,"-1":0,"laugh":1,"hooray":1,"confused":0,"heart":2,"rocket":2,"eyes":0},"mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/262572497","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/262572497/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/262572497/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.1","id":262572497,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4PponR","tag_name":"v0.10.1","target_commitish":"main","name":"v0.10.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-11-14T21:07:22Z","updated_at":"2025-11-14T22:32:01Z","published_at":"2025-11-14T22:32:01Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.1","body":"## Highlights\r\n- 🧠 New OpenAI Client Architecture - the first of our V2 client architectures, providing a foundation for multi-modal messages and access to thinking/reasoning tokens. Fully compatible with agents using V1 clients. Check out our [Image input/output](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_openai_v2_client_image/) and [V1 and V2 client compatibility](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_v1_v2_client_compatibility/) notebooks!\r\n- ⚙️ FunctionTarget in group chats - use a function to determine the target\r\n- 🧠 OpenAI GPT-5.1 support\r\n- 🌐 A2A updates and fixes\r\n- 📔 Documentation updates\r\n- 🛠️🪲 Security and bug fixes\r\n\r\n## What's Changed\r\n* feat: Implement new FunctionTarget by @gabriel-eidelman in https://github.com/ag2ai/ag2/pull/2031\r\n* fix: empty a2a message by @Lancetnik in https://github.com/ag2ai/ag2/pull/2163\r\n* feat: add A2A Card to Agent builder by @Lancetnik in https://github.com/ag2ai/ag2/pull/2165\r\n* documentation: Add multimcpclientsessionmanager notebook example by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2168\r\n* fix UnboundLocalError in function_target by @gabriel-eidelman in https://github.com/ag2ai/ag2/pull/2169\r\n* [MISC] Fix mypy errors by @randombet in https://github.com/ag2ai/ag2/pull/2167\r\n* fix: claude-code-review OIDC handshake for forked branches by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2171\r\n* Add A2A Protocol Support blog post by @sam-ag2 in https://github.com/ag2ai/ag2/pull/2170\r\n* docs: AG2xA2A banner image by @marklysze in https://github.com/ag2ai/ag2/pull/2183\r\n* chore: update Anthropic Sonnet model to 4.5 for tests by @marklysze in https://github.com/ag2ai/ag2/pull/2186\r\n* Feat/a2a hitl by @Lancetnik in https://github.com/ag2ai/ag2/pull/2187\r\n* docs: Update Agent-to-Agent to Agent2Agent branding by @sam-ag2 in https://github.com/ag2ai/ag2/pull/2193\r\n* Fix: OpenAI , azure, gemini tests and update credentials by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2188\r\n* Restructured llm configurations by @Ruchita-debug in https://github.com/ag2ai/ag2/pull/2195\r\n* [Feature] New client architecture with OAI completions API client by @randombet in https://github.com/ag2ai/ag2/pull/2182\r\n* fix: chromadb and sentence-transformers package versions by @marklysze in https://github.com/ag2ai/ag2/pull/2202\r\n* feat: add gpt 5.1 , codex and search models configs by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2205\r\n\r\n## New Contributors\r\n* @gabriel-eidelman made their first contribution in https://github.com/ag2ai/ag2/pull/2031\r\n* @sam-ag2 made their first contribution in https://github.com/ag2ai/ag2/pull/2170\r\n* @Ruchita-debug made their first contribution in https://github.com/ag2ai/ag2/pull/2195\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.10.0...v0.10.1","mentions_count":7},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/256506209","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/256506209/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/256506209/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.10.0","id":256506209,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4PSflh","tag_name":"v0.10.0","target_commitish":"main","name":"v0.10.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-10-22T20:52:08Z","updated_at":"2025-10-22T22:54:45Z","published_at":"2025-10-22T22:03:15Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.10.0","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.10.0","body":"## Highlights in 0.10!\r\n\r\n🌐 **Remote Agents with A2A Protocol** – AG2 now supports the open standard **Agent2Agent (A2A)** protocol, enabling your AG2 agents to discover, communicate, and collaborate with agents across different platforms, frameworks, and vendors. Build truly interoperable multi-agent systems that work seamlessly with agents from LangChain, CrewAI, and other frameworks. [Get started with Remote Agents!](https://docs.ag2.ai/latest/docs/user-guide/a2a/)\r\n\r\n🛡️ **Safe Guards in Group Chat** – comprehensive fine-grained security control now available in group chats, [documentation](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/orchestration/group-chat/safeguards/)\r\n\r\n📚 **Flow Diagrams** – Flow diagrams for all AG2 orchestrations, [example](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/pattern-cookbook/overview/)\r\n\r\n🐛 **Bug Fixes & Stability**\r\n\r\n## What's Changed\r\n* misc: Update policy-guided safeguard to support initiate_group_chat API by @jiancui-research in https://github.com/ag2ai/ag2/pull/2121\r\n* misc: Add Claude Code GitHub Workflow by @marklysze in https://github.com/ag2ai/ag2/pull/2146\r\n* misc: Disable Claude code review on Draft PRs by @marklysze in https://github.com/ag2ai/ag2/pull/2147\r\n* feat: Enable list[dict] type for message['content'] for two-agent chat and group chat APIs by @randombet in https://github.com/ag2ai/ag2/pull/2145\r\n* chore: Remove custom client multimodal tests by @randombet in https://github.com/ag2ai/ag2/pull/2151\r\n* fix: claude code review for forked branches by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2149\r\n* feat: RemoteAgents by @Lancetnik in https://github.com/ag2ai/ag2/pull/2055\r\n* fix: Tools detection for OpenAI o1 + LLM Tools/Functions merging by @marklysze in https://github.com/ag2ai/ag2/pull/2161\r\n* docs: add process message before send hook to documentation by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2154\r\n* Bump version to 0.10 by @marklysze in https://github.com/ag2ai/ag2/pull/2162\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.9.10...v0.10.0","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/256506209/reactions","total_count":5,"+1":0,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":3,"rocket":0,"eyes":0},"mentions_count":5},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/251932326","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/251932326/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/251932326/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.9.10","id":251932326,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4PBC6m","tag_name":"v0.9.10","target_commitish":"main","name":"v0.9.10","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-10-03T07:34:30Z","updated_at":"2025-10-03T07:44:44Z","published_at":"2025-10-03T07:44:44Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.9.10","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.9.10","body":"## Highlights\r\n🛡️ Maris Security Framework - Introducing policy-guided safeguards for multi-agent systems with configurable communication flow guardrails, supporting both regex and LLM-based detection methods for comprehensive security controls across agent-to-agent and agent-to-environment interactions. [Get started](https://docs.ag2.ai/latest/docs/user-guide/advanced-concepts/orchestration/group-chat/safeguards/)\r\n\r\n🏗️ YepCode Secure Sandbox - New secure, serverless code execution platform integration enabling production-grade sandboxed Python and JavaScript execution with automatic dependency management. [Get started](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_yepcode_executor/)\r\n\r\n🔧 Enhanced Azure OpenAI Support - Added new **\"minimal\"** reasoning effort support for Azure OpenAI, expanding model capabilities and configuration options.\r\n\r\n🐛 Security & Stability Fixes - Multiple security vulnerability mitigations (CVE-2025-59343, CVE-2025-58754) and critical bug fixes including memory overwrite issues in DocAgent and async processor improvements.\r\n\r\n📚 Documentation & Examples - New [web scraping tutorial with Oxylabs](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_webscraping_with_oxylabs/) and updated API references\r\n\r\n⚠️ LLMConfig API Updates - *Important deprecation* of legacy `LLMConfig` contextmanager, `.current`, and `.default` methods in future release v0.11.0\r\n\r\n## What's Changed\r\n* fix: remove temperature & top_p restriction by @Lancetnik in https://github.com/ag2ai/ag2/pull/2054\r\n* chore: apply ruff c4 rule by @Lancetnik in https://github.com/ag2ai/ag2/pull/2056\r\n* chore(deps): bump the pip group with 10 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2042\r\n* chore: remove useless python versions check by @Lancetnik in https://github.com/ag2ai/ag2/pull/2057\r\n* Add YepCode secure sandbox code executor by @marcos-muino-garcia in https://github.com/ag2ai/ag2/pull/1982\r\n* [Enhancement] Falkor db SDK update and clean up by @randombet in https://github.com/ag2ai/ag2/pull/2045\r\n* Create agentchat_webscraping_with_oxylabs.ipynb by @zygimantas-jac in https://github.com/ag2ai/ag2/pull/2027\r\n* chore(deps): bump the pip group with 11 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2064\r\n* refactor: ConversableAgent improvements by @Lancetnik in https://github.com/ag2ai/ag2/pull/2059\r\n* [documentation]: fix cluttered API references by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2069\r\n* [documentation]: updates SEO by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2068\r\n* [documentation]:fix broken notebook markdown by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2070\r\n* chore(deps): bump the pip group with 8 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2073\r\n* refactor: deprecate LLMConfig contextmanager, .current, .default by @Lancetnik in https://github.com/ag2ai/ag2/pull/2028\r\n* Bugfix: memory overwrite on DocAgent by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2075\r\n* Added config for Joggr by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2088\r\n* fix:[deps resolver,rag] use range instead of explicit versions by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2072\r\n* Replace asyncer to anyio by @kodsurfer in https://github.com/ag2ai/ag2/pull/2035\r\n* feat: add minimal reasoning effort support for AzureOpenAI by @joaorato in https://github.com/ag2ai/ag2/pull/2094\r\n* chore(deps): bump the pip group with 10 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2092\r\n* chore(deps): bump the github-actions group with 4 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2091\r\n* follow-up of the AG2 Community Talk: \"Maris: A Security Controlled Development Paradigm for Multi-Agent Collaboration Systems\" by @jiancui-research in https://github.com/ag2ai/ag2/pull/2074\r\n* Updated README by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2085\r\n* Add document for the policy-guided safeguard (Maris) by @jiancui-research in https://github.com/ag2ai/ag2/pull/2099\r\n* Updated use of NotGiven in realtime_test_utils by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2116\r\n* Add blog post for Cascadia AI Hackathon Winner by @allisonwhilden in https://github.com/ag2ai/ag2/pull/2115\r\n* fix(io): make console input non-blocking in async processor by @ashm-dev in https://github.com/ag2ai/ag2/pull/2111\r\n* Documentation/Bugfix/mitigate: LLMConfig declaration, models on temperature CVE-2025-59343, CVE-2025-58754 and some weaknesses by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2117\r\n* [Fix] Update websurfer header to bypass block by @randombet in https://github.com/ag2ai/ag2/pull/2120\r\n* [Bugfix] Fix yepcode build error by @randombet in https://github.com/ag2ai/ag2/pull/2118\r\n* [docs] update config list filtering examples to allow string or list by @aakash232 in https://github.com/ag2ai/ag2/pull/2109\r\n* fix: correct typo in NVIDIA 10-K document by @viktorking7 in https://github.com/ag2ai/ag2/pull/2122\r\n* fix: correct LLMConfig parsing by @Lancetnik in https://github.com/ag2ai/ag2/pull/2119\r\n* [Fix] OAI_CONFIG_LIST for tests by @marklysze in https://github.com/ag2ai/ag2/pull/2130\r\n* Bump version to 0.9.10 by @marklysze in https://github.com/ag2ai/ag2/pull/2133\r\n\r\n## New Contributors\r\n* @marcos-muino-garcia made their first contribution in https://github.com/ag2ai/ag2/pull/1982\r\n* @zygimantas-jac made their first contribution in https://github.com/ag2ai/ag2/pull/2027\r\n* @VasiliyRad made their first contribution in https://github.com/ag2ai/ag2/pull/2088\r\n* @kodsurfer made their first contribution in https://github.com/ag2ai/ag2/pull/2035\r\n* @joaorato made their first contribution in https://github.com/ag2ai/ag2/pull/2094\r\n* @jiancui-research made their first contribution in https://github.com/ag2ai/ag2/pull/2074\r\n* @ashm-dev made their first contribution in https://github.com/ag2ai/ag2/pull/2111\r\n* @aakash232 made their first contribution in https://github.com/ag2ai/ag2/pull/2109\r\n* @viktorking7 made their first contribution in https://github.com/ag2ai/ag2/pull/2122\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.9.9...v0.9.10","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/251932326/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":15},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/241052039","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/241052039/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/241052039/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.9.9","id":241052039,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4OXimH","tag_name":"v0.9.9","target_commitish":"main","name":"v0.9.9","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-08-20T00:30:40Z","updated_at":"2025-08-20T00:36:10Z","published_at":"2025-08-20T00:36:10Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.9.9","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.9.9","body":"## Highlights\r\n🪲 Bug fixes - including package version comparison fix\r\n📔 Documentation updates\r\n\r\n## What's Changed\r\n* Package build updates by @marklysze in https://github.com/ag2ai/ag2/pull/2033\r\n* Fix Markdown Formatting in Verbosity Example Notebook by @BlocUnited in https://github.com/ag2ai/ag2/pull/2038\r\n* Fix markdown formatting in GPT-5 verbosity example notebook by @BlocUnited in https://github.com/ag2ai/ag2/pull/2039\r\n* Fix: Correct package dependency version comparisons by @marklysze in https://github.com/ag2ai/ag2/pull/2047\r\n* Bugfix: Auto-selection during manual selection group chat causes exce… by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2040\r\n* [Enhancement] Update graphrag_trip_planne notebook by @randombet in https://github.com/ag2ai/ag2/pull/2041\r\n* docs: Update references to Python 3.9 to 3.10 by @marklysze in https://github.com/ag2ai/ag2/pull/2032\r\n* Version bump to 0.9.8.post1 by @marklysze in https://github.com/ag2ai/ag2/pull/2034\r\n* Bump version to 0.9.9 by @marklysze in https://github.com/ag2ai/ag2/pull/2051\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.9.8...v0.9.9","mentions_count":4},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/240152526","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/240152526/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/240152526/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.9.8.post1","id":240152526,"author":{"login":"marklysze","id":66362098,"node_id":"MDQ6VXNlcjY2MzYyMDk4","avatar_url":"https://avatars.githubusercontent.com/u/66362098?v=4","gravatar_id":"","url":"https://api.github.com/users/marklysze","html_url":"https://github.com/marklysze","followers_url":"https://api.github.com/users/marklysze/followers","following_url":"https://api.github.com/users/marklysze/following{/other_user}","gists_url":"https://api.github.com/users/marklysze/gists{/gist_id}","starred_url":"https://api.github.com/users/marklysze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marklysze/subscriptions","organizations_url":"https://api.github.com/users/marklysze/orgs","repos_url":"https://api.github.com/users/marklysze/repos","events_url":"https://api.github.com/users/marklysze/events{/privacy}","received_events_url":"https://api.github.com/users/marklysze/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4OUG_O","tag_name":"v0.9.8.post1","target_commitish":"main","name":"v0.9.8.post1","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-08-15T04:55:17Z","updated_at":"2025-08-15T05:07:26Z","published_at":"2025-08-15T05:07:26Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.9.8.post1","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.9.8.post1","body":"## Highlights from v0.9.8\r\n🧠 Full GPT-5 Support – All GPT-5 variants are now supported, including gpt-5, mini, and nano. [Try it here](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_gpt-5_verbosity_example/)\r\n🐍 Python 3.9 Deprecation – With Python 3.9 nearing end-of-support, AG2 now requires Python 3.10+.\r\n🛠️ MCP Attribute Bug Fixed – No more hiccups with MCP attribute handling.\r\n🔒 Security & Stability – Additional security patches and bug fixes to keep things smooth and safe.\r\n\r\n## What's Changed\r\n* Package build updates by @marklysze in https://github.com/ag2ai/ag2/pull/2033\r\n* docs: Update references to Python 3.9 to 3.10 by @marklysze in https://github.com/ag2ai/ag2/pull/2032\r\n* Version bump to 0.9.8.post1 by @marklysze in https://github.com/ag2ai/ag2/pull/2034\r\n\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.9.8...v0.9.8.post1","mentions_count":1},{"url":"https://api.github.com/repos/ag2ai/ag2/releases/240140529","assets_url":"https://api.github.com/repos/ag2ai/ag2/releases/240140529/assets","upload_url":"https://uploads.github.com/repos/ag2ai/ag2/releases/240140529/assets{?name,label}","html_url":"https://github.com/ag2ai/ag2/releases/tag/v0.9.8","id":240140529,"author":{"login":"randombet","id":6344553,"node_id":"MDQ6VXNlcjYzNDQ1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/6344553?v=4","gravatar_id":"","url":"https://api.github.com/users/randombet","html_url":"https://github.com/randombet","followers_url":"https://api.github.com/users/randombet/followers","following_url":"https://api.github.com/users/randombet/following{/other_user}","gists_url":"https://api.github.com/users/randombet/gists{/gist_id}","starred_url":"https://api.github.com/users/randombet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombet/subscriptions","organizations_url":"https://api.github.com/users/randombet/orgs","repos_url":"https://api.github.com/users/randombet/repos","events_url":"https://api.github.com/users/randombet/events{/privacy}","received_events_url":"https://api.github.com/users/randombet/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDONN02As4OUEDx","tag_name":"v0.9.8","target_commitish":"main","name":"v0.9.8","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-08-15T03:25:30Z","updated_at":"2025-08-15T03:38:09Z","published_at":"2025-08-15T03:36:16Z","assets":[],"tarball_url":"https://api.github.com/repos/ag2ai/ag2/tarball/v0.9.8","zipball_url":"https://api.github.com/repos/ag2ai/ag2/zipball/v0.9.8","body":"## Highlights\r\n🧠 Full GPT-5 Support – All GPT-5 variants are now supported, including gpt-5, mini, and nano. [Try it here](https://docs.ag2.ai/latest/docs/use-cases/notebooks/notebooks/agentchat_gpt-5_verbosity_example/)\r\n🐍 Python 3.9 Deprecation – With Python 3.9 nearing end-of-support, AG2 now requires Python 3.10+.\r\n🛠️ MCP Attribute Bug Fixed – No more hiccups with MCP attribute handling.\r\n🔒 Security & Stability – Additional security patches and bug fixes to keep things smooth and safe.\r\n\r\n## What's Changed\r\n* fix: LLMConfig Validation Error on 'stream=true' by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1953\r\n* Update conversable_agent.py by @lazToum in https://github.com/ag2ai/ag2/pull/1966\r\n* Docs:[Grok usecase] Analysis on large SBOMs by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1970\r\n* fix: Update Arize Phoenix AutoGen documentation link by @reallesee in https://github.com/ag2ai/ag2/pull/1942\r\n* Repo: Adjust schedule for workflows requiring review by @marklysze in https://github.com/ag2ai/ag2/pull/1972\r\n* feat: MCPClientSessionManager class for multi-stdio sessions by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1967\r\n* lint: fix ExceptionGroup imports by @Lancetnik in https://github.com/ag2ai/ag2/pull/1979\r\n* Bump the pip group across 1 directory with 25 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/1973\r\n* fix: Correct variable name in generate_mkdocs.py by @lechpzn in https://github.com/ag2ai/ag2/pull/1977\r\n* docs: add CONTRIBUTING.md refers documentation by @Lancetnik in https://github.com/ag2ai/ag2/pull/1980\r\n* docs: polish badges by @Lancetnik in https://github.com/ag2ai/ag2/pull/1984\r\n* docs: fix list rendering in contribution guide part of docs by @danfimov in https://github.com/ag2ai/ag2/pull/1987\r\n* lint: fix mypy by @Lancetnik in https://github.com/ag2ai/ag2/pull/1998\r\n* docs: fix broken markup at Contributing page by @danfimov in https://github.com/ag2ai/ag2/pull/1986\r\n* chore: fix typo in comment sections by @kks-code in https://github.com/ag2ai/ag2/pull/1991\r\n* feat:[MCPClientSessionManager] can manage SSE and Stdio session both by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1983\r\n* feat: update gpt-5 model configs by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1999\r\n* fix: proccess messages without content by @Lancetnik in https://github.com/ag2ai/ag2/pull/1988\r\n* Update waldiez.mdx by @ounospanas in https://github.com/ag2ai/ag2/pull/2004\r\n* fix: remove Windows restriction for LocalJupyterServer by @Shepard2154 in https://github.com/ag2ai/ag2/pull/2006\r\n* feat: Add gpt-5 minimal reasoning to chat.completion by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2007\r\n* feat: Add verbosity support for GPT-5, GPT-5-mini, GPT-5-nano by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2002\r\n* Bump astral-sh/setup-uv from 5 to 6 in the github-actions group by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/1735\r\n* fix: improve openai response format handling for json_object type by @lemorage in https://github.com/ag2ai/ag2/pull/1992\r\n* feat: make LLMConfig init method typed by @Lancetnik in https://github.com/ag2ai/ag2/pull/2014\r\n* Introduced \"Proxy\" Configuration for Gemini (Non Vertex AI). by @DebajitKumarPhukan in https://github.com/ag2ai/ag2/pull/1949\r\n* fix: Error when calling with azureopenai by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1993\r\n* mcp_proxy: FastMCP init uses name= (not title=) by @bassilkhilo-ag2 in https://github.com/ag2ai/ag2/pull/2018\r\n* Update agentchat_websockets.ipynb by @auslaner in https://github.com/ag2ai/ag2/pull/2023\r\n* Bump the pip group with 8 updates by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2013\r\n* Cerebras, support for reasoning_effort, minor typos by @maxim-saplin in https://github.com/ag2ai/ag2/pull/2016\r\n* chore(ci): upgrade checkout to v5 by @rejected-l in https://github.com/ag2ai/ag2/pull/2015\r\n* chore: drop python3.9 support by @Lancetnik in https://github.com/ag2ai/ag2/pull/1981\r\n* Bugfix: Non-terminating chat on ConversableAgent by @priyansh4320 in https://github.com/ag2ai/ag2/pull/1958\r\n* refactor: type LLMConfig with TypedDicts by @Lancetnik in https://github.com/ag2ai/ag2/pull/2019\r\n* Update conversable_agent by @lazToum in https://github.com/ag2ai/ag2/pull/2003\r\n* refactor: handle evolved ChatCompletion schema by @priyansh4320 in https://github.com/ag2ai/ag2/pull/2029\r\n* Version bump to 0.9.7 by @marklysze in https://github.com/ag2ai/ag2/pull/1968\r\n\r\n## New Contributors\r\n* @reallesee made their first contribution in https://github.com/ag2ai/ag2/pull/1942\r\n* @Lancetnik made their first contribution in https://github.com/ag2ai/ag2/pull/1979\r\n* @lechpzn made their first contribution in https://github.com/ag2ai/ag2/pull/1977\r\n* @danfimov made their first contribution in https://github.com/ag2ai/ag2/pull/1987\r\n* @kks-code made their first contribution in https://github.com/ag2ai/ag2/pull/1991\r\n* @Shepard2154 made their first contribution in https://github.com/ag2ai/ag2/pull/2006\r\n* @lemorage made their first contribution in https://github.com/ag2ai/ag2/pull/1992\r\n* @DebajitKumarPhukan made their first contribution in https://github.com/ag2ai/ag2/pull/1949\r\n* @bassilkhilo-ag2 made their first contribution in https://github.com/ag2ai/ag2/pull/2018\r\n* @auslaner made their first contribution in https://github.com/ag2ai/ag2/pull/2023\r\n* @rejected-l made their first contribution in https://github.com/ag2ai/ag2/pull/2015\r\n\r\n**Full Changelog**: https://github.com/ag2ai/ag2/compare/v0.9.7...v0.9.8","reactions":{"url":"https://api.github.com/repos/ag2ai/ag2/releases/240140529/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":17}]