Repository navigation
This coordinated release publishes ttrpc 0.10.0 and its matching code generators. All four crates were published on October 9, 2026 from commit 8fdc03fa7180ac150933eadd7df4f8a4470e1034.
| Crate | Previous release | New release | Git tag |
|---|---|---|---|
| ttrpc | 0.9.0 | 0.10.0 | v0.10.0 |
| ttrpc-compiler | 0.8.0 | 0.9.0 | ttrpc-compiler-v0.9.0 |
| ttrpc-codegen | 0.6.0 | 0.7.0 | ttrpc-codegen-v0.7.0 |
| ttrpc-codegen-prost | Initial release | 0.1.0 | ttrpc-codegen-prost-v0.1.0 |
Highlights
- Add the Prost 0.13 runtime backend and the first standalone Prost generator, supporting synchronous, asynchronous, and streaming RPCs. (#286)
- Add Unix connection hooks, per-connection metadata, and payload transforms through the optional
security_extensionfeature. (#316) - Enforce async unary deadlines during queueing and writing, preserve stream data/close ordering, and clean up failed or cancelled connections and requests. (#312, #318, #324)
- Reduce allocations, copying, and transport writes through buffer reuse and frame coalescing. (#327, #328, #337)
- Improve canonical Google well-known type handling and generated module ordering. (#322, #326, #335)
Compatibility and migration
This release includes breaking API changes and requires Rust 1.80 or newer.
- rust-protobuf: Upgrade to ttrpc 0.10, ttrpc-codegen 0.7, and ttrpc-compiler 0.9, then regenerate checked-in bindings. Canonical Google well-known RPC types now use protobuf runtime types unless explicitly selected for local generation.
CustomizeandCodegen::customizeuse compiler 0.9 types; usettrpc_codegen::Customizeor upgrade direct compiler dependencies. - Prost: Use
ttrpc-codegen-prost0.1 with Prost 0.13 and installprotoc. Configure ttrpc withdefault-features = falseand explicitly enableprostand the desired runtime features (syncand/orasync). Theprostandrustprotobuffeatures are mutually exclusive. See the Prost setup guide. - Runtime APIs: Direct synchronous
TtrpcContextconstruction requiresconn_ctx; asynchronous construction requiresconnection_data. Customproto::Codecimplementations must providemerge.asynchronous::StreamInner::newis no longer public; use generated clients and typed stream APIs. Replace deprecatedresponse_to_channelcalls withTtrpcContext::respondorsend_responseto preserve payload transforms. - Compiler APIs: The unused legacy grpcio
prost_codegenmodule was removed from ttrpc-compiler. Usettrpc-codegen-prostfor ttrpc Prost bindings.