[Bug]: `A2A-Version` validation ignores minor versions and the query parameter
@rohityan is already working on this.
Since Aug 25, 2026.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- api
Research direction
Look at the version validation logic in the codebase, likely in a file handling request headers or version parsing. The issue points to two specific code snippets: one comparing only major versions and another ignoring the query parameter. Start by searching for constants like VERSION_HEADER and PROTOCOL_VERSION_0_3. Check how the A2A-Version is extracted from headers and query parameters. The fix involves updating the comparison to include minor versions and adding support for the query parameter. Run existing tests related to version validation to ensure the changes comply with the specification.
Written by the indexing model from the issue text.
Description
What happened?
The specification says:
“Agents MUST process requests using the semantics of the requested
A2A-Version(matchingMajor.Minor).”
and
“Clients MAY provide the
A2A-Versionas a request parameter instead of a header.”
The implementation seems to miss both points.
- The code compares only
major:
return actual_v.major == expected_v.major
- The query parameter is ignored.
actual_version = headers.get(
constants.VERSION_HEADER
) or headers.get(constants.VERSION_HEADER.lower())
if not actual_version:
return constants.PROTOCOL_VERSION_0_3
return str(actual_version)
A similar issue existed: https://github.com/a2aproject/a2a-python/issues/856 but it was not fully fixed.
Code of Conduct
- I agree to follow this project's Code of Conduct
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 496
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 16
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from a2aproject/a2a-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
a2aproject/a2a-python#1261 ·
-
component: server status:awaiting response
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1237 · 1 comment · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1215 · 2 comments · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1205 · 3 comments · 1 assignee ·
-
component: server
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
a2aproject/a2a-python#1192 · 3 comments · 1 assignee ·
All issues in a2aproject/a2a-python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100