Quick recap for context: Microsoft’s AutoGen was one of the most influential open-source multi-agent frameworks around, built on a conversation-driven model where agents talk through a problem instead of calling tools in a fixed sequence. In October 2025, Microsoft put it into maintenance mode — security and critical fixes only — and pointed everyone toward its official successor, the Microsoft Agent Framework, a more structured rewrite aimed at production deployments. The original AutoGen creators, Chi Wang and Qingyun Wu, didn’t want the conversational API to just quietly end there, so they forked it into AG2 and kept developing it independently, positioning it explicitly as the place the classic API would keep getting real attention instead of just security patches.
For a while, AG2 was exactly what it was made to be: the project you went to if you wanted the familiar ConversableAgent, GroupChat, initiate_chat API to keep getting real updates, bug fixes, and new features rather than a slow fade into maintenance-only status.
Then on July 27, 2026, AG2 shipped v1.0.0. It’s not an upgrade to that familiar API — it’s a full replacement. The new version is a “protocol-driven” framework that had been quietly built under an autogen.beta namespace since v0.12, and v1.0 promotes that beta to the top-level package, importable as ag2. The classic agent classes are gone from this repository entirely. If your code still uses ConversableAgent or GroupChat, that API now lives in a separate repo, ag2ai/ag2-classic, maintained in the same security-and-critical-fixes-only mode that pushed AG2 to exist as a separate project in the first place.
I don’t think anyone involved did anything wrong here — frameworks evolve, and AG2’s own documentation is upfront that v1.0 isn’t a drop-in change, unlike some migrations that quietly break things without warning. But there’s something a little poetic about a project created specifically to rescue an API from maintenance mode eventually deciding, on its own timeline, that the same API belonged in maintenance mode too. It’s not really a story about AG2 doing something wrong — it’s more a reminder that “actively maintained” is a snapshot of priorities at one point in time, not a permanent property a fork inherits just by being younger than the thing it split from.
If you’re still holding onto import autogen code today, it still works. It just now lives one repository further away from wherever the active development is actually happening, and whoever forks the classic API next will be starting from the same place AG2 did.