The generated function Register<Service>Server now panics if the Unimplemented<Service>Server struct is embedded in a way that would otherwise lead to runtime panics if an unimplemented method was called. Users are advised to ensure they are properly embedding the Unimplemented struct for their service, and to regenerate their proto files to confirm. (#7438)
Note: "Proper embedding" of the Unimplemented struct means either embedding the struct by value (preferred) or ensuring it is always initialized to a valid pointer. E.g.
struct MyServiceImpl {
pb.UnimplementedMyServiceServer // embedded by value, not pointer
// .. other struct fields ..
}
New Features
Generated code for services will produce streaming method definitions using one of six different generic types (e.g. BidiStreamingServer or ClientStreamingClient) instead of producing complete interfaces and implementations for the streaming methods. This can be disabled by setting use_generic_streams_experimental=false. Please file a bug if you encounter any issues with this behavior. (#7387)
Bug Fixes
A period (.) is added to the end of the service interface doc comment to comply with Godoc. (#7392)
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 show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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 google.golang.org/grpc/cmd/protoc-gen-go-grpc from 1.4.0 to 1.5.0.
Release notes
Sourced from google.golang.org/grpc/cmd/protoc-gen-go-grpc's releases.
Commits
172ccac
Change version to 1.5.0939edc0
Revert "Use bufconn in end2end tests." (#1381)71260d2
Fix logging method (#1375)c7e2c00
Use bufconn in end2end tests.9a71c79
Create bufconn package for a local, buffered net.Conn and dialer/listenerce03e9c
Fix a typo in examples/gotutorial.md (#1374)d672391
Use log severity and verbosity level (#1340)27b2052
fix deadlock of roundrobin balancer (#1353)8264d61
Ignore goroutines spanwned by log.init during leakcheck. (#1368)86ec6ba
Populate callInfo.peer object for streaming RPCs (#1356)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 show