Sourced from google.golang.org/protobuf's releases.
v1.27.1
Notable changes since v1.27.0:
- CL/331149: cmd/protoc-gen-go: fix generation of enum defaults
v1.27.0
Overview
The release provides new functionality for iterating through a message using protobuf reflection. There are some minor changes to the code generator.
Notable changes
New features:
- CL/309669: testing/protopack: add Message.UnmarshalAbductive
Bug fixes:
- CL/317430: encoding/prototext: fix skipping of unknown fields
- CL/321529: internal/impl: support typed nil source for Merge of aberrant messages
Generator changes
- CL/305574: cmd/protoc-gen-go: remove generation of the ExtensionRangeArray method
- CL/319649: cmd/protoc-gen-go: avoid referencing remote enum values by name
- CL/316949: compiler/protogen: relax rules for valid import paths
- CL/306209: cmd/protoc-gen-go: add protoc suffix
Reflectively ranging over a message
- CL/236540: reflect: add protopath and protorange packages
The new
reflect/protorangepackage supports recursively ranging through all populated fields of a message. There are many use cases for such a feature. See the examples for inspiration.Upcoming breakage changes
This release removes generation of the
ExtensionRangeArraymethod, as originally announced since the v1.20.0 release on March 2nd, 2020. Our analysis of the entire public module proxy found no static usages of this method. This method is pseudo-internal to the implementation and we expect removal of it to have no material impact. If something is broken by this change, please file an issue and we can consider re-generating this method in a patch release.There are no new upcoming breaking changes to announce in this release.
b92717e all: release v1.27.1177d70e README.md: mention protopath and protorange packagesaa432c0 cmd/protoc-gen-go: fix generation of enum defaults49b6f72 all: start v1.27.0-devel3f51f05 all: release v1.27.0dc57387 release.bash: make work on Linux21e33cc reflect/protoregistry: restore conflicting file names check426f20b release.bash: make work on macOSfebffdd reflect/protoregistry: permit conflicting file names4c193d1 compiler/protogen: relax rules for valid import paths