Skip to content

Latest commit

 

History

History
365 lines (209 loc) · 29.5 KB

File metadata and controls

365 lines (209 loc) · 29.5 KB

Changelog

1.0.1 (2026-07-28)

Bug Fixes

  • compat/v0_3: call context builder for compatibility layer (#604) (771836c), closes #600
  • normalize legacy cards in createFromAgentCard (#602) (9807a66), closes #601
  • signature: canonicalize the same payload when signing and verifying (#606) (7415e0e)

1.0.0 (2026-07-22)

@a2a-js/sdk is now generally available. This release promotes the v1.0 line to stable, implementing the full A2A Protocol Specification v1.0 across all three transports (JSON-RPC, HTTP+JSON/REST, gRPC), with opt-in v0.3 backward compatibility for staged migrations.

Upgrading from 0.3.x? See the v0.3 → v1.0 migration guide. Interoperating with peers still on v0.3? See the end-user v0.3 compatibility guide.

Changes below cover what landed since v1.0.0-beta.0 — for the complete v0.3 → v1.0 delta, see the 1.0.0-beta.0 and 1.0.0-alpha.0 entries below.

⚠ BREAKING CHANGES

  • unify A2AError hierarchy with transport specific subclasses (#587)
  • server: replace individual properties with SendMessageRequest in RequestContext (#581)

Features

  • add state bag and ServerCallContextBuilder to ServerCallContext (#364) (477e394)
  • export SSE wire-format helpers from public entry point (#548) (8bc21f5), closes #547
  • server: expose SendMessageRequest metadata to AgentExecutor via RequestContext (#564) (a92f54e)
  • server: replace individual properties with SendMessageRequest in RequestContext (#581) (7cd30de)
  • unify A2AError hierarchy with transport specific subclasses (#587) (4806f8f)

Bug Fixes

  • client: bound SSE event size to prevent client-side memory exhaustion (#582) (e6e8ce9)
  • client: cancel the SSE stream on teardown to avoid leaking connections (#580) (83269a5)
  • grpc: preserve null values in protobuf Struct (#578) (f447e4e), closes #576
  • resolve sdk compatibility bugs (#568) (b57f026)
  • server: await _handleProcessingError so blocking drains surface errors (#579) (5833652)
  • support GET for resubscribe route (#569) (8dd43d1)

1.0.0-beta.0 (2026-07-01)

The v0.3 backward-compatibility layer is now complete, marking this release as the first one bringing v1.0 and v0.3 support together. Backward compatibility with v0.3 was implemented across all three transports (JSON-RPC, REST, gRPC), agent-card resolution, and push notifications — closing #452. A v1.0 server can transparently accept v0.3 clients (and a v1.0 client can talk to v0.3 servers) by opting in with legacyCompat: { enabled: true } on the relevant transport.

See the v0.3 → v1.0 migration guide and the end-user v0.3 compatibility guide.

Features

  • add compat-v1 client and server samples to demonstrate A2A v0.3 backward compatibility (#520) (fce0b3f)
  • add opt-in legacy v0.3 compatibility to JSON-RPC handler and improve extension header support (#501) (f707350)
  • add v0.3 compatibility layer for client and server agent-card handling (#504) (75685f2)
  • add v0.3 gRPC compat layer (#505) (314d9e3)
  • default to v0.3 if version not provided (#511) (ad7f772)
  • defined compat-specific consts and mappings (#478) (db0c595)
  • implement legacy v0.3 JSON-RPC transport handler (#493) (d191d91)
  • implement legacy v0.3 REST support with compatible transport handler and middleware routing (#495) (da9a968)
  • implement v0.3 ITK cross-SDK validation workflows (#513) (c9385f3)
  • implement v0.3 JSON-RPC client transport (#499) (46aa5d6)
  • implement v0.3 protocol compatibility for RestTransportFactory (#503) (b172482)
  • implement versioned push notification serializers with legacy v0.3 compatibility support (#507) (0261be8)
  • normalize extension headers based on negotiated protocol version (#510) (74a51ee)
  • replace automatic v0.3 agent card synthesis with explicit per-interface advertisement (#560) (60ad3b2)

Bug Fixes

  • compat: wrap primitive Part.data values instead of throwing (#537) (7647db5)
  • server/rest: handle undefined historyLength to return full task history (#527) (fa9ebce), closes #535
  • server: handle AUTH_REQUIRED lifecycle per spec (#523) (68826c2)
  • server: make cancelTask idempotent on the canceled state (#545) (1d17a78)
  • server: make push notification config id optional with server-side UUID (#543) (83af8c3)
  • server: merge Task history in ResultManager instead of overwriting (#524) (4e1d4f7), closes #532
  • server: preserve activated extensions in response header (#544) (26184b4)
  • server: propagate return to SSE generators to prevent listener leaks (#526) (a690734), closes #534
  • server: synthesize correct error Task id in blocking and streaming paths (#525) (a3dd703), closes #533
  • server: yield Task snapshot on resubscribe when bus is inactive (#542) (cd8f8fc)

1.0.0-alpha.0 (2026-05-11)

See the v0.3 -> v1.0-alpha.0 migration guide.

Note: Enabling backward compatibility with v0.3 is tracked in #452.

⚠ BREAKING CHANGES

  • Drop support for node 18 (#368)
  • Make ServerCallContext parameter mandatory across all places (#405)
  • Remove JSON-RPC client (#353)
  • Remove transport-specific exports (#404)
  • Update codebase to use A2A 1.0.0 data model (#375)
  • Remove A2AExpressApp (#363)

Features

Code Refactoring

0.3.13 (2026-03-16)

Bug Fixes

  • properly parse ProtoJSON body for POST pushNotificationConfigs (#352) (57696a8), closes #336

0.3.12 (2026-03-10)

Bug Fixes

  • Fixing missing push configuration after normalization for rest transport (#346) (54ac8c4)

0.3.11 (2026-03-10)

Bug Fixes

  • support proto-based AgentCard in AgentCardResolver (#344) (e71221c)
  • throw on JSON-RPC response id mismatch (#318) (5ea1c94)

0.3.10 (2026-01-27)

Bug Fixes

  • do not use ReadableStream async iterator in SSE stream parsing (#311) (5359fa8)
  • preserve typed error as cause in SSE errors (#315) (d39544e)

0.3.9 (2026-01-21)

Features

Bug Fixes

  • use proto default values in generated a2a_types.ts (#303) (0215d42)

0.3.8 (2026-01-15)

⚠ BREAKING CHANGES

  • use ProtoJSON for REST transport (#292)

Features

  • use case-insensitive transport protocol name comparison in ClientFactory (5246067)

Bug Fixes

  • add typesVersions to support legacy module resolution (#288) (6499e29)
  • use ProtoJSON for REST transport (#292) (d2efc4c)

0.3.7 (2025-12-17)

Features

Bug Fixes

  • export transport agnostic errors from client (#272) (23cd42e)
  • pass ServerCallContext to getAuthenticatedExtendedAgentCard for REST (#274) (89b141b), closes #137

0.3.6 (2025-12-10)

Features

  • add support for extendedAgentCard on client side (#234) (3073376)
  • Add support for extension headers on client side (#227) (8c57002)
  • implement client interceptors (#223) (5694c22)
  • Implement extended card support on server side (#197) (45014ac)
  • implement server http+json (#142) (f20e662)
  • introduce AgentCardResolver (#225) (ddaf7de)
  • introduce transport agnostic client (#198) (94a9848)
  • server side support for extensions (5ef7396)
  • support authentication on server side (#195) (9872d93)

Bug Fixes

  • handle errors occurred in non-blocking sendMessage (#187) (e55c0f4)

Miscellaneous Chores

0.3.5 (2025-11-05)

Bug Fixes

  • cancel/task now returns the expected 'cancelled' task status (#158) (3eec0bd)
  • correct the default value in the agentCardPath comment (#130) (3279c7b)
  • enable follow up task issue on non blocking request (#160) (352dc05)
  • ensure push notifications order (#141) (22360e6)
  • ensure user messages are added to existing tasks (#138) (00fb916)
  • validate JSON-RPC params (#155) (5b39f4d)
  • validate JSON-RPC request id according to the spec (#152) (9558c36)

0.3.4 (2025-09-04)

Features

  • add list and delete task push notification config rpc method and custom rpc methods for extensions (#119) (26c4e7d)
  • Added push notifications support (#108) (45a211a)

Miscellaneous Chores

0.3.3 (2025-08-27)

⚠ BREAKING CHANGES

  • Update A2AClient constructor to initialize with full agentCardUrl (#121)

Features

  • Update A2AClient constructor to initialize with full agentCardUrl (#121) (755044c)

Bug Fixes

  • Improve fetch implementation handling (#117) (09adbd3)

Miscellaneous Chores

0.3.2 (2025-08-17)

Features

  • Added generic client hooks for HTTP based authentication, and improved agent.json resolution (#33) (a9826ac)

Bug Fixes

  • fix Incorrect Well-Known Path for Agent Card (#102) (3a0f1d0)

Miscellaneous Chores

0.3.1 (2025-08-06)

Bug Fixes

  • add missing express entrypoint to tsup config (#96) (8e990e4)

0.3.0 (2025-08-05)

⚠ BREAKING CHANGES

  • upgrade to a2a 0.3.0 spec version (#87)
  • make Express dependency optional

Features

  • make Express dependency optional (60899c5)
  • upgrade to a2a 0.3.0 spec version (#87) (ae53da1)

0.2.5 (2025-07-30)

Features

  • add support for custom agent card url. resolves #68 (#79) (dc92d32)
  • Export ExecutionEventQueue in server (#61) (530c0b9)
  • Export type AgentExecutionEvent (#66) (f4c81f4)

Bug Fixes

  • correct the example code (#64) (126eee4)
  • setting context id in _createRequestContext (#49) (1abc8a1)

0.2.4 (2025-07-14)

Miscellaneous Chores

  • fix empty npm publish by version-bump (#56) (b12e033)

0.2.3 (2025-07-14)

⚠ BREAKING CHANGES

  • separate entrypoints for client, server & common

Features

  • add CommonJS support alongside ESM (#27) (1b3e516)
  • Allow adding middlewares in server (#51) (b4fc323)
  • separate entrypoints for client, server & common (e8dd025)

0.2.2 (2025-06-20)

Features

  • add action to publish to npm (e4ab96e)
  • add sample agent (#19) (1f21a0a)
  • add test coverage (#20) (7bde9cd)
  • generate types from spec & use unknown in types (#17) (748f928)
  • reject sendMessage for tasks in terminal states (#29) (9f86195)
  • Supply taskId & contextId in requestContext (#22) (79db7f4)
  • support non-blocking message send (#28) (6984dbb)
  • use string union instead of enums (#24) (bcc1f7e)

0.2.1 (2025-06-06)

Features

  • Add cancelTask to executor & finished to eventBus (831c393)
  • Add sdk files for client & server (00fe8cd)
  • add sdk/tests for client & server (a921c98)
  • add tests for all APIs (e6281ca)

Bug Fixes

  • library should released as 0.2.1 (#8) (0335732)