Releases: ag2ai/ag2
v0.10.0
Highlights in 0.10!
🌐 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!
🛡️ Safe Guards in Group Chat – comprehensive fine-grained security control now available in group chats, documentation
📚 Flow Diagrams – Flow diagrams for all AG2 orchestrations, example
🐛 Bug Fixes & Stability
What's Changed
- misc: Update policy-guided safeguard to support initiate_group_chat API by @jiancui-research in #2121
- misc: Add Claude Code GitHub Workflow by @marklysze in #2146
- misc: Disable Claude code review on Draft PRs by @marklysze in #2147
- feat: Enable list[dict] type for message['content'] for two-agent chat and group chat APIs by @randombet in #2145
- chore: Remove custom client multimodal tests by @randombet in #2151
- fix: claude code review for forked branches by @priyansh4320 in #2149
- feat: RemoteAgents by @Lancetnik in #2055
- fix: Tools detection for OpenAI o1 + LLM Tools/Functions merging by @marklysze in #2161
- docs: add process message before send hook to documentation by @priyansh4320 in #2154
- Bump version to 0.10 by @marklysze in #2162
Full Changelog: v0.9.10...v0.10.0
v0.9.10
Highlights
🛡️ 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
🏗️ YepCode Secure Sandbox - New secure, serverless code execution platform integration enabling production-grade sandboxed Python and JavaScript execution with automatic dependency management. Get started
🔧 Enhanced Azure OpenAI Support - Added new "minimal" reasoning effort support for Azure OpenAI, expanding model capabilities and configuration options.
🐛 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.
📚 Documentation & Examples - New web scraping tutorial with Oxylabs and updated API references
LLMConfig contextmanager, .current, and .default methods in future release v0.11.0
What's Changed
- fix: remove temperature & top_p restriction by @Lancetnik in #2054
- chore: apply ruff c4 rule by @Lancetnik in #2056
- chore(deps): bump the pip group with 10 updates by @dependabot[bot] in #2042
- chore: remove useless python versions check by @Lancetnik in #2057
- Add YepCode secure sandbox code executor by @marcos-muino-garcia in #1982
- [Enhancement] Falkor db SDK update and clean up by @randombet in #2045
- Create agentchat_webscraping_with_oxylabs.ipynb by @zygimantas-jac in #2027
- chore(deps): bump the pip group with 11 updates by @dependabot[bot] in #2064
- refactor: ConversableAgent improvements by @Lancetnik in #2059
- [documentation]: fix cluttered API references by @priyansh4320 in #2069
- [documentation]: updates SEO by @priyansh4320 in #2068
- [documentation]:fix broken notebook markdown by @priyansh4320 in #2070
- chore(deps): bump the pip group with 8 updates by @dependabot[bot] in #2073
- refactor: deprecate LLMConfig contextmanager, .current, .default by @Lancetnik in #2028
- Bugfix: memory overwrite on DocAgent by @priyansh4320 in #2075
- Added config for Joggr by @VasiliyRad in #2088
- fix:[deps resolver,rag] use range instead of explicit versions by @priyansh4320 in #2072
- Replace asyncer to anyio by @kodsurfer in #2035
- feat: add minimal reasoning effort support for AzureOpenAI by @joaorato in #2094
- chore(deps): bump the pip group with 10 updates by @dependabot[bot] in #2092
- chore(deps): bump the github-actions group with 4 updates by @dependabot[bot] in #2091
- follow-up of the AG2 Community Talk: "Maris: A Security Controlled Development Paradigm for Multi-Agent Collaboration Systems" by @jiancui-research in #2074
- Updated README by @VasiliyRad in #2085
- Add document for the policy-guided safeguard (Maris) by @jiancui-research in #2099
- Updated use of NotGiven in realtime_test_utils by @VasiliyRad in #2116
- Add blog post for Cascadia AI Hackathon Winner by @allisonwhilden in #2115
- fix(io): make console input non-blocking in async processor by @ashm-dev in #2111
- Documentation/Bugfix/mitigate: LLMConfig declaration, models on temperature CVE-2025-59343, CVE-2025-58754 and some weaknesses by @priyansh4320 in #2117
- [Fix] Update websurfer header to bypass block by @randombet in #2120
- [Bugfix] Fix yepcode build error by @randombet in #2118
- [docs] update config list filtering examples to allow string or list by @aakash232 in #2109
- fix: correct typo in NVIDIA 10-K document by @viktorking7 in #2122
- fix: correct LLMConfig parsing by @Lancetnik in #2119
- [Fix] OAI_CONFIG_LIST for tests by @marklysze in #2130
- Bump version to 0.9.10 by @marklysze in #2133
New Contributors
- @marcos-muino-garcia made their first contribution in #1982
- @zygimantas-jac made their first contribution in #2027
- @VasiliyRad made their first contribution in #2088
- @kodsurfer made their first contribution in #2035
- @joaorato made their first contribution in #2094
- @jiancui-research made their first contribution in #2074
- @ashm-dev made their first contribution in #2111
- @aakash232 made their first contribution in #2109
- @viktorking7 made their first contribution in #2122
Full Changelog: v0.9.9...v0.9.10
v0.9.9
Highlights
🪲 Bug fixes - including package version comparison fix
📔 Documentation updates
What's Changed
- Package build updates by @marklysze in #2033
- Fix Markdown Formatting in Verbosity Example Notebook by @BlocUnited in #2038
- Fix markdown formatting in GPT-5 verbosity example notebook by @BlocUnited in #2039
- Fix: Correct package dependency version comparisons by @marklysze in #2047
- Bugfix: Auto-selection during manual selection group chat causes exce… by @priyansh4320 in #2040
- [Enhancement] Update graphrag_trip_planne notebook by @randombet in #2041
- docs: Update references to Python 3.9 to 3.10 by @marklysze in #2032
- Version bump to 0.9.8.post1 by @marklysze in #2034
- Bump version to 0.9.9 by @marklysze in #2051
Full Changelog: v0.9.8...v0.9.9
v0.9.8.post1
Highlights from v0.9.8
🧠 Full GPT-5 Support – All GPT-5 variants are now supported, including gpt-5, mini, and nano. Try it here
🐍 Python 3.9 Deprecation – With Python 3.9 nearing end-of-support, AG2 now requires Python 3.10+.
🛠️ MCP Attribute Bug Fixed – No more hiccups with MCP attribute handling.
🔒 Security & Stability – Additional security patches and bug fixes to keep things smooth and safe.
What's Changed
- Package build updates by @marklysze in #2033
- docs: Update references to Python 3.9 to 3.10 by @marklysze in #2032
- Version bump to 0.9.8.post1 by @marklysze in #2034
Full Changelog: v0.9.8...v0.9.8.post1
v0.9.8
Highlights
🧠 Full GPT-5 Support – All GPT-5 variants are now supported, including gpt-5, mini, and nano. Try it here
🐍 Python 3.9 Deprecation – With Python 3.9 nearing end-of-support, AG2 now requires Python 3.10+.
🛠️ MCP Attribute Bug Fixed – No more hiccups with MCP attribute handling.
🔒 Security & Stability – Additional security patches and bug fixes to keep things smooth and safe.
What's Changed
- fix: LLMConfig Validation Error on 'stream=true' by @priyansh4320 in #1953
- Update conversable_agent.py by @lazToum in #1966
- Docs:[Grok usecase] Analysis on large SBOMs by @priyansh4320 in #1970
- fix: Update Arize Phoenix AutoGen documentation link by @reallesee in #1942
- Repo: Adjust schedule for workflows requiring review by @marklysze in #1972
- feat: MCPClientSessionManager class for multi-stdio sessions by @priyansh4320 in #1967
- lint: fix ExceptionGroup imports by @Lancetnik in #1979
- Bump the pip group across 1 directory with 25 updates by @dependabot[bot] in #1973
- fix: Correct variable name in generate_mkdocs.py by @lechpzn in #1977
- docs: add CONTRIBUTING.md refers documentation by @Lancetnik in #1980
- docs: polish badges by @Lancetnik in #1984
- docs: fix list rendering in contribution guide part of docs by @danfimov in #1987
- lint: fix mypy by @Lancetnik in #1998
- docs: fix broken markup at Contributing page by @danfimov in #1986
- chore: fix typo in comment sections by @kks-code in #1991
- feat:[MCPClientSessionManager] can manage SSE and Stdio session both by @priyansh4320 in #1983
- feat: update gpt-5 model configs by @priyansh4320 in #1999
- fix: proccess messages without content by @Lancetnik in #1988
- Update waldiez.mdx by @ounospanas in #2004
- fix: remove Windows restriction for LocalJupyterServer by @Shepard2154 in #2006
- feat: Add gpt-5 minimal reasoning to chat.completion by @priyansh4320 in #2007
- feat: Add verbosity support for GPT-5, GPT-5-mini, GPT-5-nano by @priyansh4320 in #2002
- Bump astral-sh/setup-uv from 5 to 6 in the github-actions group by @dependabot[bot] in #1735
- fix: improve openai response format handling for json_object type by @lemorage in #1992
- feat: make LLMConfig init method typed by @Lancetnik in #2014
- Introduced "Proxy" Configuration for Gemini (Non Vertex AI). by @DebajitKumarPhukan in #1949
- fix: Error when calling with azureopenai by @priyansh4320 in #1993
- mcp_proxy: FastMCP init uses name= (not title=) by @bassilkhilo-ag2 in #2018
- Update agentchat_websockets.ipynb by @auslaner in #2023
- Bump the pip group with 8 updates by @dependabot[bot] in #2013
- Cerebras, support for reasoning_effort, minor typos by @maxim-saplin in #2016
- chore(ci): upgrade checkout to v5 by @rejected-l in #2015
- chore: drop python3.9 support by @Lancetnik in #1981
- Bugfix: Non-terminating chat on ConversableAgent by @priyansh4320 in #1958
- refactor: type LLMConfig with TypedDicts by @Lancetnik in #2019
- Update conversable_agent by @lazToum in #2003
- refactor: handle evolved ChatCompletion schema by @priyansh4320 in #2029
- Version bump to 0.9.7 by @marklysze in #1968
New Contributors
- @reallesee made their first contribution in #1942
- @Lancetnik made their first contribution in #1979
- @lechpzn made their first contribution in #1977
- @danfimov made their first contribution in #1987
- @kks-code made their first contribution in #1991
- @Shepard2154 made their first contribution in #2006
- @lemorage made their first contribution in #1992
- @DebajitKumarPhukan made their first contribution in #1949
- @bassilkhilo-ag2 made their first contribution in #2018
- @auslaner made their first contribution in #2023
- @rejected-l made their first contribution in #2015
Full Changelog: v0.9.7...v0.9.8
v0.9.7
Highlights
- 🔎 AG2 welcomes xAI's Grok and its live search! Try it out
- ⚙️ Static and dynamic tool registration for two-agent chats
- 🧠 Support for the
seedparameter onLLMConfigwith Gemini models - 🛠️ Security and bug fixes
What's Changed
- Improve documentation and test coverage for filter_config function by @bfdykstra in #1923
- Bugfix: Register MCP Tools Like MCP Resources by @JamesVorder in #1950
- fix: Ollama LLMConfig ValidationError on 'native_tool_calls' by @priyansh4320 in #1951
- mitigate: Vulnerability CVE-2024-6982 by @priyansh4320 in #1963
- Add support for seed parameter for Gemini client by @marklysze in #1955
- [Enhancement] Add comprehensive Grok integration support by @randombet in #1962
- [Enhancement] Fix functions not register for execution for run and a_run methods by @randombet in #1954
- Update sqlite_logger.py by @lazToum in #1957
- Create waldiez.mdx by @ounospanas in #1943
New Contributors
- @bfdykstra made their first contribution in #1923
- @JamesVorder made their first contribution in #1950
- @priyansh4320 made their first contribution in #1951
- @ounospanas made their first contribution in #1943
Full Changelog: v0.9.6...v0.9.7
v0.9.6
What's Changed
- Release image update by @marklysze in #1931
- change para name to avoid collision by @qingyun-wu in #1937
- feat: Add configurable routing method to LLMConfig and OpenAIWrapper by @sonichi in #1936
- Support container_create_kwargs in DockerCommandLineCodeExecutor by @salma-remyx in #1929
- Python code execution tool (System/Venv/Docker) by @marklysze in #1371
- Add Claude Code CLI to devcontainer setup by @sonichi in #1938
New Contributors
- @salma-remyx made their first contribution in #1929
Full Changelog: v0.9.5...v0.9.6
v0.9.5
Highlights
🖼️ Image generation and understanding
Use our OpenAI Responses API integration to generate images and for image understanding.
- Getting started
- Image Generation notebook
- Tool use and Structured output notebooks
- We're just getting started with integrating the Responses API into AG2 so keep an eye out on future releases which will enable use within group chats and the
runinterface. - Here's one we created using the Image Generation notebook
🌊 MCP Notebook Updates
MCP notebooks have been updated covering Streamable-HTTP transport, API Key / HTTP / OAuth authentication, and incorporating MCP with AG2. Intro, general notebooks, and security.
What's Changed
- MCP notebook and documentation fixes by @qingyun-wu in #1925
- [Feature] OAI responses api with multimodal input & output by @randombet in #1917
- Test updates for LLM testing by @marklysze in #1930
- Update version to 0.9.5 by @marklysze in #1928
Full Changelog: v0.9.4...v0.9.5
v0.9.4
🌟 Highlights
🛡️ Guardrails for AG2 GroupChat Are Here!!!
Take control of your multi-agent workflows with Guardrails – a powerful new feature that lets you enforce execution constraints, validate outputs, and keep your agentic orchestration safe and reliable.
🔍 Dive into the docs: docs.ag2.ai ➜ Guardrails
🌊 Streamable-HTTP for Lightning-Fast MCP
⚡ Streamable-HTTP is now supported as a transport protocol for MCP clients — enabling real-time, incremental streaming with improved responsiveness and reliability.
(Going forward, replacing HTTP+SSE from protocol version 2024-11-05, according to Anthropic.)
🔎 Spec from Anthropic: streamable-http @ modelcontextprotocol.io
📘 AG2 Guide: MCP Client Intro @ AG2 Docs
What's Changed
- feat: Add sender and recipient fields to TerminationEvent by @r4881t in #1908
- feat: support context manager usage for LLMConfig by @mukundkumarjha in #1777
- Add searxng tool and websurfer by @dcieslak19973 in #1907
- Ag2 1905 add firecrawl web tool 20250620 by @dcieslak19973 in #1909
- Add streamable-http option to mcp client by @sternakt in #1914
- Update link index.mdx by @eeemmmmmm in #1915
- Fix Gemini tool call message handling and handle failed responses with empty-content by @marklysze in #1916
- Introduce guardrails by @giorgossideris in #1840
- [Bug fix] Add guardrails page to the sidebar by @randombet in #1920
- Bump to v0.9.4 by @qingyun-wu in #1921
New Contributors
- @r4881t made their first contribution in #1908
- @mukundkumarjha made their first contribution in #1777
- @eeemmmmmm made their first contribution in #1915
- @randombet made their first contribution in #1920
Full Changelog: v0.9.3...v0.9.4
v0.9.3
Highlights
- 👥 Group Chat: Multiple After Works can now be added, utilising context-based conditions and availability (Docs)
- 📝 Check out the new blog post on advanced ReAct loops from Nipun Suwandaratna
- 📔 DocAgent updates for improved follow-up question answering
- 🧠 OpenAI, Google GenAI, and MCP library version updates
- 📖 Documentation corrections and updates
- 🛠️ Bug fixes
What's Changed
- fix dead link in extra.css by @davidjsonn in #1870
- Tavily and DuckDuckGo extras added by @marklysze in #1872
- Fix DocAgent to support follow-up queries by @marklysze in #1874
- Replace 404 reference in README.md by @davidjsonn in #1875
- fixed await problem by @karikalanarun in #1884
- feat: unpin mcp version by @njbrake in #1881
- Update mcp extra version by @marklysze in #1894
- Article - From Reasoning to Evaluation: Advanced ReAct Loops for Multi-Agent Essay Evaluation by @nipunsa102 in #1888
- ReAct blog post configuration by @marklysze in #1897
- Add context variables to the user proxy agent in group chat by @marklysze in #1896
- Change After Works on handoffs to a list of OnContextConditions by @marklysze in #1892
- Adding exclude names option in transform by @borisbolliet in #1882
- Update google-genai version in pyproject.toml by @marklysze in #1890
- Adding exclude names option in transform (tweaks) by @marklysze in #1898
- Blog formatting tweaks by @marklysze in #1899
- Fix trailing commas in devcontainer.json by @MamunC0der in #1876
- Dev Container JSON tweaks by @marklysze in #1900
- LMMTest fixes by @marklysze in #1902
- Version bump to 0.9.3 by @marklysze in #1901
New Contributors
- @njbrake made their first contribution in #1881
- @nipunsa102 made their first contribution in #1888
- @MamunC0der made their first contribution in #1876
Full Changelog: v0.9.2...v0.9.3