Skip to content

v0.6.0 — Gateway Completion

Choose a tag to compare

@jerynmathew jerynmathew released this 04 Jul 14:18

Completes the gateway as a coherent surface (milestone G1–G9).

Highlights

  • gRPC gateway (civitas[grpc]) — generic civitas.Agent service (Invoke / Cast / Stream), health + reflection.
  • Streaming — WebSocket sessions, SSE / true-streaming responses, and gRPC server-streaming over one shared streaming core (agent API: emit / end_stream / stream_reply).
  • Middleware — first-party rate limiting (RateLimiter + rate_limit) and API-key auth (require_api_key, fail-closed).
  • File uploadsmultipart/form-data handled at the ASGI edge (files base64 under payload['__files__']).
  • Accelerated JSON — optional civitas[fast] (orjson).

Fixes

  • DynamicSupervisor now applies spawn config to the agent, and on_start()'s spawn-time semantics are documented (#8).

Notes

  • New extras: civitas[grpc], civitas[fast]. G7 (HTTP/2 Server Push) dropped as won't-do; G9 (quiche) evaluated — staying on aioquic.
  • Follow-ups: #9 (non-blocking spawn), #10 (spawn_into).

Full details in CHANGELOG.md.