Bump buffa 0.6 → 0.7 (and connectrpc 0.6 → 0.7) - #16
Conversation
Pure version bump — no API delta. Runtime, protos, macros, and the protoc-gen-protovalidate-buffa plugin all compile unchanged against the 0.7 line. Conformance still PASS 2872/2872 (proto2/proto3/editions 2023, built with protoc 35.1). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
connectrpc 0.7 hands handlers a ServiceRequest<'_, T> instead of an OwnedView<_>. Without recognizing it, #[connect_impl] matches no parameter and silently no-ops — a validation bypass worse than a compile error. Both types expose to_owned_message(), so the inserted decode + validate is unchanged; only the type-name match widens. Adds a ServiceRequest test alongside the existing OwnedView one. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Empty has no fields and no rules, so it always validates. Only the trait's home crate can provide this impl (orphan rule), and without it #[connect_impl] fails to compile on the very common empty-request handler shape (subscribe / list / no-arg RPCs). Lets the macro apply uniformly across a service impl. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
+1 on getting this merged. We're a downstream on The Conformance staying at 2872/2872 with no API delta on the runtime/codegen side matches what we'd expect from a 0.6→0.7 bump. Would be great to see this reviewed/merged — happy to help test against a real 0.7 codebase if useful. |
|
Fixed in #17. |
buffa 0.6 → 0.7 (and connectrpc 0.6 → 0.7)
buffa0.7 is out; the^0.6pins exclude it, so downstreams on buffa 0.7can't use this crate. Two commits:
1. Dependency bump (no API delta)
Bumps every pin —
buffa,buffa-build,buffa-codegen0.6→0.7, and theoptional
connectrpc0.6→0.7. The runtime, protos, codegen plugin, andconformance crate all compile unchanged against the 0.7 line. Conformance is
preserved:
(proto2, proto3, editions 2023 — built with protoc 35.1.)
2.
#[connect_impl]for the 0.7 handler shapeconnectrpc 0.7 hands handlers a
ServiceRequest<'_, T>instead of anOwnedView<_>. The macro matched onlyOwnedView, so under 0.7 it wouldmatch no parameter and silently no-op — a validation bypass worse than a
compile error. Both types expose
to_owned_message(), so the inserteddecode+validate is unchanged; only the type-name match widens to accept
ServiceRequest. AServiceRequesttest is added alongside the existingOwnedViewone.