Skip to content

Commit 746c81c

Browse files
authored
release: bump workspace to 0.7.1, finalize changelog (#181)
Release prep for v0.7.1, a patch release under the Rust 0.x convention: everything since v0.7.0 is additive or a fix, with no breaking changes and no MSRV change. ## What's included (merged on main since v0.7.0) - **Added:** `unbox_oneof` opt-out for boxed message oneof variants (#151, contributed by @sam-shridhar1950f), `[debug_redact = true]` support in generated Debug impls (#162, contributed by @arturenault), packed repeated view decoder pre-allocation (#172, contributed by @yanmo42) - **Changed:** `#[diagnostic::on_unimplemented]` hint on `HasMessageView` (#161) - **Fixed:** mixed-mode reflection boundary degradation + reflect diagnostics (#180), octal/hex escape handling in proto2 bytes defaults (#164 by @Dev-X25874, #175), keyword-named field labels in Debug output Held for 0.8.0 (not in this release): #155 (buffa-yaml), #163 (chrono interop), #167 (oneof_attribute). ## What this PR changes - Workspace version 0.7.0 → 0.7.1, including internal dependency version refs and lockfile refreshes (root, benchmarks/buffa, benchmarks/gen-datasets) - CHANGELOG: `[Unreleased]` → `[0.7.1] - 2026-06-10` with patch-release framing; compare links updated - Fixes two rustdoc intra-doc-link errors that landed with #180 and #151 (an anchored associated-fn link in buffa-build, a public doc link to a private item in buffa-codegen), so `RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-deps` passes again ## Verification Run locally at CI parity: `cargo clippy --workspace --all-targets --all-features -- -D warnings`, `cargo test --workspace --all-features` (1929 passed), `RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-deps`, `task lint`, `task lint-md` — all clean. After merge: tag `v0.7.1` on the merge commit triggers the crates.io publish workflow.
1 parent bdf90ed commit 746c81c

11 files changed

Lines changed: 43 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66

77
## [Unreleased]
88

9+
## [0.7.1] - 2026-06-10
10+
11+
This release is a patch bump under the
12+
[Rust 0.x convention](https://doc.rust-lang.org/cargo/reference/semver.html):
13+
everything below is additive or a fix, with no breaking changes and no MSRV
14+
change. The new codegen capabilities are opt-in (`unbox_oneof`) or gated on a
15+
proto option (`debug_redact`); the packed view pre-allocation applies to all
16+
regenerated code but is behaviorally invisible — a pure performance hint. Code
17+
regenerated with 0.7.1 calls the new (hidden) `RepeatedView::reserve` hook, so
18+
pair regenerated code with a buffa 0.7.1 runtime — any caret `0.7` requirement
19+
resolves there automatically.
20+
921
### Added
1022

1123
- **`unbox_oneof` opt-out for `Box`ed message oneof variants** (#126).
@@ -1028,7 +1040,8 @@ This release publishes:
10281040

10291041
MSRV: Rust 1.85.
10301042

1031-
[Unreleased]: https://github.com/anthropics/buffa/compare/v0.7.0...HEAD
1043+
[Unreleased]: https://github.com/anthropics/buffa/compare/v0.7.1...HEAD
1044+
[0.7.1]: https://github.com/anthropics/buffa/compare/v0.7.0...v0.7.1
10321045
[0.7.0]: https://github.com/anthropics/buffa/compare/v0.6.0...v0.7.0
10331046
[0.6.0]: https://github.com/anthropics/buffa/compare/v0.5.2...v0.6.0
10341047
[0.5.2]: https://github.com/anthropics/buffa/compare/v0.5.1...v0.5.2

Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ exclude = [
2525
]
2626

2727
[workspace.package]
28-
version = "0.7.0"
28+
version = "0.7.1"
2929
edition = "2021"
3030
rust-version = "1.87"
3131
license = "Apache-2.0"
@@ -42,18 +42,18 @@ lto = true
4242
codegen-units = 1
4343

4444
[workspace.dependencies]
45-
buffa = { path = "buffa", version = "0.7.0", default-features = false }
46-
buffa-types = { path = "buffa-types", version = "0.7.0" }
45+
buffa = { path = "buffa", version = "0.7.1", default-features = false }
46+
buffa-types = { path = "buffa-types", version = "0.7.1" }
4747
# `default-features = false` keeps the codegen toolchain (`buffa-codegen` /
4848
# `buffa-build` / `protoc-gen-buffa`) lean — descriptor types are read at
4949
# codegen time via the binary codec only, never serialised to JSON / text or
5050
# borrowed as views, so the codegen build graph carries no `serde` /
5151
# `serde_json` / `base64`. Downstream consumers whose protos reference
5252
# `descriptor.proto` types as fields enable the features they need.
53-
buffa-descriptor = { path = "buffa-descriptor", version = "0.7.0", default-features = false }
54-
buffa-codegen = { path = "buffa-codegen", version = "0.7.0" }
55-
buffa-build = { path = "buffa-build", version = "0.7.0" }
56-
buffa-test = { path = "buffa-test", version = "0.7.0" }
53+
buffa-descriptor = { path = "buffa-descriptor", version = "0.7.1", default-features = false }
54+
buffa-codegen = { path = "buffa-codegen", version = "0.7.1" }
55+
buffa-build = { path = "buffa-build", version = "0.7.1" }
56+
buffa-test = { path = "buffa-test", version = "0.7.1" }
5757
base64 = { version = "0.22", default-features = false, features = ["alloc"] }
5858
bytes = { version = "1", default-features = false }
5959
hashbrown = { version = "0.15", default-features = false, features = ["default-hasher"] }

benchmarks/buffa/Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

benchmarks/gen-datasets/Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

buffa-build/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ categories = ["development-tools::build-utils"]
1313
rustdoc-args = ["--cfg", "docsrs"]
1414

1515
[dependencies]
16-
buffa = { path = "../buffa", version = "0.7.0" }
16+
buffa = { path = "../buffa", version = "0.7.1" }
1717
buffa-codegen = { workspace = true }
1818
tempfile = "3"

buffa-build/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ impl Config {
316316
/// Reflecting message-typed fields also requires every crate that field
317317
/// types resolve to via an extern path — notably `buffa-types` for
318318
/// well-known types — to enable its own reflection feature; see
319-
/// [`reflect_mode`](Self::reflect_mode#extern-path-types) for the
319+
/// [`reflect_mode`](Self::reflect_mode) ("Extern-path types") for the
320320
/// `Cargo.toml` requirement and mixed-mode behavior.
321321
///
322322
/// # Performance

buffa-codegen/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ categories = ["development-tools::build-utils"]
1111

1212
[dependencies]
1313
# `path` wins for local workspace development; `version` is used on publish.
14-
buffa = { path = "../buffa", version = "0.7.0" }
14+
buffa = { path = "../buffa", version = "0.7.1" }
1515
# Codegen reads descriptors via the binary codec only — no views / json /
1616
# text. The workspace dep already declares `default-features = false`; add
1717
# back `std` (it's a build-time tool, never `no_std`).

buffa-codegen/src/context.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -769,8 +769,7 @@ impl<'a> CodeGenContext<'a> {
769769
///
770770
/// `variant_fqn` is the fully-qualified variant path, e.g.
771771
/// `".my.pkg.MyMessage.body.small"`. This consults the set resolved at
772-
/// context construction by
773-
/// [`resolve_unboxed_variants`](crate::oneof::resolve_unboxed_variants),
772+
/// context construction by the internal `resolve_unboxed_variants` pass,
774773
/// not the raw config rules: recursive variants matched only by a prefix
775774
/// rule are excluded there (they stay boxed), so every codegen site that
776775
/// asks agrees with the emitted enum declaration.

protoc-gen-buffa-packaging/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ keywords = ["protobuf", "protocol-buffers", "protoc", "plugin", "codegen"]
1010
categories = ["development-tools::build-utils", "command-line-utilities"]
1111

1212
[dependencies]
13-
buffa = { path = "../buffa", version = "0.7.0" }
13+
buffa = { path = "../buffa", version = "0.7.1" }
1414
buffa-codegen = { workspace = true }

0 commit comments

Comments
 (0)