release: bump workspace to 0.6.0, finalize changelog and docs#124
Merged
Conversation
Everything targeted for 0.6.0 is on main: feature-gated codegen (#117/#118/#119), file-level extern path routing for descriptor.proto (#114), closed-enum bound relaxation (#115), serde_json re-export (#112), view Serialize impls (#106), empty-file omission (#107), with_* setters (#93), MessageName trait (#108), BSR plugin docs and bsr-quickstart example (#116), and the LTO release profile (#85). Version bump: - Workspace version 0.5.2 -> 0.6.0. - Inter-crate version constraints in [workspace.dependencies] and the per-crate Cargo.toml files that hardcode them (buffa-build, buffa-codegen, protoc-gen-buffa, protoc-gen-buffa-packaging). - Cargo.lock updated. CHANGELOG: - [Unreleased] -> [0.6.0] - 2026-05-15. New empty [Unreleased] section. - Comparison links: add [0.6.0], [0.5.2], [0.5.1] (the latter two were missing); fix [Unreleased] base from v0.5.0 to v0.6.0. Documentation accuracy fixes: - docs/guide.md: rewrite the "Descriptor types" section. The previous text said descriptor message types referenced as fields with views/json/text "will not currently compile; please file an issue" -- contradicting #118, which made exactly this work. The section now documents the new requirement: enable matching buffa-descriptor features when descriptor message types are referenced as fields. - docs/guide.md: bump 11 inline `version = "0.5"` examples to "0.6". - docs/guide.md: bump release-binary download instructions and BSR remote-plugin pin guidance from v0.5.2/v0.5.3 to v0.6.0. - docs/guide.md: add a paragraph in the JSON section noting view types implement serde::Serialize directly when generate_json is enabled (#106), with the extension-field and serialize_map(None) caveats. - docs/migration-from-prost.md, docs/migration-from-protobuf.md, README.md, examples/bsr-quickstart/Cargo.toml: bump "0.5" -> "0.6". Deliberately NOT changed: - examples/bsr-quickstart/buf.gen.yaml stays pinned to v0.5.2: the checked-in src/gen/ was generated by that BSR plugin version, and the v0.6.0 BSR plugin doesn't exist until Buf publishes the bump in bufbuild/plugins. Update both together post-release. - README.md benchmark caption stays "measured at v0.5.0" -- benchmarks have not been re-run.
|
All contributors have signed the CLA ✍️ ✅ |
kollektiv
approved these changes
May 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the workspace to 0.6.0, finalizes the CHANGELOG, and corrects documentation that drifted from the merged feature set.
Verified merged PR list since v0.5.2
Everything from the 0.6.0 target is on
main:buffa-descriptorregen +buffa-build/plugin plumbingdescriptor.protoserde_jsonre-exportSerializeimplswith_*builder-style setters (closes Construction ergonomics for explicit-presence fields (edition 2023+) #30)MessageNametraitexamples/bsr-quickstart/Changes
Version — workspace
0.5.2→0.6.0, propagated to[workspace.dependencies]and the four per-crateCargo.tomls that hardcodeversion = "..."onbuffa(buffa-build,buffa-codegen,protoc-gen-buffa,protoc-gen-buffa-packaging).Cargo.lockupdated.CHANGELOG —
[Unreleased]→[0.6.0] - 2026-05-15, new empty[Unreleased]section, comparison links fixed (added[0.6.0],[0.5.2],[0.5.1]which were missing; rebased[Unreleased]fromv0.5.0...HEADtov0.6.0...HEAD).Docs accuracy — the highest-priority finding from a docs audit against the v0.6.0 feature set:
docs/guide.md§ Descriptor types said descriptor message types referenced as fields withviews/json/text"will not currently compile; please file an issue" — directly contradicting feat(buffa-descriptor): regen with views/json/text/arbitrary behind crate features #118, which made that work. Rewritten to document the actual requirement (enable matchingbuffa-descriptorfeatures) with aCargo.tomlexample and the failure mode you'd see otherwise.version = "0.5"examples bumped to"0.6"inguide.md; same for the migration guides, README, andexamples/bsr-quickstart/Cargo.toml.v0.5.2/v0.5.3tov0.6.0.serde::Serializedirectly whengenerate_jsonis enabled, with the two known limitations from view: impl Serialize for generated view types (#83) #106.Deliberately not changed
examples/bsr-quickstart/buf.gen.yamlstays pinned tov0.5.2— the checked-insrc/gen/was generated by that BSR plugin version, and thev0.6.0BSR plugin doesn't exist until Buf publishes the bump inbufbuild/plugins(post-release follow-up, seebufbuild-plugins-prs). Update the pin and regenerate together.README.mdbenchmark caption stays "measured at v0.5.0" — benchmarks have not been re-run for 0.6.0.Suggested follow-ups (not in this PR)
The docs audit also flagged two completeness gaps that aren't inaccuracies but might be worth prose:
with_*setters (codegen: add with_* builder-style setter methods for explicit-presence fields (#30) #93) andMessageName(feat(buffa): add MessageFullName trait #108) are documented in the option tables and the custom-type-impl section respectively, but neither appears in "Generated code shape" or the README features list.buffa-build/Cargo.toml,buffa-codegen/Cargo.toml,protoc-gen-buffa/Cargo.toml, andprotoc-gen-buffa-packaging/Cargo.tomlcarry hardcodedversion = "0.6.0"constraints onbuffarather than{ workspace = true }. Each release bump touches five files instead of one.Verification
cargo +1.95 fmt --all --check,cargo clippy --workspace --all-targets -- -D warnings,cargo test --workspace,RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps, andtask lint-mdall pass locally.