dependabot[bot] opened a new pull request, #110: URL: https://github.com/apache/ratis-thirdparty/pull/110
Bumps `shaded.grpc.version` from 1.80.0 to 1.81.0. Updates `io.grpc:grpc-netty` from 1.80.0 to 1.81.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-java/releases">io.grpc:grpc-netty's releases</a>.</em></p> <blockquote> <h2>V1.81.0</h2> <p>In this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s <a href="https://developers.google.com/android/guides/setup">discontinued updates for Lollipop (API levels 21 & 22)</a> and now requires a minimum of API level 23 (Android 6.0 Marshmallow).</p> <p><strong>API Changes</strong></p> <ul> <li>api: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (<a href="https://redirect.github.com/grpc/grpc-java/issues/11623">#11623</a>)</li> </ul> <p><strong>Behavior Changes</strong></p> <ul> <li>core: Enable dns "caching" on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an <code>android.context.Context</code>. For reference, it seems Chrome caches for 1 minute</li> </ul> <p><strong>Bug Fixes</strong></p> <ul> <li>opentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in <a href="https://redirect.github.com/grpc/grpc-java/pull/12389">#12389</a> was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.</li> <li>core: Address a race condition where <code>ManagedChannelOrphanWrapper</code> could incorrectly log a "not shutdown properly" warning during garbage collection when using directExecutor(). (<a href="https://redirect.github.com/grpc/grpc-java/issues/12705">#12705</a>) (d459338d9)</li> <li>xds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use <code>typeUrl</code>. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>) (eac9fe961)</li> <li>xds: Fix an issue where subchannel metrics were dropping their association with the <code>backend_service</code>. This ensures xDS load balancing metrics are reported accurately. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> </ul> <p><strong>New Features</strong></p> <ul> <li>netty: Add tcp metrics, by implementing a few of the metrics defined in <a href="https://redirect.github.com/grpc/proposal/pull/519">A80</a>.</li> <li>api: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the <code>grpc.client.call.custom</code> label as defined by <a href="https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md">gRFC A108</a>. See also the <a href="https://grpc.io/docs/guides/opentelemetry-metrics/">gRPC OpenTelemetry Metrics guide</a> (update <a href="https://redirect.github.com/grpc/grpc.io/pull/1505">in-progress</a>)</li> <li>xds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li>utils: Update <code>AdvancedTlsX509KeyManager</code> so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12686">#12686</a>)</li> </ul> <p><strong>Documentation</strong></p> <ul> <li>Update the "Outgoing Flow Control" section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (<a href="https://redirect.github.com/grpc/grpc-java/issues/12700">#12700</a>) (a3a9ffcbe) (<a href="https://redirect.github.com/grpc/grpc-java/issues/12726">#12726</a>) (65ae2efda)</li> <li>examples: Clean up Health example, and document need for grpc-services (3ed732fc0)</li> </ul> <p><strong>Dependencies</strong></p> <ul> <li>Upgrade Dependencies (<a href="https://redirect.github.com/grpc/grpc-java/issues/12719">#12719</a>) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,</li> <li>Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)</li> </ul> <p><strong>Thanks to</strong></p> <ul> <li><a href="https://github.com/becomeStar"><code>@becomeStar</code></a></li> <li><a href="https://github.com/benjaminp"><code>@benjaminp</code></a></li> <li><a href="https://github.com/JoeCqupt"><code>@JoeCqupt</code></a></li> <li><a href="https://github.com/Kainsin"><code>@Kainsin</code></a></li> <li><a href="https://github.com/merlimat"><code>@merlimat</code></a></li> <li><a href="https://github.com/SreeramdasLavanya"><code>@SreeramdasLavanya</code></a></li> <li><a href="https://github.com/themechbro"><code>@themechbro</code></a></li> <li><a href="https://github.com/zhangweikop"><code>@zhangweikop</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda"><code>6951542</code></a> Bump version to 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4"><code>e94188e</code></a> Update README etc to reference 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549"><code>4813c6d</code></a> core,xds: Fix backend_service plumbing for subchannel metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd"><code>6737eb5</code></a> Revert "Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/1274">#1274</a>...</li> <li><a href="https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3"><code>ef35313</code></a> Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/12742">#12742</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80"><code>3ed732f</code></a> examples: Clean up Health, and document need for grpc-services</li> <li><a href="https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021"><code>eac9fe9</code></a> xds: fix xDS HTTP CONNECT's transport socket name bug (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3"><code>1528f80</code></a> Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75</li> <li><a href="https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680"><code>d057a7e</code></a> [xds] Implement A114: WRR support for custom backend metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0"><code>842636f</code></a> xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0">compare view</a></li> </ul> </details> <br /> Updates `io.grpc:grpc-protobuf` from 1.80.0 to 1.81.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-java/releases">io.grpc:grpc-protobuf's releases</a>.</em></p> <blockquote> <h2>V1.81.0</h2> <p>In this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s <a href="https://developers.google.com/android/guides/setup">discontinued updates for Lollipop (API levels 21 & 22)</a> and now requires a minimum of API level 23 (Android 6.0 Marshmallow).</p> <p><strong>API Changes</strong></p> <ul> <li>api: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (<a href="https://redirect.github.com/grpc/grpc-java/issues/11623">#11623</a>)</li> </ul> <p><strong>Behavior Changes</strong></p> <ul> <li>core: Enable dns "caching" on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an <code>android.context.Context</code>. For reference, it seems Chrome caches for 1 minute</li> </ul> <p><strong>Bug Fixes</strong></p> <ul> <li>opentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in <a href="https://redirect.github.com/grpc/grpc-java/pull/12389">#12389</a> was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.</li> <li>core: Address a race condition where <code>ManagedChannelOrphanWrapper</code> could incorrectly log a "not shutdown properly" warning during garbage collection when using directExecutor(). (<a href="https://redirect.github.com/grpc/grpc-java/issues/12705">#12705</a>) (d459338d9)</li> <li>xds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use <code>typeUrl</code>. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>) (eac9fe961)</li> <li>xds: Fix an issue where subchannel metrics were dropping their association with the <code>backend_service</code>. This ensures xDS load balancing metrics are reported accurately. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> </ul> <p><strong>New Features</strong></p> <ul> <li>netty: Add tcp metrics, by implementing a few of the metrics defined in <a href="https://redirect.github.com/grpc/proposal/pull/519">A80</a>.</li> <li>api: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the <code>grpc.client.call.custom</code> label as defined by <a href="https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md">gRFC A108</a>. See also the <a href="https://grpc.io/docs/guides/opentelemetry-metrics/">gRPC OpenTelemetry Metrics guide</a> (update <a href="https://redirect.github.com/grpc/grpc.io/pull/1505">in-progress</a>)</li> <li>xds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li>utils: Update <code>AdvancedTlsX509KeyManager</code> so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12686">#12686</a>)</li> </ul> <p><strong>Documentation</strong></p> <ul> <li>Update the "Outgoing Flow Control" section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (<a href="https://redirect.github.com/grpc/grpc-java/issues/12700">#12700</a>) (a3a9ffcbe) (<a href="https://redirect.github.com/grpc/grpc-java/issues/12726">#12726</a>) (65ae2efda)</li> <li>examples: Clean up Health example, and document need for grpc-services (3ed732fc0)</li> </ul> <p><strong>Dependencies</strong></p> <ul> <li>Upgrade Dependencies (<a href="https://redirect.github.com/grpc/grpc-java/issues/12719">#12719</a>) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,</li> <li>Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)</li> </ul> <p><strong>Thanks to</strong></p> <ul> <li><a href="https://github.com/becomeStar"><code>@becomeStar</code></a></li> <li><a href="https://github.com/benjaminp"><code>@benjaminp</code></a></li> <li><a href="https://github.com/JoeCqupt"><code>@JoeCqupt</code></a></li> <li><a href="https://github.com/Kainsin"><code>@Kainsin</code></a></li> <li><a href="https://github.com/merlimat"><code>@merlimat</code></a></li> <li><a href="https://github.com/SreeramdasLavanya"><code>@SreeramdasLavanya</code></a></li> <li><a href="https://github.com/themechbro"><code>@themechbro</code></a></li> <li><a href="https://github.com/zhangweikop"><code>@zhangweikop</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda"><code>6951542</code></a> Bump version to 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4"><code>e94188e</code></a> Update README etc to reference 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549"><code>4813c6d</code></a> core,xds: Fix backend_service plumbing for subchannel metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd"><code>6737eb5</code></a> Revert "Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/1274">#1274</a>...</li> <li><a href="https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3"><code>ef35313</code></a> Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/12742">#12742</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80"><code>3ed732f</code></a> examples: Clean up Health, and document need for grpc-services</li> <li><a href="https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021"><code>eac9fe9</code></a> xds: fix xDS HTTP CONNECT's transport socket name bug (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3"><code>1528f80</code></a> Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75</li> <li><a href="https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680"><code>d057a7e</code></a> [xds] Implement A114: WRR support for custom backend metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0"><code>842636f</code></a> xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0">compare view</a></li> </ul> </details> <br /> Updates `io.grpc:grpc-stub` from 1.80.0 to 1.81.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-java/releases">io.grpc:grpc-stub's releases</a>.</em></p> <blockquote> <h2>V1.81.0</h2> <p>In this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s <a href="https://developers.google.com/android/guides/setup">discontinued updates for Lollipop (API levels 21 & 22)</a> and now requires a minimum of API level 23 (Android 6.0 Marshmallow).</p> <p><strong>API Changes</strong></p> <ul> <li>api: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (<a href="https://redirect.github.com/grpc/grpc-java/issues/11623">#11623</a>)</li> </ul> <p><strong>Behavior Changes</strong></p> <ul> <li>core: Enable dns "caching" on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an <code>android.context.Context</code>. For reference, it seems Chrome caches for 1 minute</li> </ul> <p><strong>Bug Fixes</strong></p> <ul> <li>opentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in <a href="https://redirect.github.com/grpc/grpc-java/pull/12389">#12389</a> was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.</li> <li>core: Address a race condition where <code>ManagedChannelOrphanWrapper</code> could incorrectly log a "not shutdown properly" warning during garbage collection when using directExecutor(). (<a href="https://redirect.github.com/grpc/grpc-java/issues/12705">#12705</a>) (d459338d9)</li> <li>xds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use <code>typeUrl</code>. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>) (eac9fe961)</li> <li>xds: Fix an issue where subchannel metrics were dropping their association with the <code>backend_service</code>. This ensures xDS load balancing metrics are reported accurately. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> </ul> <p><strong>New Features</strong></p> <ul> <li>netty: Add tcp metrics, by implementing a few of the metrics defined in <a href="https://redirect.github.com/grpc/proposal/pull/519">A80</a>.</li> <li>api: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the <code>grpc.client.call.custom</code> label as defined by <a href="https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md">gRFC A108</a>. See also the <a href="https://grpc.io/docs/guides/opentelemetry-metrics/">gRPC OpenTelemetry Metrics guide</a> (update <a href="https://redirect.github.com/grpc/grpc.io/pull/1505">in-progress</a>)</li> <li>xds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li>utils: Update <code>AdvancedTlsX509KeyManager</code> so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12686">#12686</a>)</li> </ul> <p><strong>Documentation</strong></p> <ul> <li>Update the "Outgoing Flow Control" section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (<a href="https://redirect.github.com/grpc/grpc-java/issues/12700">#12700</a>) (a3a9ffcbe) (<a href="https://redirect.github.com/grpc/grpc-java/issues/12726">#12726</a>) (65ae2efda)</li> <li>examples: Clean up Health example, and document need for grpc-services (3ed732fc0)</li> </ul> <p><strong>Dependencies</strong></p> <ul> <li>Upgrade Dependencies (<a href="https://redirect.github.com/grpc/grpc-java/issues/12719">#12719</a>) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,</li> <li>Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)</li> </ul> <p><strong>Thanks to</strong></p> <ul> <li><a href="https://github.com/becomeStar"><code>@becomeStar</code></a></li> <li><a href="https://github.com/benjaminp"><code>@benjaminp</code></a></li> <li><a href="https://github.com/JoeCqupt"><code>@JoeCqupt</code></a></li> <li><a href="https://github.com/Kainsin"><code>@Kainsin</code></a></li> <li><a href="https://github.com/merlimat"><code>@merlimat</code></a></li> <li><a href="https://github.com/SreeramdasLavanya"><code>@SreeramdasLavanya</code></a></li> <li><a href="https://github.com/themechbro"><code>@themechbro</code></a></li> <li><a href="https://github.com/zhangweikop"><code>@zhangweikop</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda"><code>6951542</code></a> Bump version to 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4"><code>e94188e</code></a> Update README etc to reference 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549"><code>4813c6d</code></a> core,xds: Fix backend_service plumbing for subchannel metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd"><code>6737eb5</code></a> Revert "Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/1274">#1274</a>...</li> <li><a href="https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3"><code>ef35313</code></a> Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/12742">#12742</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80"><code>3ed732f</code></a> examples: Clean up Health, and document need for grpc-services</li> <li><a href="https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021"><code>eac9fe9</code></a> xds: fix xDS HTTP CONNECT's transport socket name bug (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3"><code>1528f80</code></a> Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75</li> <li><a href="https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680"><code>d057a7e</code></a> [xds] Implement A114: WRR support for custom backend metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0"><code>842636f</code></a> xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0">compare view</a></li> </ul> </details> <br /> Updates `io.grpc:grpc-context` from 1.80.0 to 1.81.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-java/releases">io.grpc:grpc-context's releases</a>.</em></p> <blockquote> <h2>V1.81.0</h2> <p>In this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s <a href="https://developers.google.com/android/guides/setup">discontinued updates for Lollipop (API levels 21 & 22)</a> and now requires a minimum of API level 23 (Android 6.0 Marshmallow).</p> <p><strong>API Changes</strong></p> <ul> <li>api: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (<a href="https://redirect.github.com/grpc/grpc-java/issues/11623">#11623</a>)</li> </ul> <p><strong>Behavior Changes</strong></p> <ul> <li>core: Enable dns "caching" on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an <code>android.context.Context</code>. For reference, it seems Chrome caches for 1 minute</li> </ul> <p><strong>Bug Fixes</strong></p> <ul> <li>opentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in <a href="https://redirect.github.com/grpc/grpc-java/pull/12389">#12389</a> was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.</li> <li>core: Address a race condition where <code>ManagedChannelOrphanWrapper</code> could incorrectly log a "not shutdown properly" warning during garbage collection when using directExecutor(). (<a href="https://redirect.github.com/grpc/grpc-java/issues/12705">#12705</a>) (d459338d9)</li> <li>xds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use <code>typeUrl</code>. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>) (eac9fe961)</li> <li>xds: Fix an issue where subchannel metrics were dropping their association with the <code>backend_service</code>. This ensures xDS load balancing metrics are reported accurately. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> </ul> <p><strong>New Features</strong></p> <ul> <li>netty: Add tcp metrics, by implementing a few of the metrics defined in <a href="https://redirect.github.com/grpc/proposal/pull/519">A80</a>.</li> <li>api: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the <code>grpc.client.call.custom</code> label as defined by <a href="https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md">gRFC A108</a>. See also the <a href="https://grpc.io/docs/guides/opentelemetry-metrics/">gRPC OpenTelemetry Metrics guide</a> (update <a href="https://redirect.github.com/grpc/grpc.io/pull/1505">in-progress</a>)</li> <li>xds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li>utils: Update <code>AdvancedTlsX509KeyManager</code> so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (<a href="https://redirect.github.com/grpc/grpc-java/issues/12686">#12686</a>)</li> </ul> <p><strong>Documentation</strong></p> <ul> <li>Update the "Outgoing Flow Control" section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (<a href="https://redirect.github.com/grpc/grpc-java/issues/12700">#12700</a>) (a3a9ffcbe) (<a href="https://redirect.github.com/grpc/grpc-java/issues/12726">#12726</a>) (65ae2efda)</li> <li>examples: Clean up Health example, and document need for grpc-services (3ed732fc0)</li> </ul> <p><strong>Dependencies</strong></p> <ul> <li>Upgrade Dependencies (<a href="https://redirect.github.com/grpc/grpc-java/issues/12719">#12719</a>) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,</li> <li>Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)</li> </ul> <p><strong>Thanks to</strong></p> <ul> <li><a href="https://github.com/becomeStar"><code>@becomeStar</code></a></li> <li><a href="https://github.com/benjaminp"><code>@benjaminp</code></a></li> <li><a href="https://github.com/JoeCqupt"><code>@JoeCqupt</code></a></li> <li><a href="https://github.com/Kainsin"><code>@Kainsin</code></a></li> <li><a href="https://github.com/merlimat"><code>@merlimat</code></a></li> <li><a href="https://github.com/SreeramdasLavanya"><code>@SreeramdasLavanya</code></a></li> <li><a href="https://github.com/themechbro"><code>@themechbro</code></a></li> <li><a href="https://github.com/zhangweikop"><code>@zhangweikop</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda"><code>6951542</code></a> Bump version to 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4"><code>e94188e</code></a> Update README etc to reference 1.81.0</li> <li><a href="https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549"><code>4813c6d</code></a> core,xds: Fix backend_service plumbing for subchannel metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12735">#12735</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd"><code>6737eb5</code></a> Revert "Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/1274">#1274</a>...</li> <li><a href="https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3"><code>ef35313</code></a> Replace javax ThreadSafe annotation with errorprone ThreadSafe (<a href="https://redirect.github.com/grpc/grpc-java/issues/12742">#12742</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80"><code>3ed732f</code></a> examples: Clean up Health, and document need for grpc-services</li> <li><a href="https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021"><code>eac9fe9</code></a> xds: fix xDS HTTP CONNECT's transport socket name bug (<a href="https://redirect.github.com/grpc/grpc-java/issues/12740">#12740</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3"><code>1528f80</code></a> Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75</li> <li><a href="https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680"><code>d057a7e</code></a> [xds] Implement A114: WRR support for custom backend metrics (<a href="https://redirect.github.com/grpc/grpc-java/issues/12645">#12645</a>)</li> <li><a href="https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0"><code>842636f</code></a> xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0">compare view</a></li> </ul> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> 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) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
