## anthropics/buffa — v0.8.1…v0.9.0

_55 commits._

### Features
- **Add try_encode_bounded: budget-checked single-pass encode entry points (#320)** (f3d1abd)
- **benchmarks: add a columnar batch with long packed columns (#318)** (029d1a4)
- **feat(codegen): add exclude_package to drop option-only imports (#279)** (ca0fa22)
- **Add MessageField::map consuming combinator (#282)** (b5a305c)
- **buffa-types: add `jiff` feature (Timestamp/Duration conversions) (#264)** (699192f)
- **Add buffa-remote-derive: ProtoString/ProtoBytes/ProtoList/ProtoBox/MapStorage for remote types (#251)** (976f66d)
- **encoding: add #[inline] to Tag::new (#259)** (f1c8088)
- **benchmarks/history: add v0.8.0 data point (#243)** (64efc3b)
- **benchmarks/history: add -align-loops=64 to the layout-normalization flags (#258)** (912ac95)

### Fixes
- **fix(view): preserve packed closed-enum unknowns (#252)** (5db1dee)
- **Fix trailing whitespace in SECURITY.md (#273)** (d74cb70)

### Backend
- **release: v0.9.0 (#322)** (07b3c2c)
- **decode: bound the memory repeated elements and map entries materialize (#319)** (7b8a768)
- **decode: slice-specialized loop for packed plain-varint payloads (#315)** (9c62014)
- **decode: bulk path for packed fixed-width payloads (#314)** (d1db9a7)
- **reflect: preserve closed enum unknowns (#304)** (5a5bc5e)
- **view: mark the unknown-field pushers cold (#317)** (43b140b)
- **descriptor: validate service and method symbols (#302)** (08edc52)
- **descriptor: reject ambiguous field identities (#300)** (940dfac)
- **reflect: preserve oneof members on decode errors (#303)** (27521fe)
- **reflect: adopt message values from another descriptor pool on set (#308)** (b3d656c)
- **codegen: never let a proto comment's code fence become a doctest (#309)** (ea55e7e)
- **descriptor: preserve existing message on decode errors (#299)** (683268e)
- **codegen: enforce closed-enum unknown-field limits (#313)** (158ba7a)
- **codegen: inline view field decoding (#312)** (2748c9d)
- **encode: enforce the protobuf 2 GiB message-size limit (#271)** (a7d9b5a)
- **remote-derive: optional as_shared override on derive(ProtoBytes) (#294)** (43fd849)
- **encode: vectored (rope) output via an EncodeSink abstraction (#284)** (d565b68)
- **codegen: path-scoped editions feature overrides (override_feature_in), first entry enum_type:OPEN (#291)** (d298438)
- **Validate DynamicMessage values before set (#272)** (63f2b96)
- **Reject unsafe unquoted integer floats (#274)** (19b2c25)
- **Watch transitive proto imports in build (#275)** (88e854f)
- **codegen: root re-export of FILE_DESCRIPTOR_SET_BYTES, strip source_code_info (#286)** (e08cac4)
- **types: make WirePayload opaque so to_str reaches the slack-aware validator (#247)** (b6e3bfa)
- **Create SECURITY.md** (5cbb8a4)
- **view: make OwnedView::to_owned_message infallible (#268)** (58708d8)
- **view decode: charge unknown-field limit per re-materializable field (#266)** (6ac87ed)
- **deps: bump smoothutf8 to 0.2.3 (#246)** (37f2f61)
- **codegen: opt-in idiomatic_field_names — snake_case Rust field idents (#260)** (b1cab84)
- **encoding: force-inline varint decode in packed element loops (#265)** (c3ea807)
- **json: parse quoted integers exactly (#255)** (8eb2224)
- **descriptor: validate reflective field membership (#254)** (0a5b47f)
- **descriptor: make add_file_descriptor_set transactional (#253)** (58f2ad9)
- **codegen: store singular message fields inline by default (PointerRepr::Inline) (#248) (#250)** (a2384e1)
- **Document generated struct evolution policy (#244)** (8f5b067)
- **changelog: adopt changie fragment files to end CHANGELOG merge conflicts (#230)** (df6e2af)

### Docs
- **docs: surface MessageField/EnumValue From conveniences and derive guidance (#306)** (8d36843)
- **docs: clean up rustdoc warnings (#295)** (96b20ab)
- **docs: correct stale gate_reflect_on_crate_feature doc comments (#261)** (063cda6)
- **docs: use cargo add instead of versioned TOML snippets in the guide (#262)** (ae648d5)
- **docs: use cargo add in the crate-root no_std snippet (#263)** (b271072)
- **docs: remove the reflection prototype work-session report** (2288282)

### Chore
- **ci: deny rustdoc warnings in lint-and-test (#296)** (a09993c)
- **ci: cache-write hygiene and CLA allowlist for the maintenance agent (#288)** (30f38ac)
- **ci: verify changie download against pinned SHA256 before executing (#245)** (2e806b5)

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