A2A Java SDK 1.0.0.Beta1 : alignement avec les spécifications A2A 1.0.0
mar, 12/05/2026 - 10:32
A2A Java SDK est disponible en bêta 1. Cette préversion est alignée avec les spéficiations A2A 1.0.0. Le protocole Agent2Agent est là pour définir une standard ouvert pour faire communiquer les agents entre eux. Ce SDK permet d'intégrer aux projets Java la couche A2A. Il s'agit d'une implémantation serveur Java du protocole. Il permet de faire tourner son app agentique Java sur un serveur A2A.
La beta1 casse la structure du SDK :
- les paquets Java sont renommés en org.a2aproject.sdk
- le groupID Maven a changé : org.2a2project.sdk
Cette version supporte pleinement JSON-RPC, gRPC et HTTP+JSON/Rest. Il faut ajouter la dépendance. Les erreurs sont mieux détaillées pour aider les développeurs. Cette version corrige aussi plusieurs bugs.
D'ici la version finale, le projet prévoit de supporter plusieurs versions du protocole.
Liste complète des changements :
- chore: Next Snapshot by @kabir in #752
- chore: update a2a.proto to v1.0.0 tag by @jmesnil in #755
- fix: reject SendMessage to tasks in terminal state with UnsupportedOperationError by @brucearctor in #746
- fix: Use correct HTTP status code for PushNotificationNotSupportedError by @kabir in #758
- fix: Allow POST requests without Content-Type header when body is empty by @kabir in #759
- fix: Reject messages to tasks in terminal states by @kabir in #760
- feat(http-client): allow to construct a JdkA2AHttpClient with a prebuilt HttpClient by @maff in #745
- fix: Keep stream open on interrupted state changes by @kabir in #756
- feat(errors): add structured error codes and details to A2A error types by @ehsavoie in #743
- feat: Add HTTP caching headers to Agent Card endpoint by @kabir in #761
- chore: Updating actions to new versions nort running on node20 by @ehsavoie in #763
- fix: use application/json Content-Type for HTTP+JSON error responses by @jmesnil in #769
- fix: preserve tenant and protocolVersion from AgentInterface in ClientBuilder by @Lirons01 in #773
- feat: add DataPart.fromJson() factory method for raw JSON strings by @jmesnil in #778
- fix: resolve event stream race conditions in EventConsumer and SSE tr… by @kabir in #782
- fix: return UnsupportedOperationError when subscribing to terminal tasks by @kabir in #784
- fix: HTTP+JSON transport returns 501 instead of 400 for UnsupportedOperationError. by @ehsavoie in #787
- feat!: Rename root package to org.a2aproject.sdk by @kabir in #786
- fix: JsonRPC errors should have a 'data' field not a 'details' field. by @ehsavoie in #790
- fix: return TaskNotFoundError when SendMessage references non-existent taskId by @yyy9942 in #788
- ci: update TCK workflow to use a2a-tck 1.0-dev branch with codegen SUT by @jmesnil in #779
- fix: Fixing last TCK issues by @ehsavoie in #795
- chore: release 1.0.0.Beta1 by @ehsavoie in #802
- chore: fixing setup-java version by @ehsavoie in #803
Note de version : https://quarkus.io/blog/a2a-java-sdk-1-0-0-beta1-released/
Autre post sur la beta1 : https://medium.com/google-cloud/a2a-java-sdk-1-0-0-beta1-released-e83c414b34cc

