dependabot[bot] opened a new pull request, #5189:
URL: https://github.com/apache/eventmesh/pull/5189

   Bumps `grpcVersion` from 1.68.0 to 1.71.0.
   Updates `io.grpc:grpc-core` from 1.68.0 to 1.71.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/grpc/grpc-java/releases";>io.grpc:grpc-core's 
releases</a>.</em></p>
   <blockquote>
   <h2>V1.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `io.grpc:grpc-protobuf` from 1.68.0 to 1.71.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.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `io.grpc:grpc-stub` from 1.68.0 to 1.71.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.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `io.grpc:grpc-netty` from 1.68.0 to 1.71.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.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `io.grpc:grpc-netty-shaded` from 1.68.0 to 1.71.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/grpc/grpc-java/releases";>io.grpc:grpc-netty-shaded's 
releases</a>.</em></p>
   <blockquote>
   <h2>V1.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `io.grpc:protoc-gen-grpc-java` from 1.68.0 to 1.71.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/grpc/grpc-java/releases";>io.grpc:protoc-gen-grpc-java's
 releases</a>.</em></p>
   <blockquote>
   <h2>V1.71.0</h2>
   <h2>API Changes</h2>
   <ul>
   <li>xds: Enable Xds Client Fallback by default.  This allows having a backup 
xDS server as described in gRFC <a 
href="https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md";>A71-xds-fallback.md</a>
 (<a href="https://redirect.github.com/grpc/grpc-java/issues/11817";>#11817</a>) 
(176f3eed1)</li>
   <li>protobuf: Experimental API marshallerWithRecursionLimit in 
<code>ProtoUtils</code> is now stabilized (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11884";>#11884</a>) 
(90b1c4fe9)</li>
   </ul>
   <h2>Bug Fixes</h2>
   <ul>
   <li>xds: Cluster weights should be uint32 (199a7ea3e). They were previously 
processed as int32, although the sum of weights was checked to be positive. So 
this would have caused a very large weight to never be selected and to reduce 
the chances of immediately-following clusters to be selected. There have been 
no reports of control planes using such large weights</li>
   <li>xds: Fix an unlikely infinite loop triggered by route update 
(199a7ea3e). Triggering required the old cluster to no longer be used, an RPC 
processing when the update arrived, and for a RPC to not match any route in the 
new config. There have been no reports of this actually happening</li>
   <li>core: Release data frame if it is received before the headers 
(dc316f7fd)</li>
   </ul>
   <h2>Improvements</h2>
   <ul>
   <li>Replace jsr305's <code>CheckReturnValue</code> with Error Prone's (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11811";>#11811</a>) 
(7b5d0692c)</li>
   <li>core: optimize number of buffer allocations for message sizes larger 
than 1 MB (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>) 
(5a7f35053)</li>
   <li>core: Update the retry backoff range from [0, 1] to [0.8, 1.2] as per 
the A6 redefinition (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11858";>#11858</a>) 
(44e92e2c2)</li>
   <li>core: include last pick status in status message when wait-for-ready 
RPC’s deadline expires (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11851";>#11851</a>) 
(7585b1607). This makes it much easier to debug connectivity issues when using 
wait-for-ready RPCs</li>
   <li>xds: Include max concurrent request limit in the error status for 
concurrent connections limit exceeded (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11845";>#11845</a>) 
(0f5503ebb)</li>
   <li>netty, servlet: Remove 4096 min write buffer size because 
<code>MessageFramer</code>.flush() is being called between every message, so 
messages are never combined and the larger allocation just wastes memory. 
(4a10a3816, 7153ff852)</li>
   <li>core: When <code>ClientStreamObserver</code> closes the response 
observer log the error message if this operation fails (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11880";>#11880</a>) 
(302342cfc)</li>
   <li>bom: use gradle java-platform to build pom instead of custom xml 
generation (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11875";>#11875</a>) 
(3142928fa)</li>
   <li>xds: Reuse filter interceptors on client-side across RPCs (c506190b0, 
b3db8c248). This was an internal refactor that should have no user-visible 
change</li>
   <li>alts: Enhance <code>AltsContextUtil</code> to allow getting the 
<code>AltsContext</code> on client-side (b1bc0a9d2)</li>
   <li>xds: Envoy proto sync to 2024-11-11 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11816";>#11816</a>) 
(b44ebce45)</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li>examples: Update <code>HelloWorldServer</code> to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>) 
(16edf7ac4)</li>
   <li>examples: Add README for all examples lacking it (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11676";>#11676</a>) 
(9e8629914)</li>
   </ul>
   <h2>Dependencies</h2>
   <ul>
   <li>Version upgrades (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11874";>#11874</a>) 
(fc8571a0e)</li>
   <li>Upgrade netty-tcnative to 2.0.70 (122b68371)</li>
   </ul>
   <h2>Thanks to</h2>
   <p><a href="https://github.com/benjamin";><code>@​benjamin</code></a>
   <a href="https://github.com/panchenko";><code>@​panchenko</code></a>
   <a href="https://github.com/harshagoo94";><code>@​harshagoo94</code></a>
   <a 
href="https://github.com/NaveenPrasannaV";><code>@​NaveenPrasannaV</code></a></p>
   <h2>v1.70.0</h2>
   <h2><strong>Bug Fixes</strong></h2>
   <ul>
   <li>Re-enable animalsniffer, fixing most violations (8ea362937). Violations 
would only have triggered on API level 23 and earlier, and the violations fixed 
here were highly unlikely to be triggered</li>
   <li>api: Fix Android API level 23 and earlier compatibility for 
StatusRuntimeException without stacktrace (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11072";>#11072</a>) 
(ebe2b4867). This fixes a regression introduced in 1.64.0. The regression 
should have caused failures on API level 23 and earlier when a 
StatusRuntimeException or StatusException was created. However, for unknown 
reasons tests on old devices didn’t notice issues</li>
   <li>okhttp: Improve certificate handling by rejecting non-ASCII subject 
alternative names and hostnames as seen in CVE-2021-0341 (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11749";>#11749</a>) 
(a0982ca0a). Hostnames are considered trusted and CAs are required to use 
punycode for non-ASCII hostnames, so this is expected to provide 
defense-in-depth. See also the <a 
href="https://gosecure.ai/blog/2020/10/27/weakness-in-java-tls-host-verification/";>related
 GoSecure blog post</a> and the <a 
href="https://android.googlesource.com/platform/external/okhttp/+/ddc934efe3ed06ce34f3724d41cfbdcd7e7358fc";>AOSP
 fix</a></li>
   <li>okhttp: Fix for ipv6 link local with scope (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11725";>#11725</a>) 
(65b32e60e)</li>
   <li>xds: Preserve nonce when unsubscribing last watcher of a particular type 
so that new discovery requests of that type are handled correctly (1cf1927d1). 
This (along with 6c12c2bd2) fixes a nonce-handling regression introduced in 
1.66.0 that could cause resources to appear to not exist until re-creating the 
ADS stream. Triggering the behavior required specific config changes. It is 
easiest to trigger when clusters use EDS and routes are changed from one 
cluster to another. The error “found 0 leaf (logical DNS or EDS) clusters for 
root cluster” might then be seen</li>
   <li>xds: Remember nonces for unknown types (6c12c2bd2)</li>
   <li>xds: Unexpected types in the bootstrap’s server_features should be 
ignored (e8ff6da2c). They were previously required to be strings</li>
   <li>xds: Remove xds authority label from metric registration (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11760";>#11760</a>) 
(6516c7387). This fixes the error “Incorrect number of required labels 
provided. Expected: 4” introduced in 1.69.0</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/865c4432569dfdf738b3cf07bcdb6d6e3285f761";><code>865c443</code></a>
 Bump version to 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/ac9d0d2d4d46dce8183bae59aaedb5dc91137b34";><code>ac9d0d2</code></a>
 Update README etc to reference 1.71.0</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16edf7ac4e21d3bcf516bfde0e018915172dfe7d";><code>16edf7a</code></a>
 Examples: Updated HelloWorldServer to use Executor (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11850";>#11850</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/16d26726cfeb44510c8d9f92b121a9fbe32a6301";><code>16d2672</code></a>
 s2a: Don't allow S2AStub to be set</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/9e54e8e5e93034fbea5db686cdbfbd985d0c6f3a";><code>9e54e8e</code></a>
 servlet: Provide Gradle a filter version number</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/c1d703546a8ed4a052769aa78203f44658a3083f";><code>c1d7035</code></a>
 okhttp:Use a locally specified value instead of Segment.SIZE in okhttp (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11899";>#11899</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/57af63ad0a0203aa87b20bb29bc56cd9215fb2ef";><code>57af63a</code></a>
 kokoro: Increase gradle mem in android-interop</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/a5347b2bc4ac6dbe77b916a2a3dcf16199002603";><code>a5347b2</code></a>
 s2a: inject Optional&lt;AccessTokenManager&gt; in tests</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/41dd0c6d7358cc12c83c559c4059f8a8cb86d44e";><code>41dd0c6</code></a>
 xds:Cleanup to reduce test flakiness (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11895";>#11895</a>)</li>
   <li><a 
href="https://github.com/grpc/grpc-java/commit/5a7f350537bbdbba3e3f49de53d298d99b5c1913";><code>5a7f350</code></a>
 optimize number of buffer allocations (<a 
href="https://redirect.github.com/grpc/grpc-java/issues/11879";>#11879</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/grpc/grpc-java/compare/v1.68.0...v1.71.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   <details>
   <summary>Most Recent Ignore Conditions Applied to This Pull Request</summary>
   
   | Dependency Name | Ignore Conditions |
   | --- | --- |
   | io.grpc:grpc-core | [>= 1.54.a, < 1.55] |
   | io.grpc:grpc-netty | [>= 1.54.a, < 1.55] |
   | io.grpc:grpc-netty-shaded | [>= 1.54.a, < 1.55] |
   | io.grpc:grpc-protobuf | [>= 1.54.a, < 1.55] |
   | io.grpc:grpc-stub | [>= 1.54.a, < 1.55] |
   | io.grpc:protoc-gen-grpc-java | [>= 1.54.a, < 1.55] |
   | io.grpc:grpc-core | [>= 1.53.a, < 1.54] |
   | io.grpc:grpc-netty | [>= 1.53.a, < 1.54] |
   | io.grpc:grpc-netty-shaded | [>= 1.53.a, < 1.54] |
   | io.grpc:grpc-protobuf | [>= 1.53.a, < 1.54] |
   | io.grpc:grpc-stub | [>= 1.53.a, < 1.54] |
   | io.grpc:protoc-gen-grpc-java | [>= 1.53.a, < 1.54] |
   </details>
   
   
   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 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 <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: dev-unsubscr...@eventmesh.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@eventmesh.apache.org
For additional commands, e-mail: dev-h...@eventmesh.apache.org

Reply via email to