## anthropics/buffa — v0.7.1…v0.8.0

_50 commits._

### Features
- **DecodeOptions: add explicit unbounded reader option (#236)** (6d1d1a4)
- **Add diagnostic hints to custom-type traits (#213) (#229)** (f7199f9)
- **examples: add custom-types — end-to-end pluggable owned types (#214) (#234)** (cb263a0)
- **feat(size_cache): opt-in SizeCachePool for spill-buffer reuse (#225)** (5eaa293)
- **Support custom string types for map keys and values (#222)** (d2c131d)
- **runtime: add fused put_*_field writers, collapse tag+payload write pairs (#195)** (0cc89de)
- **runtime: add map_codec, replace inline map-entry wire loops in owned codegen (#194)** (71965c2)
- **runtime: add check_wire_type, fold per-arm wire guards into one call (#193)** (6b35c31)
- **codegen: add type_name_prefix for generated message and enum names (#199)** (dcfeeee)
- **codegen: add oneof_attribute() for oneof-only custom attributes (#167)** (2386afa)
- **feat(buffa-types): add chrono interop feature (#163)** (ce87d17)
- **buffa-yaml: add Phase 1 YAML serialization crate (#155)** (692ff79)

### Fixes
- **Fix extern_path refs to use deconflicted nested module names (#233)** (0e7f280)
- **Fix reader max size overflow (#219)** (b62d0ea)
- **Fix closed enum map unknown preservation (#218)** (1b982fa)
- **perf(size_cache): drop per-encode inline-array zeroing via MaybeUninit (#223)** (af637c6)

### Backend
- **release: v0.8.0 (#242)** (3e72fbb)
- **decode: validate string fields with smoothutf8 (default-on fast-utf8 feature) (#241)** (e5a95d7)
- **view: HasMessageView::decode_view default; MessageField::unwrap/expect (#240)** (3c65020)
- **Avoid quadratic extension JSON dedup (#237)** (2de1264)
- **Make plugin option parsing strict (#235)** (f0ca1ca)
- **benchmarks: fair-profile cross-impl comparison on bare metal (#227)** (48b59c7)
- **Fail googleapis stress test on generation errors (#238)** (f1b0178)
- **msrv: lower rust-version to 1.75 and revise MSRV policy (#228)** (b68668c)
- **benchmarks: per-message-isolated bench harness (clean by construction) (#217)** (7c0bdf0)
- **codegen: reserve packed varint views by element count, not byte length (#216)** (9d400c9)
- **task: run markdownlint as part of `task lint` (#221)** (9dcd660)
- **buffa: default map<K,V> hasher to foldhash on std builds (#224)** (5b3be19)
- **benchmarks: track per-release performance history (#211)** (ae1bd8e)
- **Pluggable owned map container for map fields (MapStorage) (#210)** (492d0aa)
- **Pluggable owned pointer for message fields (ProtoBox) (#209)** (fc8eef2)
- **Pluggable owned collection types for repeated fields (ProtoList) (#208)** (761b416)
- **Pluggable owned string/bytes types via from_wire; drop curated string presets (#156) (#206)** (79d4386)
- **runtime: inline(always) the fused field writers to restore tag const-fold (#207)** (3f2f996)
- **view: move the decode tag loop into MessageView, mirroring Message::merge (BREAKING) (#198)** (26b4a66)
- **runtime: json adapter newtypes replace per-site _W serialize wrappers (#197)** (da75755)
- **runtime: macros for DefaultInstance / DefaultViewInstance / ViewReborrow (#196)** (7d16c95)
- **Instructions for Homebrew (#203)** (45ce5c5)
- **Mark all checked-in generated code as linguist-generated (#204)** (d22b954)
- **views: track proto2 required-field presence on MessageView (#200)** (58e612b)
- **tooling: run the conformance suite without Docker (#192)** (55ef135)
- **benchmarks: lazy view variant in main benchmarks and charts (#190)** (8d77235)
- **Sync stale buffa-yaml Cargo.lock entry to workspace version 0.7.1 (#187)** (c3f75da)
- **views: additive FooLazyView family for opt-in lazy decoding (#188)** (557586b)
- **codegen: idiomatic_imports — use-backed short names at package root (file_per_package) (#189)** (eaba67d)
- **codegen: customizable feature names for gate_impls_on_crate_features (#183)** (b7219e1)
- **decode: limit unknown fields to bound memory amplification (owned, dynamic, and view paths) (#184)** (278fa43)
- **decode: read length-delimited reader payloads incrementally (#185)** (99032fc)

### Chore
- **ci: bump CLA Assistant to v3.2.0 and relax comment trigger (#205)** (2b9556d)
- **ci: fix protoc plugin release build under the pinned toolchain (#182)** (e7e8de5)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/anthropics/buffa?utm_source=github-action)._