pypi / ag2
ag2
What changed in ag2 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
9 breaking2 security13 new APIs and options1 behavior and defaults18 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initag2 143 changes
Breaking changes 9
The shell refuses ignored files named through a wildcard.
The
|operator creates an independent toolkit collection: tools retain their existing middleware, and source middleware is not inherited by tools from the other side or later additions.Approval grants are now keyed by tool implementation, binding approval to the specific implementation.
The bedrock extra installs aiobotocore>=3.9.1,<4 instead of boto3; applications that also install boto3 must choose a compatible botocore version.
The session parameter now requires an aiobotocore AioSession; a boto3.Session fails on the first call.
The context() tool now rejects non-positive limit and recent_n values.
readonly mode now allows only commands that cannot write files or run other programs; several commands were removed from its built-in set.
With allowed or readonly enabled, commands are split into argv, checked, and run without a shell; shell syntax is refused and expansions cannot bypass the allow-list.
Each turn exposes one tool per name; later code-declared tools win, while runtime MCP and client tools rank below code-declared tools.
Security 2
Shell command-filter bypasses are fixed.
Shell command-filter bypasses are fixed.
New APIs and options 13
Agent cards can be cacheable.
Cache diagnostics support is available in the Anthropic client and config.
Input media type validation is available as an opt-in.
Ollama supports configuring an API key.
Ollama supports a custom HTTP client.
Ollama supports configuring tool names.
OpenAI voice configs accept explicit API keys.
OpenAI Decisions API support is available through OpenAIDecisionsConfig.
Push notification URL validation is exposed and can be configured.
The
Questionmarker is available for shared decision schemas used with OpenAI and TypeSafe.AG-UI serves version 1.0.
Plugins can be scoped to an invocation.
A tool in a served agent can ask a human a question through context.input(); the question arrives as the AG-UI run's interrupt outcome and the answer comes in the next run's resume.
Behavior and default changes 1
A2A servers can run on several replicas.
Fixes and other changes 18
The language tag is stripped from single-line markdown fences.
on_changecan watch a file path.Dropped log segments are numbered after the highest existing segment.
Evaluation suites saved with a UTF-8 BOM are accepted.
Toolkit discovery refreshes when resolved configuration changes.
Duplicate streaming tool-call IDs are avoided.
Backslashes are escaped when recovering unquoted frontmatter values.
Prefixes are matched literally.
Evaluation Suite items handle null and single-string tags or metadata.
loadsaccepts null transitions and args.Local skill ownership is checked before arguments are validated.
Model output schemas are derived from serialization.
Nested scripts execute from their declared paths.
Timeout failures are preserved after the Tenki SDK upgrade.
MCPToolkit and MCPServerTool now send exactly one Authorization header on every provider, regardless of casing of an explicit header next to authorization_token.
Explicit keys and region_name now apply when passed together with session, rather than being silently ignored.
delegate() now closes its channel when sending the first message fails.
Idle expiry and LRU overflow no longer drop an MCP conversation while a turn is running on it.