fix(grpc): Fix inconsistent property name between gRPC and JSON-RPC in Message object#1100
Merged
darrelmiller merged 4 commits intomainfrom Oct 18, 2025
Merged
fix(grpc): Fix inconsistent property name between gRPC and JSON-RPC in Message object#1100darrelmiller merged 4 commits intomainfrom
darrelmiller merged 4 commits intomainfrom
Conversation
…atch JSON-RPC Co-authored-by: darrelmiller <447694+darrelmiller@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] [Bug]: Inconsistent property name between gRPC and JSON-RPC in message object
Fix inconsistent property name between gRPC and JSON-RPC in Message object
Sep 24, 2025
darrelmiller
approved these changes
Sep 24, 2025
fjuma
added a commit
to fjuma/a2a-java
that referenced
this pull request
Oct 24, 2025
fjuma
added a commit
to fjuma/a2a-tck
that referenced
this pull request
Oct 27, 2025
fjuma
added a commit
to fjuma/a2a-java
that referenced
this pull request
Oct 28, 2025
fjuma
added a commit
to fjuma/a2a-java
that referenced
this pull request
Oct 29, 2025
kabir
pushed a commit
to fjuma/a2a-java
that referenced
this pull request
Nov 4, 2025
darrelmiller
pushed a commit
that referenced
this pull request
Mar 12, 2026
🤖 I have created a release *beep* *boop* --- ## [1.0.0](v0.3.0...v1.0.0) (2026-03-12) ### ⚠ BREAKING CHANGES * **spec:** Combine `TaskPushNotificationConfig` and `PushNotificationConfig` ([#1500](#1500)) * **spec:** remove duplicated ID from the create task push config request ([#1487](#1487)) * **spec:** pluralize configs in `ListTaskPushNotificationConfigs` ([#1486](#1486)) * **spec:** Add LF prefix to the package. ([#1474](#1474)) * **spec:** Switch to non-complex IDs in requests ([#1389](#1389)) * **spec:** Standardize spelling of "canceled" to use American Spelling throughout ([#1283](#1283)) * **spec:** Align enum format with ADR-001 ProtoJSON specification ([#1384](#1384)) * **spec:** Remove redundant `final` field from `TaskStatusUpdateEvent` ([#1308](#1308)) * **spec:** Move `extendedAgentCard` field to `AgentCapabilities` ([#1307](#1307)) * **spec:** Fixes for the last_updated_after field ([#1358](#1358)) * **spec:** modernize oauth 2.0 flows - remove implicit/password, add device code / pkce ([#1303](#1303)) * **spec:** Make "message" field name consistent between protocol bindings ([#1302](#1302)) * **spec:** Remove deprecated fields from a2a.proto for v1.0 release ([#1301](#1301)) * **spec:** Rename `supportsAuthenticatedExtendedCard` to `supportsExtendedAgentCard` ([#1222](#1222)) * **spec:** Remove v1s from a2a url http bindings * **spec:** Large refactor of specification to separate application protocol definition from mapping to transports ### Features * **spec:** Add `tasks/list` method with filtering and pagination to the specification ([0a9f629](0a9f629)) * **spec:** modernize oauth 2.0 flows - remove implicit/password, add device code / pkce ([#1303](#1303)) ([525ff38](525ff38)) * **spec:** Natively Support Multi-tenancy on gRPC through an additional scope field on the request. ([#1195](#1195)) ([cfbce32](cfbce32)), closes [#1148](#1148) * **spec:** Provide ability for SDKs to be backwards compatible. ([#1401](#1401)) ([227e249](227e249)) * **spec:** Remove v1s from a2a url http bindings ([1bd263f](1bd263f)) ### Bug Fixes * Add missing metadata field to Part message in gRPC specification ([#1019](#1019)) ([b3b266d](b3b266d)), closes [#1005](#1005) * Add name field to FilePart protobuf message ([#983](#983)) ([2b7cb6f](2b7cb6f)), closes [#984](#984) * Clarify blocking calls return on interrupted states ([#1403](#1403)) ([0655ff3](0655ff3)) * **doc:** Makes JSON-RPC SendMessage response clearer ([#1241](#1241)) ([5792804](5792804)) * **docs:** Clearer wording around context id. ([#1588](#1588)) ([dec790a](dec790a)) * **grpc:** Fix inconsistent property name between gRPC and JSON-RPC in Message object ([#1100](#1100)) ([2a1f819](2a1f819)) * **grpc:** missing field in gRPC spec - state_transition_history ([#1138](#1138)) ([a2de798](a2de798)), closes [#1139](#1139) * **grpc:** Update `CreateTaskPushNotificationConfig` endpoint to `/v1/{parent=tasks/*/pushNotificationConfigs}` ([#979](#979)) ([911f9b0](911f9b0)) * **proto:** Add icon_url to a2a.proto ([#986](#986)) ([17e7f62](17e7f62)) * **proto:** Adds metadata field to A2A DataPart proto ([#1004](#1004)) ([a8b45dc](a8b45dc)) * Remove unimplemented state_transition_history capability field ([#1396](#1396)) ([c768a44](c768a44)), closes [#1228](#1228) * Restore CreateTaskPushNotificationConfig method naming ([#1402](#1402)) ([d14f410](d14f410)) * Revert "chore(gRPC): Update a2a.proto to include metadata on GetTaskRequest" ([#1000](#1000)) ([e6b8c65](e6b8c65)) * Simplify Part message structure by flattening FilePart and DataPart ([#1411](#1411)) ([bfae8f7](bfae8f7)) * **spec:** Add LF prefix to the package. ([#1474](#1474)) ([a54e809](a54e809)) * **spec:** add metadata to `CancelTaskRequest` ([#1485](#1485)) ([c441b91](c441b91)), closes [#1484](#1484) * **spec:** Added clarification on timestamps in HTTP query params ([#1425](#1425)) ([6292104](6292104)) * **spec:** Added clarifying text around messages and artifacts ([#1424](#1424)) ([b03d141](b03d141)) * **spec:** Adjust field number for `ListTasksRequest.tenant` to prevent missing number ([#1470](#1470)) ([cd16c52](cd16c52)) * **spec:** Clarify contextId behavior when message is sent with taskId but without contextId ([#1309](#1309)) ([a336a5a](a336a5a)) * **spec:** Clarify versioning strategy and client responsibilities in protocol specification ([#1259](#1259)) ([a4afeea](a4afeea)) * **spec:** Fix/1251 clarify authentication scheme ([#1256](#1256)) ([3e6c7db](3e6c7db)) * **spec:** Fixes for the last_updated_after field ([#1358](#1358)) ([0e204bf](0e204bf)) * **spec:** Make "message" field name consistent between protocol bindings ([#1302](#1302)) ([1e5f462](1e5f462)), closes [#1230](#1230) * **spec:** make `history_length` optional ([#1071](#1071)) ([0572953](0572953)) * **spec:** pluralize configs in `ListTaskPushNotificationConfigs` ([#1486](#1486)) ([cf735cb](cf735cb)) * **spec:** Remove config from binding. ([#1587](#1587)) ([010b9cc](010b9cc)) * **spec:** Remove deprecated fields from a2a.proto for v1.0 release ([#1301](#1301)) ([60f83c3](60f83c3)), closes [#1227](#1227) * **spec:** remove duplicated ID from the create task push config request ([#1487](#1487)) ([393898d](393898d)) * **spec:** Remove metadata field from ListTasksRequest ([#1235](#1235)) ([b6ef9ee](b6ef9ee)) * **spec:** Remove reserved and fix tags ordering ([#1494](#1494)) ([1997c9d](1997c9d)) * **spec:** Rename `supportsAuthenticatedExtendedCard` to `supportsExtendedAgentCard` ([#1222](#1222)) ([c196824](c196824)), closes [#1215](#1215) * **spec:** Standardize spelling of "canceled" to use American Spelling throughout ([#1283](#1283)) ([4dd980f](4dd980f)) * **spec:** Suggest Unique Identifier fields to be UUID ([#966](#966)) ([00cf76e](00cf76e)) * **spec:** Switch to non-complex IDs in requests ([#1389](#1389)) ([2596c1c](2596c1c)), closes [#1390](#1390) * **spec:** Update security schemes example ([#1364](#1364)) ([f9a8f5b](f9a8f5b)) * Update the Java tutorials and descriptions ([#1181](#1181)) ([202aa06](202aa06)) ### Documentation * **spec:** Align enum format with ADR-001 ProtoJSON specification ([#1384](#1384)) ([810eaa1](810eaa1)), closes [#1344](#1344) ### Code Refactoring * **spec:** Combine `TaskPushNotificationConfig` and `PushNotificationConfig` ([#1500](#1500)) ([d1ed0da](d1ed0da)) * **spec:** Large refactor of specification to separate application protocol definition from mapping to transports ([b078419](b078419)) * **spec:** Move `extendedAgentCard` field to `AgentCapabilities` ([#1307](#1307)) ([40d6286](40d6286)) * **spec:** Remove redundant `final` field from `TaskStatusUpdateEvent` ([#1308](#1308)) ([5b101cc](5b101cc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: Amye Scavarda Perrin <amye@amye.org> Co-authored-by: Holt Skinner <13262395+holtskinner@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR resolves an inconsistency in the Message object property names between the two transport protocols:
Issue:
parts: Part[]for the array of content partsrepeated Part content = 5;for the same fieldSolution:
Updated the gRPC protocol buffer definition in
specification/grpc/a2a.prototo usepartsinstead ofcontent, aligning it with the JSON-RPC naming convention:Also updated the associated comment to reflect the change from "Content is the container..." to "Parts is the container...".
Impact:
The fix is minimal and surgical, changing only the field name in the gRPC definition to match the established JSON-RPC convention.
Fixes #1083.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.