Changelog

All notable changes to a2a-rust are documented in the project's CHANGELOG.md.

Versioning

a2a-rust follows Semantic Versioning:

  • Major (1.0.0) — Breaking API changes
  • Minor (0.2.0) — New features, backward compatible
  • Patch (0.2.1) — Bug fixes, backward compatible

All four workspace crates share the same version number and are released together.

Release Process

Releases are triggered by pushing a version tag:

git tag v0.2.0
git push origin v0.2.0

The release workflow automatically:

  1. Validates all crate versions match the tag
  2. Runs the full CI suite
  3. Publishes crates to crates.io in dependency order
  4. Creates a GitHub release with notes

Publish Order

a2a-protocol-types → a2a-protocol-client + a2a-protocol-server → a2a-protocol-sdk

This ensures each crate's dependencies are available before it publishes.

Latest (Unreleased)

  • Wave 2 inline unit tests — 110 new #[cfg(test)] tests added directly to 9 critical a2a-protocol-server source files (messaging, event_processing, push_config, lifecycle, handler/mod, REST/JSON-RPC/gRPC/WebSocket dispatchers). Total workspace test count: 1,255 passing tests.

Beyond-Spec Enhancements

  • OpenTelemetry metrics (otel feature) — OtelMetrics with native OTLP export
  • Connection pool metricsConnectionPoolStats and on_connection_pool_stats callback
  • Hot-reload agent cardsHotReloadAgentCardHandler with file polling and SIGHUP
  • Store migration tooling (sqlite feature) — MigrationRunner with V1–V3 built-in migrations
  • Per-tenant configurationPerTenantConfig and TenantLimits for differentiated service levels
  • TenantResolver traitHeaderTenantResolver, BearerTokenTenantResolver, PathSegmentTenantResolver
  • Agent card signing E2E — test 79 in agent-team suite (signing feature)

Bug Fixes (Passes 7–8)

  • Timeout errors now correctly classified as retryable (ClientError::Timeout)
  • SSE parser O(n) dequeue replaced with VecDeque for O(1) pop_front
  • Double-encoded path traversal bypass fixed with two-pass percent-decoding
  • gRPC stream errors now preserve protocol error codes
  • Rate limiter TOCTOU race fixed with CAS loop
  • Push config store now enforces global limits (DoS prevention)

v0.2.0 (2026-03-15)

Initial implementation of A2A v1.0.0 with all 11 protocol methods, dual transport (JSON-RPC + REST), SSE streaming, push notifications, agent card discovery, HTTP caching, enterprise hardening, and 600+ tests (workspace total now 1,255 after subsequent waves).

For the complete version history, see CHANGELOG.md.