You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
10.[Summary of Key Changes](#10-summary-of-key-changes-in-v10)
21
+
11.[Get Started](#11-get-started)
20
22
21
23
---
22
24
@@ -373,3 +375,37 @@ from a2a.helpers import (
373
375
)
374
376
```
375
377
378
+
---
379
+
380
+
## 10. Summary of Key Changes in v1.0
381
+
382
+
-**Standardisation to `SCREAMING_SNAKE_CASE`** — All enum values have been renamed from `kebab-case` strings to `SCREAMING_SNAKE_CASE` for compliance with the ProtoJSON specification.
383
+
-**`AgentCard`** — Significantly restructured to support multiple transport interfaces.
384
+
-**`AgentInterface`** — The top-level `url` field is replaced by `supported_interfaces`, a list of `AgentInterface` objects. Each entry describes a single transport endpoint carrying `protocol_binding`, `protocol_version`, and `url`.
385
+
-**Input and output modes** — `AgentCapabilities.input_modes` and `AgentCapabilities.output_modes` are removed and now live directly on `AgentCard` as `default_input_modes` and `default_output_modes`. Individual skills can override these with their own `input_modes` and `output_modes`.
386
+
-**Application setup** — The wrapper classes (`A2AStarletteApplication`, `A2AFastApiApplication` and `A2ARESTFastApiApplication`) are now removed. Server setup now uses route factory functions `create_jsonrpc_routes()`, `create_rest_routes()`, `create_agent_card_routes()` composed directly into a Starlette or FastAPI app.
387
+
-**Helper utilities** — A new `a2a.helpers` module consolidates all helper functions under a single import, replacing the scattered `a2a.utils.*` modules and adding new helpers for constructing and reading v1.0 proto types.
388
+
389
+
---
390
+
391
+
## 11. Get Started
392
+
393
+
The fastest way to see v1.0 in action is to run the samples:
394
+
395
+
| File | Role | Description |
396
+
|---|---|---|
397
+
|[`samples/hello_world_agent.py`](../../../samples/hello_world_agent.py)|**Server**| A2A agent exposing JSON-RPC, REST, and gRPC — with v0.3 compat enabled |
398
+
|[`samples/cli.py`](../../../samples/cli.py)|**Client**| Interactive terminal client; supports all three transports |
399
+
400
+
```bash
401
+
# In one terminal — start the agent:
402
+
uv run python samples/hello_world_agent.py
403
+
404
+
# In another — connect with the CLI:
405
+
uv run python samples/cli.py
406
+
```
407
+
408
+
Then type a message like `hello` and press Enter. See [`samples/README.md`](../../../samples/README.md) for full details.
409
+
410
+
For more examples see the [a2a-samples repository](https://github.com/a2aproject/a2a-samples/tree/main/samples/python).
0 commit comments