[Bug]: `A2A-Version` validation ignores minor versions and the query parameter

Open Beginner friendly
#1,204 2 comments 0 reactions 1 assignee View on GitHub

@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

component: server status:awaiting response status:stale
What happened?

The specification says:

“Agents MUST process requests using the semantics of the requested A2A-Version (matching Major.Minor).”

and

“Clients MAY provide the A2A-Version as a request parameter instead of a header.”

The implementation seems to miss both points.

  1. The code compares only major:
return actual_v.major == expected_v.major
  1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from a2aproject/a2a-python

All issues in a2aproject/a2a-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.