The repo with the crowd is in maintenance. The successor shipped two days ago. Persistence is no longer sitting in the same box as the orchestration.
The AutoGen most teams bookmarked is now a caution badge. Microsoft put microsoft/autogen into maintenance mode, pointed new users at Microsoft Agent Framework, and two days ago shipped 1.14.0. If you still think the product is a group chat that writes code in a Docker sandbox, you are two rewrites behind.
I covered the first rewrite in May. AutoGen 0.4 threw out the 0.2 conversation object, treated agents as actors, and made messages typed events instead of transcript archaeology. That was the last interesting thing the AutoGen repo itself did. The last Python tag is python-v0.7.5, published September 30, 2025. The last push is April 15, 2026, and the commit is a banner: new users start on Microsoft Agent Framework, existing users migrate, this tree will not grow features. The star count did not get the memo. AutoGen still sits at 60,443 stars. The successor repo, microsoft/agent-framework, has 12,830.
Those two numbers are the first decision you have to make, and most teams make it backwards. They pick the museum because the crowd is still standing in it.
Microsoft Agent Framework is the merge that the May piece was waiting on. AutoGen’s multi-agent instincts and Semantic Kernel’s enterprise furniture landed in one SDK, Python and C#, MIT license, pip install agent-framework. .NET is on 1.17.0 as of August 4. Python has been shipping on a roughly two-week cadence since late April, from 1.2.2 on April 29 to 1.14.0 on August 14.
Middleware, OpenTelemetry, Azure identity, Foundry hosting, A2A and MCP interop, a DevUI for watching a graph fail in public. This is the stack a platform team can take to a CISO without translating. It is also still a framework. August’s question is whether the thing you define still runs after the process dies. The answer in this box is more complicated than the launch posts want it to be.
Yesterday I mapped the coordination patterns that earn their keep. Supervisor works. Hierarchical works when the work is a tree. Blackboard is the one teams skip and should not. Swarm is theater. Group chat is a meeting that bills by the token. Microsoft Agent Framework did not invent a fifth pattern. It productized the ones people were already arguing about and gave them import paths.
Handoff is supervisor with a name. One agent routes. A specialist takes the job, with context, and the graph moves. Sequential and concurrent are the honest split: do these steps depend on each other, or can they run in parallel and meet at a schema. GroupChat is the old AutoGen instinct wearing a stable API. Magentic is the manager-led loop, complete enough in 1.14.0 that the orchestrator manager name is now a public constant. I will take Handoff or a sequential graph on a case file tomorrow. GroupChat stays off that list. Magentic stays off it until someone shows me the token budget and the termination condition on a workload that is not a demo.
The enterprise completeness is real, and it is how the wrong pattern becomes the default. OpenTelemetry spans, request middleware, Entra credentials, Foundry hosted agents two lines from a local Agent(...). That is the Semantic Kernel inheritance, and it is why this stack wins procurement. The same install also makes GroupChat a first-class orchestration. Shipping the theater primitive next to the production primitive is a product decision, not an accident. Teams under deadline pick the screenshot. Five named agents in a chat looks like an org chart. A Handoff graph looks like homework.
The cost of that choice is architectural, not a vibe. Every extra speaker is a full prompt of someone else’s conversation. Four specialists and five rounds is twenty model calls before anyone writes the determination letter. Latency shows up first. Accuracy arguments come later, after the p99 has already doubled and the transcript has already agreed with a hallucination because agreement is what group chats optimize for. I said that yesterday about the pattern. Today I am saying it about a Microsoft import.
The runtime question is the one that should decide the rest. Version 1.13.0, published July 30, made workflow checkpoints replayable from the original input and from human-in-the-loop replies. That is the right shape. If you pause for an approval, you should be able to resume the same graph, not restage the conversation. Version 1.14.0 added BackgroundAgentsProvider.release_session() so you can cancel in-flight work and drop per-session runtime state on purpose, plus checkpoint create and resume on the AG-UI workflow adapter. Those are operational primitives. They are also not the same thing as a runtime that owns the loop.
Here is what 1.14.0 did with durability. Durable Task and Azure Functions left the core tree. They now live in microsoft/agent-framework-durable-extension, a six-star satellite that published the same week. Core still re-exports the public symbols if you install the extra. Persistence became a packaging cleanup. Hermes treats checkpointing as the product. Restate treats guaranteed completion as the product. In this release, Microsoft treated the durable path as something you can move next door and re-export. If you are already on Durable Functions, that split is tidy. If you came here because the README promised restartability in the same breath as Handoff, you now have a second repo to watch, a second release cadence to track, and a six-star dependency sitting under the claim that this framework is ready for a crash on step 37.
I would rather see durability boring and in-tree than fashionable and optional. Optional persistence is how you ship a beautiful graph that forgets itself at 2 a.m.
The other limitation is the one the star count hides. AutoGen’s community did not move. The issues, the Stack Overflow residue, the internal wiki pages that still say autogen-agentchat, the 0.2 code that never survived the first rewrite, let alone the second. There is a migration guide. There is not a compatibility layer. If you have production AutoGen, you are writing it again. The license on the old repo is CC-BY-4.0. The new one is MIT. Even the paperwork changed. Teams that treat GitHub stars as a maturity signal will keep installing the package Microsoft is no longer building.
Code execution sandboxing is the other inherited reputation I will not rubber-stamp. AutoGen earned that reputation with a Docker executor that was actually isolated. Microsoft Agent Framework’s current pitch is providers, hosting, and graphs. If sandboxed code exec is why you showed up, verify the executor in the package you are installing this week, not the blog post you remember from 2024.
The decision rule is narrower than the marketing. Choose Microsoft Agent Framework when you already live in Azure or Foundry, when you need Python and C# to speak the same agent API, when middleware and traces have to look like the rest of the estate, and when you will constrain the graph to Handoff or sequential and concurrent steps with a schema at every edge. Do not choose it because AutoGen has 60,000 stars. Those stars are a forwarding address. Do not choose it to stand up a GroupChat on a prior-authorization packet. Do not choose it if what you actually need is a runtime that compounds skills and resumes after a crash without an extra. That is Hermes, or OpenClaw, or Restate under a graph you already trust.
Tomorrow is CrewAI Flows, the other honest evolution in this week’s arc. Role-based crews for the work that is actually creative, a deterministic path for the work an auditor will ask you to replay. Microsoft’s bet is the enterprise graph with named orchestrations and a Foundry on-ramp. CrewAI’s bet is the casting call that grew a flow. Both are frameworks. Neither is a substitute for naming the interface before you add the second agent.
If you pick this stack, pick it for the Microsoft production path, not for the conversation that made AutoGen famous. The conversation was the demo. The graph is the product. The durable extra is the part I would read twice.
If this was useful, forward it to one engineer who needs less noise in their feed.


