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.
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.
... (truncated)
Commits
d04d7b1 all: upgrade to google.golang.org/protobuf@v1.23.0 (#1131)
07c14f1 proto: make InternalMessageInfo functional (#1129)
00998c7 jsonpb: fix a confusing error message (#1125)
6c66de7 all: upgrade to google.golang.org/protobuf@v1.22.0 (#1114)
b5de78c all: minor documentation adjustments (#1112)
8d9af28 protoc-gen-go/grpc: make grpc identical to v1.3.5 (#1113)
fa093f5 proto: fix stale deprecation documentation on registry functions (#1093)
1b794fe all: upgrade to google.golang.org/protobuf@v1.21.0 (#1081)
e9dc0d7 all: update to wrap google.golang.org/protobuf
3a3cefd all: use google.golang.org/protobuf/testing/protopack for tests (#1063)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/golang/protobuf from 1.3.3 to 1.4.2.
Release notes
Sourced from github.com/golang/protobuf's releases.
... (truncated)
Commits
d04d7b1
all: upgrade to google.golang.org/protobuf@v1.23.0 (#1131)07c14f1
proto: make InternalMessageInfo functional (#1129)00998c7
jsonpb: fix a confusing error message (#1125)6c66de7
all: upgrade to google.golang.org/protobuf@v1.22.0 (#1114)b5de78c
all: minor documentation adjustments (#1112)8d9af28
protoc-gen-go/grpc: make grpc identical to v1.3.5 (#1113)fa093f5
proto: fix stale deprecation documentation on registry functions (#1093)1b794fe
all: upgrade to google.golang.org/protobuf@v1.21.0 (#1081)e9dc0d7
all: update to wrap google.golang.org/protobuf3a3cefd
all: use google.golang.org/protobuf/testing/protopack for tests (#1063)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)