Sourced from [google.golang.org/grpc's releases](https://github.com/grpc/grpc-go/releases).
Release 1.50.1
New Features
gcp/observability: support new configuration defined in public preview user guide
Release 1.50.0
Behavior Changes
client: use proper "@" semantics for connecting to abstract unix sockets. ([#5678](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5678))
This is technically a bug fix; the result is that the address was including a trailing NULL byte, which it should not have. This may break users creating the socket in Go by prefixing a NULL instead of an "@", though, so calling it out as a behavior change.
metadata: add experimental ValueFromIncomingContext to more efficiently retrieve a single value ([#5596](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5596))
xds: add support for Outlier Detection, enabled by default ([#5435](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5435), [#5673](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5673))
Bug Fixes
client: fix deadlock in transport caused by GOAWAY racing with stream creation ([#5652](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5652))
This should only occur with an HTTP/2 server that does not follow best practices of an advisory GOAWAY (not a grpc-go server).
xds/xdsclient: fix a bug which was causing routes with cluster_specifier_plugin set to be NACKed when GRPC_EXPERIMENTAL_XDS_RLS_LB was off ([#5670](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5670))
xds/xdsclient: NACK cluster resource if config_source_specifier in lrs_server is not self ([#5613](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5613))
xds/ringhash: fix a bug which sometimes prevents the LB policy from retrying connection attempts ([#5601](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5601))
xds/ringhash: do nothing when asked to exit IDLE instead of falling back on the default channel behavior of connecting to all addresses ([#5614](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5614))
xds/rls: fix a bug which was causing the channel to be stuck in IDLE ([#5656](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5656))
alts: fix a bug which was setting WaitForReady on handshaker service RPCs, thereby delaying fallback when required ([#5620](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5620))
gcp/observability: fix End() to cleanup global state correctly ([#5623](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5623))
Release 1.49.0
New Features
gcp/observability: add support for Environment Variable GRPC_CONFIG_OBSERVABILITY_JSON ([#5525](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5525))
gcp/observability: add support for custom tags ([#5565](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5565))
Behavior Changes
server: reduce log level from Warning to Info for early connection establishment errors ([#5524](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5524))
client: fix race in flow control that could lead to unexpected EOF errors ([#5494](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5494))
client: fix a race that could cause RPCs to time out instead of failing more quickly with UNAVAILABLE ([#5503](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5503))
client & server: fix a panic caused by passing a nil stats handler to grpc.WithStatsHandler or grpc.StatsHandler ([#5543](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5543))
transport/server: fix a race that could cause a stray header to be sent ([#5513](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5513))
balancer: give precedence to IDLE over TRANSIENT_FAILURE when aggregating connectivity state ([#5473](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5473))
xds/xdsclient: request correct resource name when user specifies a new style resource name with empty authority ([#5488](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5488))
... (truncated)
Commits
4c776ec Cherry-pick observability changes from master to v1.50.x and update version t...
6576007 Change version to 1.50.1-dev ([#5686](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5686))
c1d7d7a Change version to 1.50.0 ([#5685](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5685))
8458251 xdsclient: ignore routes with cluster_specifier_plugin when GRPC_EXPERIMENTAL...
Additional commits viewable in [compare view](https://github.com/grpc/grpc-go/compare/v1.38.0...v1.50.1)
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 google.golang.org/grpc from 1.38.0 to 1.50.1.
Release notes
Sourced from [google.golang.org/grpc's releases](https://github.com/grpc/grpc-go/releases).
... (truncated)
Commits
4c776ec
Cherry-pick observability changes from master to v1.50.x and update version t...6576007
Change version to 1.50.1-dev ([#5686](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5686))c1d7d7a
Change version to 1.50.0 ([#5685](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5685))1451c62
internal/transport: optimize grpc-message encoding/decoding ([#5654](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5654))be4b63b
test: minor test cleanup ([#5679](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5679))d83070e
Changed Outlier Detection Env Var to default true ([#5673](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5673))54521b2
client: remove trailing null from unix abstract socket address ([#5678](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5678))36e4810
orca: cleanup old code, and get grpc package to use new code ([#5627](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5627))e8866a8
build: harden GitHub Workflow permissions ([#5660](https://github-redirect.dependabot.com/grpc/grpc-go/issues/5660))8458251
xdsclient: ignore routes with cluster_specifier_plugin when GRPC_EXPERIMENTAL...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)
┆Issue is synchronized with this Trello card