The post has been translated automatically. Original language: Russian
On September 18, 2026, release 1.19.0 of the Microsoft Agent Framework Python package was released, a framework for building agents on language models. On the same day, the .NET branch of the framework was updated to 1.22.0. The release is atypical for a minor issue: in addition to new features, it contains four changes marked as breaking, and a whole block of edits related to session isolation and checking for external artifacts. For those who already have agents in production, this is a release that is worth reading before the update, not after.
Vector storage and orchestration
The main addition is the common protocols of vector storage providers. Previously, each connector to the vector database lived its own life, now they have a single contract, and three implementations have already been put on it: connectors to MongoDB and Azure DocumentDB in alpha status and the implementation of a common API on top of Azure Cosmos DB NoSQL. Alpha here means exactly what it says: the interface can still go.
Stable workflow names have appeared in the built-in orchestration scripts, and the types of their checkpoints are now explicitly registered. This is a direct consequence of a problem familiar to everyone who has saved the state of long agent runs: a name generated on the fly breaks recovery after a restart. The Aspire trace display has been added to the developer panel, the function call has a strictly sequential execution mode, and the CodeAct tools have parameter diagrams with a choice between compact and JSON descriptions.
Breaking Changes
There are four of them, and three of them are about the boundaries of trust:
- HTTP cookie storage has become explicit and differs for clients created by the framework and clients transmitted by the calling code.
- Skill archives for MCP are now accepted only in ZIP format, and the MCP sampling callback has been deprecated.
- MCP sessions raised through the provider were given scope within a single call, rather than a shared process.
- The history storage keys in Redis now include the provider and session ID — the change is marked as beta.
Next to them are edits that do not formally break, but change behavior: security tag verification has been strengthened, arguments marked as belonging to the owner are limited, Purview policy processing has been expanded to new types of content, shell calls are divided into hosted and local options, and default tool diagnostics no longer go outside.
What was repaired
The list of fixes shows well where the agency frameworks are hurting. Fixed saving the context of function calls and confirmations in mixed packages, resumed runs, and nested workflows. We corrected the summaries when compacting the context and at the same time excluded the encrypted payloads of reasoning from the token count. Competitive operations with file checkpoints have made it safe and data-free. We have separately closed the authentication of MCP requests with session binding to the correct call and checking the digest of the skill archive. The error of disconnecting the OpenTelemetry context has also been fixed.
What does this mean in practice?
If the agent goes to the MCP servers under a session raised by the provider, then after the update it will no longer survive the call boundary - the state that you implicitly dragged between requests will have to be stored yourself. It's the same with Redis: the history keys have changed shape, the old records for the new keys will not be found, so at the start after the rollout, the agent will see an empty history. It's not data loss, but it looks like it — it's better to check on a copy.
It is worth checking the assembly of skills in advance: if the pipeline has packed them in tar or gzip, it will silently stop working. Explicit cookie storage is a reason to review the code where the HTTP client is passed to the framework from the outside: the session cookie, which used to live on its own, now requires a solution. And don't delay abandoning the MCP sampling callback: outdated stuff doesn't last long at this rate of releases.
The draft text was prepared with the participation of AI, the facts were checked against the original source — the official notes for the release of Microsoft Agent Framework for Python 1.19.0 on GitHub.
18 сентября 2026 года вышел выпуск 1.19.0 Python-пакета Microsoft Agent Framework — каркаса для сборки агентов на языковых моделях. В тот же день обновилась и .NET-ветка фреймворка до 1.22.0. Выпуск нетипичен для минорного номера: помимо новых возможностей в нём четыре изменения, помеченные как ломающие, и целый блок правок, касающихся изоляции сессий и проверки внешних артефактов. Для тех, кто уже держит агентов в продакшене, это выпуск, который стоит читать до обновления, а не после.
Векторные хранилища и оркестрация
Главное дополнение — общие протоколы провайдеров векторных хранилищ. Раньше каждый коннектор к базе векторов жил своей жизнью, теперь у них единый контракт, и на него уже положили три реализации: коннекторы к MongoDB и Azure DocumentDB в статусе альфа и реализацию общего API поверх Azure Cosmos DB NoSQL. Альфа здесь означает ровно то, что написано: интерфейс ещё может поехать.
Во встроенных сценариях оркестрации появились стабильные имена рабочих процессов, а типы их контрольных точек теперь регистрируются явно. Это прямое следствие проблемы, знакомой всем, кто сохранял состояние длинных агентских прогонов: имя, сгенерированное на лету, ломает восстановление после перезапуска. В панели разработчика добавили показ трасс Aspire, у вызова функций появился режим строго последовательного исполнения, а у инструментов CodeAct — схемы параметров с выбором между компактным и JSON-описанием.
Ломающие изменения
Их четыре, и три из них про границы доверия:
- Хранение HTTP-cookie стало явным и различается для клиентов, созданных фреймворком, и клиентов, переданных вызывающим кодом.
- Архивы навыков для MCP теперь принимаются только в формате ZIP, а колбэк сэмплинга MCP объявлен устаревшим.
- Сессии MCP, поднятые через провайдера, получили область видимости в пределах одного вызова, а не общего процесса.
- Ключи хранения истории в Redis теперь включают идентификатор провайдера и сессии — изменение помечено как бета.
Рядом с ними идут правки, которые формально не ломающие, но поведение меняют: усилена проверка меток безопасности, ограничены аргументы, помеченные как принадлежащие владельцу, обработка политик Purview расширена на новые типы содержимого, вызовы командной оболочки разделены на размещённый и локальный варианты, а диагностика инструментов по умолчанию больше не выходит наружу.
Что чинили
Список исправлений хорошо показывает, где у агентских каркасов болит. Починили сохранение контекста вызова функций и подтверждений в смешанных пакетах, возобновлённых прогонах и вложенных рабочих процессах. Поправили сводки при уплотнении контекста и заодно исключили зашифрованные полезные нагрузки рассуждений из подсчёта токенов. Конкурентные операции с файловыми контрольными точками сделали безопасными и не теряющими данные. Отдельно закрыли аутентификацию запросов MCP с привязкой сессии к правильному вызову и проверку дайджеста архива навыка. Поправили и ошибку отсоединения контекста OpenTelemetry.
Что это значит на практике
Если агент ходит в MCP-серверы под сессией, поднятой провайдером, то после обновления она больше не переживёт границу вызова — состояние, которое вы неявно тащили между запросами, придётся хранить самому. То же с Redis: ключи истории сменили форму, старые записи по новым ключам не найдутся, так что на старте после выката агент увидит пустую историю. Это не потеря данных, но выглядит как она — лучше проверить на копии.
Сборку навыков стоит проверить заранее: если пайплайн паковал их в tar или gzip, он молча перестанет работать. Явное хранение cookie — повод пересмотреть код, где HTTP-клиент передаётся во фреймворк снаружи: сессионная кука, которая раньше жила сама, теперь требует решения. И не откладывайте отказ от колбэка сэмплинга MCP: устаревшее в таком темпе выпусков живёт недолго.
Черновик текста подготовлен с участием ИИ, факты сверены с первоисточником — официальные заметки к выпуску Microsoft Agent Framework для Python 1.19.0 на GitHub.