Repository navigation
Releases
a2a 0.6.0
The push notification config view answers a config only under the tenant it was created under, and a2a-testkit now reads events and task views from what the endpoint answered.
Breaking
- The
a2a.tasks.TaskPushNotificationConfigsview takes atenantparameter;TaskPushNotificationConfigsQuery::task_push_notification_configstakes(task_id, tenant).
Changed
a2a-testkitderivesTaskCreated,MessageStreamResponse,TaskStatusUpdatedandTaskArtifactUpdatedfrom answers and streams, and answersAllTasksandTaskswith the scenario's tasks. Againsta2a-serverwith an idle agent it now gives 20 passed, 0 failed.- ESS pin 0.75.0 -> 0.76.0; generated crate, projections and conformance suite unchanged.
Full notes: CHANGELOG
0.5.0
a2a 0.5.0 adds a2a-client, a Rust client for A2A's HTTP+JSON binding, a2a-conformance, which runs the ESS conformance suite against a2a-server in task check, and a2a-testkit, which checks any A2A endpoint from outside.
Breaking
- None.
Changed
- New crate
crates/a2a-client: one typed method per operation, typed errors and streams,http://only; the bearer token is never sent with the public card. - New crate
crates/a2a-conformance:task conform, now part oftask check, runs the suite againsta2a-serverin process: 169 of 182 pass, 13 unsupported with listed reasons. - New crate
crates/a2a-testkit:a2a-testkit run --url <base> --suite <suite.json>with--resultsand--bearer-file, plus assertion helpers that answer aMismatchinstead of panicking. a2a-serverexportsInProcess,ObligationsandServerPorts, a trusted in-process harness entry.- Five authored scenarios under
ess/scenarios/for tenant scoping, status filters, history length and paging. Taskfile.ymlno longer sets a sharedCARGO_TARGET_DIR; each checkout builds into its owntarget/.
0.4.0
a2a 0.4.0 adds a2a-server, a Rust server for A2A's HTTP+JSON binding built on the generated crate, with the a2a-server echo agent.
Breaking
- None.
Changed
- New crate
crates/a2a-server: every upstream HTTP+JSON route, server-sent event streams, and tenant isolation of every task operation. a2a-serverbounds connections, request time, followers, tasks, history and push configs; a request over a bound is answered 429RESOURCE_EXHAUSTED.GET /extendedAgentCardneeds the bearer token from--extended-card-token-file.- The specification adds the task's tenant, the
ResourceExhaustederror and its limit outcomes;ess/http.yamlignores unknown query fields. - The generated crate is synthesized with the HTTP binding; ESS stays at 0.75.0.
0.3.0
A2A's HTTP+JSON paths as an ess-http/1 binding (9 of 22 upstream routes equal, the rest named with reasons), and a documentation site at https://beyond10x.github.io/a2a/ with reference pages and downloads.
Breaking
- None.
Changed
- Added
ess/http.yamlandess/http-unmapped.tsv, projected togenerated/openapi-http/and held to the upstream OpenAPI bytask check. - Added the documentation site (
website/, Docusaurus on@beyond10x/docs-system0.11.0) andcrates/a2a-docs, which generates and drift-checks its reference pages and downloads. - Added the release asset
a2a-0.3.0-http.openapi.yaml; the specification bundle carriesgenerated/openapi-http/.
Full list: CHANGELOG.md
0.2.0
The ESS specification now covers the A2A JSON-RPC method names and error codes and both response streams.
It also resolves 6 of the 12 UNMAPPED markers from a2a.proto and the A2A v1.0.1 specification.
Breaking
- Push notification configs are scoped to their parent task. Deleting a config of an unknown task now answers TaskNotFound.
- Views carry grants (section 13.1):
TasksandTaskPushNotificationConfigsgo to the Client,PushNotificationConfigsandAllTasksto the Agent. - SendMessage blocking follows
SendMessageConfiguration.blockingfroma2a.proto.
Changed
- Each A2A error carries its JSON-RPC code (-32001 to -32009), including the new InvalidAgentResponse (-32006).
- MessageStreamResponse and TaskSubscriptionResponse events, published on the
message:streamandtasks:subscribeAsyncAPI channels. - ListTaskPushNotificationConfigs, UpdateArtifact, and the ContextNotAccepted, VersionNotSupported and ExtensionSupportRequired errors.
- Refusals decided by the request alone now answer before the task lookup.
TaskSnapshot.context_idand the ListTaskPushNotificationConfigs response fields are optional, as ina2a.proto.- The release workflow uploads its assets to this bot-created Release.
Full entry: https://github.com/beyond10x/a2a/blob/0.2.0/CHANGELOG.md
0.1.0
ESS specification of A2A v1.0.1 and the artifacts generated from it.
Added
- ESS specification of A2A v1.0.1 in
ess/: domainsa2a.tasksanda2a.discovery, 15 commands,
4 events, 3 views and one componenta2a-agent. - Upstream
a2a.protopinned at v1.0.1 and an OpenAPI 3.0 document derived from it. - OpenAPI, AsyncAPI and JSON Schema projections and a synthesized Rust crate under
generated/,
held toess/bytask check. - Release assets:
a2a.proto, both OpenAPI documents, the AsyncAPI document, the JSON Schema
archive and the specification bundle, withSHA256SUMS.
Full entry: https://github.com/beyond10x/a2a/blob/0.1.0/CHANGELOG.md