chore(deps): update module golang/protobuf to v1.4.2 #7
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.
This PR contains the following updates:
v1.3.2
->v1.4.2
Release Notes
golang/protobuf
v1.4.2
Compare Source
Notable changes:
v1.4.1
Compare Source
Notable changes:
v1.4.0
Compare Source
Descriptor
methodsgenerator
packageOverview
This release of the
github.com/golang/protobuf
module introduces a number of significant changes relative to the previous minor release. In particular, this module is now implemented in terms of the newgoogle.golang.org/protobuf
module, which is the next major revision of Go bindings for protocol buffers. From this point onwards, most of the development effort for Go protobufs will be dedicated to the new module, with minimal changes being made to this module.See the release notes for the new module for specific implementation details that may affect this release.
Backwards compatibility
This release maintains backwards compatibility with previous releases of this module. Any observable changes in behavior are to fix bugs, change unspecified behavior, or to make behavior more compliant with the protobuf specification. The compatibility document provides us the freedom to make changes in these areas.
Notable changes
Wire serialization
Wire serialization is now implemented in terms of the new
proto
package by calling out to the relevant functionality in that package (e.g.,proto.Marshal
andproto.Unmarshal
). There should be no observable changes in behavior other what is mentioned elsewhere in the release notes (e.g., behavior around errors or nil values).JSON and text serialization
The JSON and text format implementations have been ported to use protobuf reflection under the hood instead of relying on Go reflection. This provides flexibility as they can operate on any concrete message type that properly implements the new
proto.Message
interface.The implementations do not use the new
protojson
orprototext
packages in order to maintain a higher degree of backwards compatibility. Our analysis unfortunately showed us that too many tests rely on their output being stable by performing byte-for-byte comparisons. Even though the compatibility promise gives us the freedom to change the output, we have chosen not to do so for pragmatic reasons. The implementations are now functionally frozen (bugs and all) and will not receive future improvements. Users are encouraged to migrate to theprotojson
orprototext
packages instead.Well-known types
The well-known types declared under
ptypes
are moved to thegoogle.golang.org/protobuf
module. The packages continue to exist, but all declarations forward to ones in the new module.For a period of time, it is expected that the
protoc-gen-go
plugin continues to generate code with dependencies on the well-known types in this module. The import paths for the well-known types are determined by thego_package
option specified in the.proto
files. Since these files are managed by the main protocol buffers project, it will require a new release of the protobuf toolchain before the new import paths take effect. Depending on this module’s packages for well-known types is fine since they simply forward over to the new packages.While
descriptor
andplugin
are not packages for well-known types, they too have also been moved to the new module.Types registry
In order for dynamic usages of protobufs to operate correctly, there must be a unified registry between this module and the new
google.golang.org/protobuf
module. Theprotoregistry
package is the primary registry for all protobuf files that are linked into a Go program. The registration functions (e.g.,proto.RegisterType
) in this package forward to the global registries in that module, and the lookup functions (e.g.,proto.MessageType
) in this package source from the global registries in that module.Nil values
Use of the
google.golang.org/protobuf
module for the underlying implementation means that semantics for nil values may have changed. See that module’s release notes for details.Errors
A consequence of using the
google.golang.org/protobuf
module as the underlying implementation means that the text for some errors may change in trivial ways. This may break brittle tests depending on the error message. See that module’s release notes for details.Generated code
The
protoc-gen-go
plugin in this module is now a thin wrapper over theprotoc-gen-go
plugin in thegoogle.golang.org/protobuf
module. As a result, there are many changes to the generated code. See that module’s release notes for details. Users should migrate to use the newprotoc-gen-go
plugin instead of the old one. Code generated by either plugin should be compatible with either module.For backward compatibility purposes, the
protoc-gen-go
plugin in this module continues to support generation of gRPC bindings, while theprotoc-gen-go
plugin in the new module does not.Upcoming breakage changes
Per the compatibility agreement for Go protobufs, we promise to make announcements about deliberate or potentially breaking changes 6 months in advance.
None of these changes are effective yet in this release.
Deprecation of
Descriptor
methodsThe
Descriptor
methods on generated messages are deprecated and may be removed in the future.The
descriptor.Message
type is deprecated as fewer and fewer message types in the future will implement thedescriptor.Message
interface. Existing usages should migrate to the newproto.Message
interface.The
descriptor.ForMessage
function is also deprecated. Users should migrate the code to use protobuf reflection to access descriptor information.Removal of
generator
packageThe
generator
package is an internal implementation detail ofprotoc-gen-go
and existed before the internal package mechanism. It has long been exempt from the compatibility promise. A future release of this module will remove the package. Existing users must migrate to the newcompiler/protogen
package, which is a stable API for implementing protoc plugins, or fork the existinggenerator
package.Similarly, the
grpc
package is also an internal implementation detail ofprotoc-gen-go
and will also be deleted in a future release of this module.v1.3.5
Compare Source
Notable changes:
go.mod
Go version togo 1.9
.v1.3.4
Compare Source
Notable changes:
google/protobuf/*.proto
togithub.com/protocolbuffers/protobuf
v3.11.4.protoc-gen-go
output to avoid post-gofmt
variation between go1.13 and go1.14.v1.3.3
Compare Source
Notable changes:
Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.