1.0.0-beta.4 (2026-05-21)
Features Added
- Replaced
invoke_agentSERVER span with baggage-only propagation. W3C trace context propagation is now handled automatically by ASP.NET Core, so handler spans are parented directly under the caller's span. - Invocation and session IDs are propagated as Activity baggage for downstream correlation.
- Unhandled exceptions now include the
x-platform-error-sourceheader classifying error
origin asuser(invalid request),platform(SDK/infrastructure failure), orupstream
(developer handler failure) per container-image-spec §8. Platform errors include
x-platform-error-detailwith diagnostic context. - WebSocket protocol support — new public abstract
InvocationWebSocketHandler
base class (derived fromInvocationHandler) declares abstract
HandleWebSocketAsync(WebSocket, InvocationContext, CancellationToken)
and defaults the inheritedHandleAsyncto HTTP404 Not Found. A
WebSocket-only agent therefore implements onlyHandleWebSocketAsync;
multi-protocol agents override both methods. Handlers that derive from
plainInvocationHandlercontinue to short-circuit/invocations_ws
to HTTP404 Not Found. The SDK accepts the upgrade
(AcceptWebSocketAsync), maps clean handler returns to RFC 6455 close
code1000(NormalClosure) and uncaught handler exceptions to1011
(InternalServerError), and preserves handler-initiated close codes
unchanged. - WebSocket Ping/Pong keep-alive — disabled by default; enable via the
WS_KEEPALIVE_INTERVALenvironment variable (see
Azure.AI.AgentServer.Core1.0.0-beta.24), which is wired through to
Kestrel'sWebSocketOptions.KeepAliveInterval. - WebSocket telemetry — structured close-event log line carrying
azure.ai.agentserver.invocations_ws.session_id,
azure.ai.agentserver.invocations_ws.close_code, and
azure.ai.agentserver.invocations_ws.duration_ms.