-
Notifications
You must be signed in to change notification settings - Fork 458
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: a2aproject/a2a-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.23
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: a2aproject/a2a-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.3.24
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 3 commits
- 4 files changed
- 5 contributors
Commits on Feb 18, 2026
-
fix(deps):
DeprecationWarningonHTTP_413_REQUEST_ENTITY_TOO_LARGE(#693) # Description In [This commit that landed in v0.48.0](Kludex/starlette@40a8147) starlette changed constants to conform to [RFC9110](https://www.rfc-editor.org/rfc/rfc9110#name-413-content-too-large). It's the only [one affected](Kludex/starlette@40a8147#diff-966c562bff3b11736a75544f42526c942c185b9fe9eb4b7f5a0dabbeca874fa7R180) that I could find in this codebase. - [x] Follow the [`CONTRIBUTING` Guide](https://github.com/a2aproject/a2a-python/blob/main/CONTRIBUTING.md). - [x] Make your Pull Request title in the <https://www.conventionalcommits.org/> specification. - Important Prefixes for [release-please](https://github.com/googleapis/release-please): - `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/) patch. - `feat:` represents a new feature, and correlates to a SemVer minor. - `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change (indicated by the `!`) and will result in a SemVer major. - [x] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format) - [x] Appropriate docs were updated (if necessary) # Tests ```zsh uv sync --all-groups ``` Before and after: confirmed that this is fixed. ```zsh uv run python -W error::DeprecationWarning -c "from a2a.server.apps.jsonrpc.fastapi_app import *" ``` Confirmed that tests worked with ```zsh uv run pytest ``` # Other uv.lock currently has ```toml [[package]] name = "starlette" version = "0.50.0" ``` So I don't think the dependency pinning is a breaking change. --------- Co-authored-by: Holt Skinner <13262395+holtskinner@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 9968f9c - Browse repository at this point
Copy the full SHA 9968f9cView commit details
Commits on Feb 20, 2026
-
fix(core): preserve legitimate falsy values in _clean_empty (#713)
# Description Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [x] Follow the [`CONTRIBUTING` Guide](https://github.com/a2aproject/a2a-python/blob/main/CONTRIBUTING.md). - [x] Make your Pull Request title in the <https://www.conventionalcommits.org/> specification. - Important Prefixes for [release-please](https://github.com/googleapis/release-please): - `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/) patch. - `feat:` represents a new feature, and correlates to a SemVer minor. - `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change (indicated by the `!`) and will result in a SemVer major. - [x] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format) - [x] Appropriate docs were updated (if necessary) Fixes #692 🦕 ## Problem `_clean_empty` uses a truthiness check (`if v`) that drops legitimate falsy values like `0`, `False`, and `0.0` alongside the intended empties (`''`, `[]`, `{}`). This affects `canonicalize_agent_card()` — the only caller — which produces canonical JSON for signature verification (RFC 8785). An `AgentCard` with e.g. `AgentCapabilities(streaming=False)` would have the field silently stripped, losing the distinction between "explicitly disabled" and "unspecified". ## Fix Restructured `_clean_empty` so that only empty strings are converted to `None` at the leaf level, and empty containers collapse naturally via `or None` after their children are cleaned. The filter becomes `if v is not None`, which only catches values the function itself converted — `0`, `False`, and `0.0` never go through any conversion and flow through unchanged. ### Alternatives considered If maintainers prefer a different style, happy to switch to either: - Inline sentinel: `if v not in (None, '', [], {})` directly in the comprehensions, keeping the original structure with a fixed filter. - Helper predicate: extract an `_is_empty(v)` function and use `if not _is_empty(v)` as the filter in both dict and list comprehensions. ## Tests Parametrized tests covering empty removal, falsy value preservation, mixed cases, non-mutation, and a regression test confirming `streaming=False` survives in `canonicalize_agent_card` output. Happy to trim test cases if seen as excessive. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7632f55 - Browse repository at this point
Copy the full SHA 7632f55View commit details -
chore(main): release 0.3.24 (#708)
🤖 I have created a release *beep* *boop* --- ## [0.3.24](v0.3.23...v0.3.24) (2026-02-20) ### Bug Fixes * **core:** preserve legitimate falsy values in _clean_empty ([#713](#713)) ([7632f55](7632f55)) * **deps:** `DeprecationWarning` on `HTTP_413_REQUEST_ENTITY_TOO_LARGE` ([#693](#693)) ([9968f9c](9968f9c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for d2d3860 - Browse repository at this point
Copy the full SHA d2d3860View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.3.23...v0.3.24