Releases: a2aproject/a2a-python
Releases · a2aproject/a2a-python
v1.0.0-alpha.1
1.0.0-alpha.1 (2026-04-10)
⚠ BREAKING CHANGES
- client: make ClientConfig.push_notification_config singular (#955)
- client: reorganize ClientFactory API (#947)
- server: add build_user function to DefaultContextBuilder to allow A2A user creation customization (#925)
- client: remove
ClientTaskManagerandConsumersfrom client (#916) - server: migrate from Application wrappers to Starlette route-based endpoints for rest (#892)
- server: migrate from Application wrappers to Starlette route-based endpoints for jsonrpc (#873)
Features
- A2A Version Header validation on server side. (#865) (b261ceb)
- Add GetExtendedAgentCard Support to RequestHandlers (#919) (2159140)
- Add support for more Task Message and Artifact fields in the Vertex Task Store (#936) (605fa49)
- Create EventQueue interface and make tap() async. (#914) (9ccf99c), closes #869
- EventQueue - unify implementation between python versions (#877) (7437b88), closes #869
- EventQueue is now a simple interface with single enqueue_event method. (#944) (f0e1d74)
- Implementation of DefaultRequestHandlerV2 (#933) (462eb3c), closes #869
- InMemoryTaskStore creates a copy of Task by default to make it consistent with database task stores (#887) (8c65e84), closes #869
- merge metadata of new and old artifact when append=True (#945) (cc094aa)
- server: add async context manager support to EventQueue (#743) (f68b22f)
- server: validate presence according to
google.api.field_behaviorannotations (#870) (4586c3e) - Simplify ActiveTask.subscribe() (#958) (62e5e59)
- Support AgentExectuor enqueue of a Task object. (#960) (12ce017)
- Support Message-only simplified execution without creating Task (#956) (354fdfb)
- Unhandled exception in AgentExecutor marks task as failed (#943) (4fc6b54)
Bug Fixes
- Add
packagingto base dependencies (#897) (7a9aec7) - client: do not mutate SendMessageRequest in BaseClient.send_message (#949) (94537c3)
- fix
athrow()RuntimeError on streaming responses (#912) (ca7edc3) - fix docstrings related to
CallContextBuilderargs in constructors and make ServerCallContext mandatory incompatfolder (#907) (9cade9b) - fix error handling for gRPC and SSE streaming (#879) (2b323d0)
- fix JSONRPC error handling (#957) (6c807d5)
- fix REST error handling (#893) (405be3f)
- handle SSE errors occurred after stream started (#894) (3a68d8f)
- remove the use of deprecated types from VertexTaskStore (#889) (6d49122)
- Remove unconditional SQLAlchemy dependency from SDK core (#898) (ab762f0), closes #883
- remove unused import and request for FastAPI in pyproject (#934) (fe5de77)
- replace stale entry in a2a.types.all with actual import name (#902) (05cd5e9)
- wrong method name for ExtendedAgentCard endpoint in JsonRpc compat version (#931) (5d22186)
Documentation
Miscellaneous Chores
- release 1.0.0-alpha.1 (a61f6d4)
Code Refactoring
- client: make ClientConfig.push_notification_config singular (#955) (be4c5ff)
- client: remove
ClientTaskManagerandConsumersfrom client (#916) (97058bb), closes #734 - client: reorganize ClientFactory API (#947) (01b3b2c)
- server: add build_user function to DefaultContextBuilder to allow A2A user creation customization (#925) (2648c5e)
- server: migrate from Application wrappers to Starlette route-based endpoints for jsonrpc (#873) (734d062)
- server: migrate from Application wrappers to Starlette route-based endpoints for rest (#892) (4be2064)
v0.3.26
v1.0.0-alpha.0
1.0.0-alpha.0 (2026-03-17)
⚠ BREAKING CHANGES
- spec: upgrade SDK to A2A 1.0 spec and use proto-based types (#572, #665, #804, #765)
- client: introduce ServiceParameters for extensions and include it in ClientCallContext (#784)
- client: rename "callback" -> "push_notification_config" (#749)
- client: transport agnostic interceptors (#796) (a910cbc)
- add
protocol_versioncolumn to Task and PushNotificationConfig models and create a migration (#789) (2e2d431) - server: implement
Resource Scopingfor tasks and push notifications (#709) (f0d4669)
Features
- add GetExtendedAgentCardRequest as input parameter to GetExtendedAgentCard method (#767) (13a092f)
- add validation for the JSON-RPC version (#808) (6eb7e41)
- client: expose close() and async context manager support on abstract Client (#719) (e25ba7b)
- compat: AgentCard backward compatibility helpers and tests (#760) (81f3494)
- compat: GRPC client compatible with 0.3 server (#779) (0ebca93)
- compat: GRPC server compatible with 0.3 client (#772) (80d827a)
- compat: legacy v0.3 protocol models, conversion logic and utilities (#754) (26835ad)
- compat: REST and JSONRPC clients compatible with 0.3 servers (#798) (08794f7)
- compat: REST and JSONRPC servers compatible with 0.3 clients (#795) (9856054)
- compat: set a2a-version header to 1.0.0 (#764) (4cb68aa)
- compat: unify v0.3 REST url prefix and expand cross-version tests (#820) (0925f0a)
- database forward compatibility: make
ownerfield optional (#812) (cc29d1f) - handle tenant in Client (#758) (5b354e4)
- implement missing push notifications related methods (#711) (041f0f5)
- implement rich gRPC error details per A2A v1.0 spec (#790) (245eca3)
- rest: add tenant support to rest (#773) (4771b5a)
- send task as a first subscribe event (#716) (e71ac62)
- server, grpc: Implement tenant context propagation for gRPC requests. (#781) (164f919)
- server, json-rpc: Implement tenant context propagation for JSON-RPC requests. (#778) (72a330d)
- server: add v0.3 legacy compatibility for database models (#783) (08c491e)
- spec: add
tasks/listmethod with filtering and pagination to the specification (#511) (d5818e5) - use StreamResponse as push notifications payload (#724) (a149a09)
- rest: update REST error handling to use
google.rpc.Status(#838) (ea7d3ad)
Bug Fixes
- add history length and page size validations (#726) (e67934b)
- allign error codes with the latest spec (#826) (709b1ff)
- client: align send_message signature with BaseClient (#740) (57cb529)
- get_agent_card trailing slash when agent_card_path="" (#799) (#800) (a55c97e)
- handle parsing error in REST (#806) (bbd09f2)
- Improve error handling for Timeout exceptions on REST and JSON-RPC clients (#690) (2acd838)
- Improve streaming errors handling (#576) (7ea7475)
- properly handle unset and zero history length (#717) (72a1007)
- return entire history when history_length=0 (#537) (acdc0de)
- return mandatory fields from list_tasks (#710) (6132053)
- taskslist error on invalid page token and response serialization (#814) (a102d31)
- use correct REST path for Get Extended Agent Card operation (#769) (ced3f99)
- Use POST method for REST endpoint /tasks/{id}:subscribe (#843) (a0827d0)
v0.3.25
v0.3.24
v0.3.23
0.3.23 (2026-02-13)
Features
- add async context manager support to BaseClient (#688) (ae9dc88)
- add async context manager support to ClientTransport (#682) (2e45c0d)
- support async card modifiers (#654) (a802500)
- support disabling OTel instrumentation via env var (#611) (72216b9)
Bug Fixes
- do not crash on SSE comment line (#636) (3dcb847)
- gRPC metadata header casing and invocation_metadata() call (#676) (390b763)
- Improve error handling for Timeout exceptions on REST and JSON-RPC clients (#690) (2acd838)
- map rejected task state in proto converters (#668) (957e92b), closes #625
- server: fix deadlocks on agent execution failure in non-streaming (#614) (d3c973f)