pypi / ag-ui-a2ui-toolkit
ag-ui-a2ui-toolkit
What changed in ag-ui-a2ui-toolkit 0.0, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
17 breaking4 deprecations8 new APIs and options5 behavior and defaults
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initag-ui-a2ui-toolkit 0.034 changes
Breaking changes 17
Python JSON Patch entries are typed operation models, so read fields as attributes instead of dictionary keys; use model_dump(by_alias=True) when dictionaries are needed.
TypeScript validators move to this subpath; importing them requires zod, while the main @ag-ui/core entry contains types and constants only.
The .NET string-or-parts union is renamed from AGUIUserContent and now supports tool message and tool-call result content.
Capability validation now requires maxIterations to be a non-negative integer within JavaScript's safe range.
Capability validation now requires maxExecutionTime to be a non-negative integer within JavaScript's safe range.
Optional protocol fields must be absent instead of null; TypeScript encoders and outgoing HTTP inputs omit them, and the client normalizes listed legacy nulls before validation.
The source type is renamed from InputContentSource and gains a third arm, FileSource, for provider-issued handles to already-uploaded bytes.
Repeated occurrences of singular protobuf message fields are merged: later scalar values win, repeated list entries append, and omitted fields preserve earlier values.
The client fails runs when reasoning messages or spans are unmatched or remain open when RUN_FINISHED arrives.
The TypeScript type makes context non-optional and presents an absent wire value as an empty array.
The TypeScript type makes tools non-optional and presents an absent wire value as an empty array.
Python JSON Patch entries are typed operation models, so read fields as attributes instead of dictionary keys; use model_dump(by_alias=True) when dictionaries are needed.
The public type is renamed from SubAgentInfo; SDKs differ on whether the old name remains as a temporary alias.
The multi-agent capability field and wire key are renamed from subAgents or sub_agents to subagents; the old wire key is treated as unknown.
Tool-call result content can now be a string or ContentPart array, so code treating it as a string must narrow it first.
Tool message content can now be a string or ContentPart array, so code treating it as a string must narrow it first.
The TypeScript client drops unknown event types and strips unknown properties from known events and RunAgentInput with warnings; malformed known values fail the run.
Deprecations 4
Use maxProtocolVersion in place of the deprecated AbstractAgent.maxVersion; overrides of the old name still work and warn once per process.
The TypeScript content type is renamed from InputContent; the old name remains a deprecated alias.
The content type is renamed from ImageInputContent; audio, video, and document types follow the same naming change, with old names retained as aliases.
The content type is renamed from TextInputContent; the old name remains a deprecated alias.
New APIs and options 8
Indicates whether flattening content to text would lose media.
Every content part gains an optional id.
Flattens text parts by concatenating them for callers that need text from content.
Adds a source variant for a model-provider handle to bytes already uploaded to it; do not treat its value as a URL.
.NET adds models, JSON handling, and protobuf mappers for subagent events.
.NET adds models, JSON handling, and protobuf mappers for subagent events.
.NET adds models, JSON handling, and protobuf mappers for subagent events.
TextPart gains optional metadata, matching the media parts.
Behavior and default changes 5
.NET stream readers now skip unknown event types with a trace warning, though decoding a single unknown event still throws this exception.
.NET explicitly registers int in the source-generated serializer context for ahead-of-time compilation.
A 1.0 producer must declare its own protocol version on RUN_STARTED; middleware and proxies must preserve the producer's declaration.
The TypeScript client declares protocolVersion: "1.0" on every RunAgentInput; pinning maxProtocolVersion below the package version omits the field.
zod becomes an optional peer dependency of @ag-ui/core and is needed only when using its validators.