Skip to content

v4.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 10:04
· 15 commits to main since this release

Added

  • gRPC plumbing primitive behind the grpc Cargo feature: HTTP/2 response trailers surfaced through Response::trailers() (three-state contract: present, clean-end-absent, stream-reset error), a length-prefixed message framing codec (GrpcFramer) with zero-copy on the contained-message path and per-message gzip support, and a fingerprint-safe grpc_request constructor that emits POST /pkg.Service/Method with content-type: application/grpc+proto and te: trailers without altering the wire fingerprint.
  • gRPC surface exposed in the Node and Python bindings (grpc_request builder and async trailers() accessor), with both binding crates enabling the grpc feature.

Changed

  • HTTP/2 trailer delivery uses a per-stream side channel allocated only when a request opts into trailers (te: trailers), keeping the existing response-streaming hot path byte-identical and allocation-neutral when gRPC is unused.

Fixed

  • Moved Python SyncClient onto native PyO3 classes with a client-owned Tokio runtime and GIL release around blocking sends while keeping the pure-Python compatibility wrapper for older local extensions.