Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update module golang/protobuf to v1.4.2 #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jan 29, 2020

This PR contains the following updates:

Package Type Update Change
github.com/golang/protobuf require minor v1.3.2 -> v1.4.2

Release Notes

golang/protobuf

v1.4.2

Compare Source

Notable changes:

  • (#​1131) all: upgrade to google.golang.org/protobuf@v1.23.0
  • (#​1125) jsonpb: fix a confusing error message
  • (#​1129) proto: make InternalMessageInfo functional

v1.4.1

Compare Source

Notable changes:

  • (#​1114) all: upgrade to google.golang.org/protobuf@v1.22.0
  • (#​1113) protoc-gen-go/grpc: make identical to v1.3.5

v1.4.0

Compare Source

Overview

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 new google.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 and proto.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 or prototext 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 the protojson or prototext packages instead.

Well-known types

The well-known types declared under ptypes are moved to the google.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 the go_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 and plugin 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. The protoregistry 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 the protoc-gen-go plugin in the google.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 new protoc-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 the protoc-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 methods

The 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 the descriptor.Message interface. Existing usages should migrate to the new proto.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 package

The generator package is an internal implementation detail of protoc-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 new compiler/protogen package, which is a stable API for implementing protoc plugins, or fork the existing generator package.

Similarly, the grpc package is also an internal implementation detail of protoc-gen-go and will also be deleted in a future release of this module.

v1.3.5

Compare Source

Notable changes:

  • Set go.mod Go version to go 1.9.

v1.3.4

Compare Source

Notable changes:

  • Updated google/protobuf/*.proto to github.com/protocolbuffers/protobuf v3.11.4.
  • Minor change to protoc-gen-go output to avoid post-gofmt variation between go1.13 and go1.14.

v1.3.3

Compare Source

Notable changes:

  • #​1025 grpc: accept interface in NewClient functions

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

@codecov
Copy link

codecov bot commented Jan 29, 2020

Codecov Report

Merging #7 into master will decrease coverage by 1.92%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
- Coverage   66.82%   64.90%   -1.93%     
==========================================
  Files           6        6              
  Lines         208      208              
==========================================
- Hits          139      135       -4     
- Misses         54       58       +4     
  Partials       15       15              
Impacted Files Coverage Δ
task.pb.go 17.94% <0.00%> (-10.26%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e295424...2775da5. Read the comment docs.

@renovate renovate bot force-pushed the renovate/github.com-golang-protobuf-1.x branch from 1610ad1 to b879dbe Compare February 26, 2020 21:34
@renovate renovate bot changed the title chore(deps): update module golang/protobuf to v1.3.3 chore(deps): update module golang/protobuf to v1.3.4 Feb 26, 2020
@renovate renovate bot force-pushed the renovate/github.com-golang-protobuf-1.x branch from b879dbe to 1fb05ac Compare March 13, 2020 00:39
@renovate renovate bot changed the title chore(deps): update module golang/protobuf to v1.3.4 chore(deps): update module golang/protobuf to v1.3.5 Mar 13, 2020
@renovate renovate bot force-pushed the renovate/github.com-golang-protobuf-1.x branch from 1fb05ac to 92a7820 Compare April 13, 2020 19:50
@renovate renovate bot changed the title chore(deps): update module golang/protobuf to v1.3.5 chore(deps): update module golang/protobuf to v1.4.0 Apr 13, 2020
@renovate renovate bot force-pushed the renovate/github.com-golang-protobuf-1.x branch from 92a7820 to 8d98dde Compare May 4, 2020 21:15
@renovate renovate bot changed the title chore(deps): update module golang/protobuf to v1.4.0 chore(deps): update module golang/protobuf to v1.4.1 May 4, 2020
@renovate renovate bot force-pushed the renovate/github.com-golang-protobuf-1.x branch from 8d98dde to 2775da5 Compare May 15, 2020 17:54
@renovate renovate bot changed the title chore(deps): update module golang/protobuf to v1.4.1 chore(deps): update module golang/protobuf to v1.4.2 May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant