core, grpclb: change policy selection strategy for Grpclb policy (move logic of querying SRV into Grpclb's own resolver) (#6723). System property io.grpc.internal.DnsNameResolverProvider.enable_grpclb is eliminated, grpc-grpclb dependency implicitly enables querying SRV records since v1.24.2
New Features
core: ServerInterceptors.useInputStreamMessages() now preserves the KnownLength interface when wrapping InputStream (#6852). This should prevent certain optimizations from being disabled when using useInputStreamMessages
core: ServerInterceptors.useInputStreamMessages() and useMarshalledMessages() now preserve the SchemaDescriptor, so the methods are now compatible with the reflection service (#6851)
Bug Fixes
core: Fix IllegalStateException if remote-specified decompressor is unknown (#6864)
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READY (#6657). This avoids RPC being indefinitely queued when subchannels are bouncing back and forth between CONNECTING and TRANSIENT_FAILURE
netty: fixed a bug when grpc-netty and grpc-netty-shaded were both used, which could result in "ClassCastException: io.netty.util.AsciiString cannot be cast to io.grpc.netty.shaded.io.netty.util.AsciiString" (#6765)
netty: Prevent thread interruption during server start from leaking socket (#6867)
okhttp: fix incorrect connection-level flow control handling at beginning of connection (#6742). This only impacted users of OkHttpChannelBuilder.flowControlWindow(), who seem to be few since this bug was not reported sooner
core: A Java 9+ ABI compatibility issue with java.nio.ByteBuffer is fixed (#6839). This only impacted users manually compiling grpc-java with JDK 9+ and then using it as a library for applications that run with JDK 8- (e.g., on Android). This does not impact the pre-built JARs on Maven Central
core: fixed a bug in health check config propagation. (#6804)
benchmarks: some netty benchmarks failed to start and are now fixed (#6877). This was a regression introduced in v1.23.0
Documentation
Add Javadoc for grpc-services and grpc-grpclb to the grpc-all project. This increases the number of classes shown at https://grpc.io/grpc-java/javadoc/
examples: Add a JWT authentication example (#5915)
android: add grpc-android into main build (#6793). Compiling with -PskipAndroid=false (default) includes building grpc-android module, which requires Android SDK
xds: implement more clear specifications for locality filtering (allow localities with 0 endpoint, ignore localities with 0 weight, check for locality priority continuity). (#6875)
v1.28.0
API Changes
core: service config parsing now validates the final config object via LoadBalancerProvider#parseLoadBalancingPolicyConfig. LoadBalancer developers should use parsed config(loadBalancingPolicyConfig) in ResolvedAddresses instead of deprecated attribute io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG.
core, grpclb: change policy selection strategy for Grpclb policy (take one: eliminate special logic for deciding grpclb policy in core) (#6637)
gRPCLB policy selection is being stabilized according to this gRFC. gRPCLB policy will not be automatically selected even if there are SRV addresses resolved. You need to explicitly specify the selection by service config (in TXT records, or via ManagedChannelBuilder#defaultServiceConfig or ManagedChannelBuilder#defaultLoadBalancingPolicy).
core, grpclb: change policy selection strategy for Grpclb policy (move logic of querying SRV into Grpclb's own resolver) (#6723). System property io.grpc.internal.DnsNameResolverProvider.enable_grpclb is eliminated, grpc-grpclb dependency implicitly enables querying SRV records since v1.24.2
New Features
core: ServerInterceptors.useInputStreamMessages() now preserves the KnownLength interface when wrapping InputStream (#6852). This should prevent certain optimizations from being disabled when using useInputStreamMessages
core: ServerInterceptors.useInputStreamMessages() and useMarshalledMessages() now preserve the SchemaDescriptor, so the methods are now compatible with the reflection service (#6851)
Bug Fixes
core: Fix IllegalStateException if remote-specified decompressor is unknown (#6864)
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READY (#6657). This avoids RPC being indefinitely queued when subchannels are bouncing back and forth between CONNECTING and TRANSIENT_FAILURE
netty: fixed a bug when grpc-netty and grpc-netty-shaded were both used, which could result in "ClassCastException: io.netty.util.AsciiString cannot be cast to io.grpc.netty.shaded.io.netty.util.AsciiString" (#6765)
netty: Prevent thread interruption during server start from leaking socket (#6867)
okhttp: fix incorrect connection-level flow control handling at beginning of connection (#6742). This only impacted users of OkHttpChannelBuilder.flowControlWindow(), who seem to be few since this bug was not reported sooner
core: A Java 9+ ABI compatibility issue with java.nio.ByteBuffer is fixed (#6839). This only impacted users manually compiling grpc-java with JDK 9+ and then using it as a library for applications that run with JDK 8- (e.g., on Android). This does not impact the pre-built JARs on Maven Central
core: fixed a bug in health check config propagation. (#6804)
benchmarks: some netty benchmarks failed to start and are now fixed (#6877). This was a regression introduced in v1.23.0
Documentation
Add Javadoc for grpc-services and grpc-grpclb to the grpc-all project. This increases the number of classes shown at https://grpc.io/grpc-java/javadoc/
examples: Add a JWT authentication example (#5915)
android: add grpc-android into main build (#6793). Compiling with -PskipAndroid=false (default) includes building grpc-android module, which requires Android SDK
xds: implement more clear specifications for locality filtering (allow localities with 0 endpoint, ignore localities with 0 weight, check for locality priority continuity). (#6875)
v1.28.0
API Changes
core: service config parsing now validates the final config object via LoadBalancerProvider#parseLoadBalancingPolicyConfig. LoadBalancer developers should use parsed config(loadBalancingPolicyConfig) in ResolvedAddresses instead of deprecated attribute io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG.
core, grpclb: change policy selection strategy for Grpclb policy (take one: eliminate special logic for deciding grpclb policy in core) (#6637)
gRPCLB policy selection is being stabilized according to this gRFC. gRPCLB policy will not be automatically selected even if there are SRV addresses resolved. You need to explicitly specify the selection by service config (in TXT records, or via ManagedChannelBuilder#defaultServiceConfig or ManagedChannelBuilder#defaultLoadBalancingPolicy).
core, grpclb: change policy selection strategy for Grpclb policy (move logic of querying SRV into Grpclb's own resolver) (#6723). System property io.grpc.internal.DnsNameResolverProvider.enable_grpclb is eliminated, grpc-grpclb dependency implicitly enables querying SRV records since v1.24.2
New Features
core: ServerInterceptors.useInputStreamMessages() now preserves the KnownLength interface when wrapping InputStream (#6852). This should prevent certain optimizations from being disabled when using useInputStreamMessages
core: ServerInterceptors.useInputStreamMessages() and useMarshalledMessages() now preserve the SchemaDescriptor, so the methods are now compatible with the reflection service (#6851)
Bug Fixes
core: Fix IllegalStateException if remote-specified decompressor is unknown (#6864)
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READY (#6657). This avoids RPC being indefinitely queued when subchannels are bouncing back and forth between CONNECTING and TRANSIENT_FAILURE
netty: fixed a bug when grpc-netty and grpc-netty-shaded were both used, which could result in "ClassCastException: io.netty.util.AsciiString cannot be cast to io.grpc.netty.shaded.io.netty.util.AsciiString" (#6765)
netty: Prevent thread interruption during server start from leaking socket (#6867)
okhttp: fix incorrect connection-level flow control handling at beginning of connection (#6742). This only impacted users of OkHttpChannelBuilder.flowControlWindow(), who seem to be few since this bug was not reported sooner
core: A Java 9+ ABI compatibility issue with java.nio.ByteBuffer is fixed (#6839). This only impacted users manually compiling grpc-java with JDK 9+ and then using it as a library for applications that run with JDK 8- (e.g., on Android). This does not impact the pre-built JARs on Maven Central
core: fixed a bug in health check config propagation. (#6804)
benchmarks: some netty benchmarks failed to start and are now fixed (#6877). This was a regression introduced in v1.23.0
Documentation
Add Javadoc for grpc-services and grpc-grpclb to the grpc-all project. This increases the number of classes shown at https://grpc.io/grpc-java/javadoc/
examples: Add a JWT authentication example (#5915)
android: add grpc-android into main build (#6793). Compiling with -PskipAndroid=false (default) includes building grpc-android module, which requires Android SDK
xds: implement more clear specifications for locality filtering (allow localities with 0 endpoint, ignore localities with 0 weight, check for locality priority continuity). (#6875)
v1.28.0
API Changes
core: service config parsing now validates the final config object via LoadBalancerProvider#parseLoadBalancingPolicyConfig. LoadBalancer developers should use parsed config(loadBalancingPolicyConfig) in ResolvedAddresses instead of deprecated attribute io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG.
core, grpclb: change policy selection strategy for Grpclb policy (take one: eliminate special logic for deciding grpclb policy in core) (#6637)
gRPCLB policy selection is being stabilized according to this gRFC. gRPCLB policy will not be automatically selected even if there are SRV addresses resolved. You need to explicitly specify the selection by service config (in TXT records, or via ManagedChannelBuilder#defaultServiceConfig or ManagedChannelBuilder#defaultLoadBalancingPolicy).
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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps
grpc.version
from 1.18.0 to 1.29.0. Updatesgrpc-netty-shaded
from 1.18.0 to 1.29.0Release notes
Sourced from grpc-netty-shaded's releases.
Commits
049b128
Bump version to 1.29.0a42d276
Update README etc to reference 1.29.03603b3a
xds: allow duplicated route matcher and prefix='/'5c31dc6
xds: migrating XdsNameResolver to "xds" schemed88f0f1
xds: implement LRS LB policy (#6858)58a92b7
rls: subchannel state manager (#6882)ae4510a
interop-testing: delete deprecated environment variable for enabling grpclb (...8e9ceb5
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READ...37913fd
stub: add Blocking StubType to blocking ClientCalls methods. (#6900)24e3d95
xds: generate xds-routing config from XdsNameResolverUpdates
grpc-protobuf
from 1.18.0 to 1.29.0Release notes
Sourced from grpc-protobuf's releases.
Commits
049b128
Bump version to 1.29.0a42d276
Update README etc to reference 1.29.03603b3a
xds: allow duplicated route matcher and prefix='/'5c31dc6
xds: migrating XdsNameResolver to "xds" schemed88f0f1
xds: implement LRS LB policy (#6858)58a92b7
rls: subchannel state manager (#6882)ae4510a
interop-testing: delete deprecated environment variable for enabling grpclb (...8e9ceb5
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READ...37913fd
stub: add Blocking StubType to blocking ClientCalls methods. (#6900)24e3d95
xds: generate xds-routing config from XdsNameResolverUpdates
grpc-stub
from 1.18.0 to 1.29.0Release notes
Sourced from grpc-stub's releases.
Commits
049b128
Bump version to 1.29.0a42d276
Update README etc to reference 1.29.03603b3a
xds: allow duplicated route matcher and prefix='/'5c31dc6
xds: migrating XdsNameResolver to "xds" schemed88f0f1
xds: implement LRS LB policy (#6858)58a92b7
rls: subchannel state manager (#6882)ae4510a
interop-testing: delete deprecated environment variable for enabling grpclb (...8e9ceb5
core: keep round_robin lb subchannel in TRANSIENT_FAILURE until becoming READ...37913fd
stub: add Blocking StubType to blocking ClientCalls methods. (#6900)24e3d95
xds: generate xds-routing config from XdsNameResolverDependabot 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)