Tags: anthropics/buffa
Tags
buffa 0.2.0 Splits mod.rs generation into a separate protoc-gen-buffa-packaging plugin and removes the mod_file= option from protoc-gen-buffa. Breaking change for protoc-gen-buffa CLI users; library crates (buffa, buffa-types, buffa-codegen, buffa-build) have no API breaks. See CHANGELOG.md for the migration path.
buffa 0.1.0 — Rust Protocol Buffers with editions, views, and no_std From-scratch protobuf runtime + codegen: - Full schema support: proto2, proto3, editions 2023/2024 — with correct feature resolution (field_presence, enum_type, packed, utf8_validation) across syntax variants - Binary wire format + proto3 canonical JSON (serde-based, feature-gated) - Well-known types: Timestamp, Duration, Any, Struct/Value, FieldMask, wrappers — with ergonomic Rust conversions (chrono, serde_json) - Zero-copy MessageView types borrowing the input buffer - Open enums via EnumValue<E> preserving unknown values; closed enums route unknowns to UnknownFields - Only requires no_std + alloc for runtime, views, and JSON - Unknown field preservation on by default Crates: - buffa: runtime traits + encoding + views - buffa-types: WKTs with chrono/serde_json integrations - buffa-codegen: descriptor → TokenStream via quote/syn/prettyplease - buffa-build: build.rs integration - protoc-gen-buffa: protoc plugin + BSR plugin image Passes the protobuf v33.5 conformance suite: - 5539 (std) — 100% pass, excluding textproto (883 tests, not implemented) - 5519 (no_std) — 20 Recommended-tier JSON tests need thread-local parse options - 2797 (via-view) — binary decode only, verifies view/owned decoder parity Runtime reflection not implemented. See CHANGELOG.md, DESIGN.md, docs/guide.md. License: Apache-2.0. Copyright 2026 Anthropic, PBC. Vendored .proto sources (buffa-codegen/protos/, buffa-types/protos/) are from protocolbuffers/protobuf v33.5 under BSD-3-Clause.