-
Notifications
You must be signed in to change notification settings - Fork 450
Comparing changes
Open a pull request
base repository: a2aproject/a2a-python
base: v0.3.3
head repository: a2aproject/a2a-python
compare: v0.3.4
- 11 commits
- 18 files changed
- 10 contributors
Commits on Aug 25, 2025
-
fix: resolve streaming endpoint deadlock by pre-consuming request body (
#426) - Fix infinite hang issue in `/v1/message:stream` endpoint - Pre-consume `request.body()` in `_handle_streaming_request` to prevent deadlock - `EventSourceResponse` context was causing `request.body()` consumption to block - Add comprehensive error handling for body consumption failures - Add regression tests for streaming endpoint request body handling Fixes deadlock where `request.body()` consumption inside `EventSourceResponse` context caused the event loop to hang indefinitely. Breaking changes: None Backward compatibility: Maintained Fixes [#1001](#431) 🦕 Release-As: 0.3.4
Configuration menu - View commit details
-
Copy full SHA for 4186731 - Browse repository at this point
Copy the full SHA 4186731View commit details
Commits on Aug 27, 2025
-
feat: Add extensions support to
TaskUpdater.add_artifact(#436)Fixes #433 🦕 Co-authored-by: Lukasz Kawka <lkawka@google.com>
Configuration menu - View commit details
-
Copy full SHA for 598d8a1 - Browse repository at this point
Copy the full SHA 598d8a1View commit details
Commits on Aug 28, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 9193208 - Browse repository at this point
Copy the full SHA 9193208View commit details
Commits on Aug 29, 2025
-
fix: convert auth_required state in proto utils (#444)
# Description The A2A client is receiving `unknown` state over REST transport while it should receive `auth_required`. - [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. - [ ] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format) - [ ] Appropriate docs were updated (if necessary) --------- Signed-off-by: Tomas Pilar <thomas7pilar@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ac12f05 - Browse repository at this point
Copy the full SHA ac12f05View commit details -
fix: Sync jsonrpc and rest implementation of authenticated agent card (…
…#441) # 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: - [ ] Follow the [`CONTRIBUTING` Guide](https://github.com/a2aproject/a2a-python/blob/main/CONTRIBUTING.md). - [ ] 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. - [ ] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> 🦕
Configuration menu - View commit details
-
Copy full SHA for 9da9ecc - Browse repository at this point
Copy the full SHA 9da9eccView commit details
Commits on Sep 2, 2025
-
fix: handle concurrent task completion during cancellation (#449)
### Description We [check](https://github.com/a2aproject/a2a-python/blob/d2e869f/src/a2a/server/request_handlers/default_request_handler.py#L149) that a Task is in a cancellable state before calling `agent_executor.cancel`. This doesn't guarantee there's no task completion event in the queue which will be applied before our task cancellation request gets handled. This PR adds an extra check to ensure that we don't return a Task in a non-cancelled state as a successful cancellation call response. Instead we raise `TaskNotCancelableError`.
Configuration menu - View commit details
-
Copy full SHA for f4c9c18 - Browse repository at this point
Copy the full SHA f4c9c18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42ff0d4 - Browse repository at this point
Copy the full SHA 42ff0d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 813f5cd - Browse repository at this point
Copy the full SHA 813f5cdView commit details -
feat: Add
ServerCallContextinto task store operations (#443)In production systems the persistence of the task should be protected based on the credentials of the creator of the task (e.g. a user id or email). Additionally, applications may have other criteria to use for task persistence (like application name, or region task runs in). --- Providing the `ServerCallContext` into the calls to the `get`, `save` and `delete` interface for the task store allows customization of the persisted task data based on the characteristics needed for a real solution. Agent implementors can construct the appropriate `ServerCallContext` based on the incoming request and use that information at task creation, retrieval and deletion time. Fixes #442 🦕 --------- Co-authored-by: Holt Skinner <13262395+holtskinner@users.noreply.github.com> Co-authored-by: Holt Skinner <holtskinner@google.com>
Configuration menu - View commit details
-
Copy full SHA for e3e5c4b - Browse repository at this point
Copy the full SHA e3e5c4bView commit details -
perf: Improve performance and code style for
proto_utils.py(#452)- Pre-compile regular expressions - Use `cls` instead of `ClassName` - Change `ToProto.data()` to use `dict_to_struct()` - Reduce duplication by combining `ToProto.update_event()` and `ToProto.stream_response()` - Added missing conversion for type `MutualTlsSecurityScheme`
Configuration menu - View commit details
-
Copy full SHA for 1e4b574 - Browse repository at this point
Copy the full SHA 1e4b574View commit details -
chore(main): release 0.3.4 (#432)
🤖 I have created a release *beep* *boop* --- ## [0.3.4](v0.3.3...v0.3.4) (2025-09-02) ### Features * Add `ServerCallContext` into task store operations ([#443](#443)) ([e3e5c4b](e3e5c4b)) * Add extensions support to `TaskUpdater.add_artifact` ([#436](#436)) ([598d8a1](598d8a1)) ### Bug Fixes * convert auth_required state in proto utils ([#444](#444)) ([ac12f05](ac12f05)) * handle concurrent task completion during cancellation ([#449](#449)) ([f4c9c18](f4c9c18)) * Remove logger error from init on `rest_adapter` and `jsonrpc_app` ([#439](#439)) ([9193208](9193208)) * resolve streaming endpoint deadlock by pre-consuming request body ([#426](#426)) ([4186731](4186731)) * Sync jsonrpc and rest implementation of authenticated agent card ([#441](#441)) ([9da9ecc](9da9ecc)) ### Performance Improvements * Improve performance and code style for `proto_utils.py` ([#452](#452)) ([1e4b574](1e4b574)) --- 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 6941b06 - Browse repository at this point
Copy the full SHA 6941b06View commit details
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.3...v0.3.4