FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(extensions): support both header names and remove "activation" concept by ishymko · Pull Request #984 · a2aproject/a2a-python · GitHub

fix(extensions): support both header names and remove "activation" concept - #984

Merged
ishymko merged 5 commits into
1.0-devfrom
ishymko/extensions
Apr 17, 2026
Merged

fix(extensions): support both header names and remove "activation" concept#984
ishymko merged 5 commits into
1.0-devfrom
ishymko/extensions

Conversation

ishymko commented Apr 17, 2026
edited
Loading

Copy link
Copy Markdown
Member

1.0 spec uses A2A-Extensions instead of X-A2A-Extensions header/metadata name. It also doesn't have "activation" concept - used extensions are not propagated back via headers and should be put into message.extensions or artifact.extensions instead.

  1. Support both in for compat server.
  2. Send X-A2A-Extensions in compat transports.
  3. Remove "activation".

github-actions Bot commented Apr 17, 2026
edited
Loading

Copy link
Copy Markdown

🧪 Code Coverage (vs 1.0-dev)

⬇️ Download Full Report

Base PR Delta
src/a2a/compat/v0_3/grpc_handler.py 98.44% 98.35% 🔴 -0.09%
src/a2a/compat/v0_3/grpc_transport.py 59.57% 63.64% 🟢 +4.06%
src/a2a/compat/v0_3/jsonrpc_transport.py 75.00% 75.23% 🟢 +0.23%
src/a2a/server/agent_execution/context.py 97.22% 97.17% 🔴 -0.05%
src/a2a/server/request_handlers/grpc_handler.py 94.38% 95.42% 🟢 +1.05%
src/a2a/server/routes/jsonrpc_dispatcher.py 85.71% 85.44% 🔴 -0.27%
src/a2a/compat/v0_3/context_builders.py (new) 92.00%
src/a2a/compat/v0_3/extension_headers.py (new) 100.00%
Total 92.54% 92.61% 🟢 +0.07%

Generated by coverage-comment.yml

gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Code Review

This pull request updates the extension header name from X-A2A-Extensions to A2A-Extensions to comply with RFC 6648 and implements a compatibility layer for v0.3 to support both legacy and new header names. The "activated extensions" feature has been removed from the server context, simplifying extension handling to only "requested extensions." Furthermore, the RESTDispatcher was refactored to centralize JSONResponse creation and serialization logic. I have no feedback to provide.

ishymko marked this pull request as ready for review April 17, 2026 12:56
ishymko requested a review from a team as a code owner April 17, 2026 12:56
ishymko changed the title fix: cleanup extensions fix(extensions): support both headers and remove "activation" concept Apr 17, 2026
ishymko changed the title fix(extensions): support both headers and remove "activation" concept fix(extensions): support both header names and remove "activation" concept Apr 17, 2026
ishymko merged commit b8df210 into 1.0-dev Apr 17, 2026
18 checks passed
ishymko deleted the ishymko/extensions branch April 17, 2026 13:22
ishymko pushed a commit that referenced this pull request Apr 17, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.0.0-alpha.2](v1.0.0-alpha.1...v1.0.0-alpha.2)
(2026-04-17)


### ⚠ BREAKING CHANGES

* clean helpers and utils folders structure
([#983](#983))
* Raise errors on invalid AgentExecutor behavior.
([#979](#979))
* extract developer helpers in helpers folder
([#978](#978))

### Features

* Raise errors on invalid AgentExecutor behavior.
([#979](#979))
([f4a0bcd](f4a0bcd))
* **utils:** add `display_agent_card()` utility for human-readable
AgentCard inspection
([#972](#972))
([3468180](3468180))


### Bug Fixes

* Don't generate empty metadata change events in VertexTaskStore
([#974](#974))
([b58b03e](b58b03e)),
closes [#802](#802)
* **extensions:** support both header names and remove "activation"
concept ([#984](#984))
([b8df210](b8df210))


### Documentation

* AgentExecutor interface documentation
([#976](#976))
([d667e4f](d667e4f))
* move `ai_learnings.md` to local-only and update `GEMINI.md`
([#982](#982))
([f6610fa](f6610fa))


### Code Refactoring

* clean helpers and utils folders structure
([#983](#983))
([c87e87c](c87e87c))
* extract developer helpers in helpers folder
([#978](#978))
([5f3ea29](5f3ea29))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL