The v1.77.0 release <https://github.com/grpc/grpc-java/releases/tag/v1.77.0>
is now available.

API Changes

   - binder: Remove experimental BinderChannelBuilder.bindAsUser() method,
   deprecated since 1.69 (#12401
   <https://github.com/grpc/grpc-java/pull/12401>) (f96ce06
   
<https://github.com/grpc/grpc-java/commit/f96ce0670fbe2f2a71b76ccda770e52b1affc063>
   )

Bug Fixes

   - api: Fix name resolver bridge listener handling for address resolution
   errors for custom name resolvers (#12441
   <https://github.com/grpc/grpc-java/pull/12441>) (acbbf86
   
<https://github.com/grpc/grpc-java/commit/acbbf869a160153e636f95f6fd1f37a6a4ae0b5f>).
   This fixes regression introduced in v1.68.1 causing a
   “IllegalStateException: No value present.” exception
   - core: Fix NullPointerException during address update with Happy
   Eyeballs (5e8af56
   
<https://github.com/grpc/grpc-java/commit/5e8af564ec1a5eeabc00578267f7101c57144951>).
   This should not impact many people as the code is disabled by default,
   behind two experimental environment variables
   - okhttp: Fix bidirectional keep-alive causing spurious GOAWAY (6fc3fd0
   
<https://github.com/grpc/grpc-java/commit/6fc3fd046213dbd145216d8159487bf164e7726d>).
   This fixes the grpc-okhttp server incorrectly closing the
connection with GOAWAY:
   too_many_pings
   - xds: SslContext updates handling when using system root certs (#12340
   <https://github.com/grpc/grpc-java/pull/12340>) (63fdaac
   
<https://github.com/grpc/grpc-java/commit/63fdaaccc025c243dd9f32f40e0f254d3ad2484a>).
   Since FileWatcherCertificateProvider isn't used when using system root
   trust store, the SslContext update for the handshake that depended on it
   wasn't happening. This fix creates a separate CertificateProvider for
   handling system root certs that doesn't rely on the
   FileWatcherCertificateProvider.
   - xds: Make cluster selection interceptor run before other filters (
   #12381 <https://github.com/grpc/grpc-java/pull/12381>) (82f9b8e
   
<https://github.com/grpc/grpc-java/commit/82f9b8ec053418d4c970cb8fff5ef028cd50409c>).
   This is needed when there is GcpAuthenticationFilter in the filter chain
   to make available the cluster resource in CallOptions.
   - xds: Handle wildcards in DNS SAN exact matching (#12345
   <https://github.com/grpc/grpc-java/pull/12345>) (5b876cc
   
<https://github.com/grpc/grpc-java/commit/5b876cc864f98e02c1aed215ae3fd9daa2b0f227>
   )
   - android: Fix UdsChannelBuilder with WiFi Proxy (349a35a
   
<https://github.com/grpc/grpc-java/commit/349a35a9b121f744a47caa9c6be293e2f33ade33>
   )
   - binder: Avoid potential deadlock when canceling AsyncSecurityPolicy
   futures (#12283 <https://github.com/grpc/grpc-java/pull/12283>) (4725ced
   
<https://github.com/grpc/grpc-java/commit/4725ced9981e714c9745f22123e3c621342e0b70>
   )
   - binder: Fix a BinderServerTransport crash in the rare
   shutdown-before-start case (#12440
   <https://github.com/grpc/grpc-java/pull/12440>) (91f3f4d
   
<https://github.com/grpc/grpc-java/commit/91f3f4dc176f69f15e5b4c2a77e4fb7f07426eae>
   )

Improvements

   - Improve status messages by including causal error details in config
   parsing errors for outlier detection and xds’s wrr locality policies (
   86e8b56
   
<https://github.com/grpc/grpc-java/commit/86e8b56170a12b45dcf243a40db1670de595b3c0>
   )
   - xds: Detect negative ref count for xds client (21696cd
   
<https://github.com/grpc/grpc-java/commit/21696cd3dffc3b85b5fa3e9ac4464fa24d78de4f>).
   A negative reference count could cause NullPointerExceptions, so when too
   many unrefs are detected it produces a SEVERE warning and prevents the
   reference count from going negative
   - xds: Support deprecated xDS TLS fields for Istio compat (#12435
   <https://github.com/grpc/grpc-java/pull/12435>) (53cd1a2
   
<https://github.com/grpc/grpc-java/commit/53cd1a225628530defa407590223efdab0fca060>).
   This fixes a regression with Istio introduced in v1.73.0. This gives time
   for Istio’s new xDS field support
   <https://github.com/istio/istio/pull/58257> to roll out
   - googleapis: Allow wrapping NameResolver to inject XdsClient (#12450
   <https://github.com/grpc/grpc-java/pull/12450>) (27d1508
   
<https://github.com/grpc/grpc-java/commit/27d150890e165dbaf6869e79484139d6c0058ea5>).
   This allows googleapis to inject an xDS bootstrap to use with its channels
   even if one is already specified in the environment variable or system
   property. When the code was originally written there was a single global
   XdsClient, but since gRFC A71 Xds Fallback each target string has its own
   XdsClient and thus can have its own bootstrap
   - alts: Allow overriding metadata server address with env variable (
   9ac12ef
   
<https://github.com/grpc/grpc-java/commit/9ac12ef8981c1b73cbcc140b9600aa4611cee89a>)
   (498f717
   
<https://github.com/grpc/grpc-java/commit/498f717fcb41085c2ba0228a0e6c2d3d3c727877>
   )
   - binder: Let the server know when the client fails to authorize it. (
   #12445 <https://github.com/grpc/grpc-java/pull/12445>) (599a0a1
   
<https://github.com/grpc/grpc-java/commit/599a0a1469c3c9e773c1bd90868aa1b54f0e9072>)
   This avoids the server needing to wait for the handshake timeout before
   realizing the handshake failed

New Features

   - opentelemetry: Implement otel retry metrics from gRFC A96 (#12064
   <https://github.com/grpc/grpc-java/pull/12064>) (d380191
   
<https://github.com/grpc/grpc-java/commit/d380191bed0dfccdb6f7432270979e42399cc4b7>
   )
   - opentelemetry: propagate baggage to server metrics for custom
   attributes (#12389 <https://github.com/grpc/grpc-java/pull/12389>) (
   155308d
   
<https://github.com/grpc/grpc-java/commit/155308db2db2abcf612cc13c8360d5277753008f>
   )
   - xds: Allow EC Keys in SPIFFE Bundle Map parsing (#12399
   <https://github.com/grpc/grpc-java/pull/12399>) (559e3ba
   
<https://github.com/grpc/grpc-java/commit/559e3ba41d7ab8798a52cdd6bdd7cf762c6739d5>
   )
   - xds: Enable authority rewriting (gRFC A81), system root cert support
   (gRFC A82), GCP authentication filter (gRFC A83), and SNI (gRFC A101) (
   #12499 <https://github.com/grpc/grpc-java/pull/12499>) (246c2b1
   
<https://github.com/grpc/grpc-java/commit/246c2b1eaf963810c75dffb90464265102dafb69>).
   Authority rewriting requires the control plane to be labeled
   trusted_xds_server in the bootstrap. System root cert support and SNI
   require using XdsChannelCredentials
   - rls: Add route lookup reason to request whether it is due to a cache
   miss or stale cache entry (#12442
   <https://github.com/grpc/grpc-java/pull/12442>) (795ce02
   
<https://github.com/grpc/grpc-java/commit/795ce0280a6ca9c21eec7bb0c284914fe2dfbecd>
   )

Dependencies

   - compiler: C++ protobuf used by codegen upgraded to 26.1 (#12330
   <https://github.com/grpc/grpc-java/pull/12330>) (55aefd5
   
<https://github.com/grpc/grpc-java/commit/55aefd5b8e76a15861c5988d1d8ced0a58160303>
   )
   - alts: Remove dep on grpclb (b769f96
   
<https://github.com/grpc/grpc-java/commit/b769f966a051a6e6607bc4ddfb2a56a5964b1281>).
   ALTS is no longer used with grpclb, so this removes dead code
   - Upgrade netty to 4.1.127.Final (b37ee67
   
<https://github.com/grpc/grpc-java/commit/b37ee67cf7e657ee1835bf9b35490d640d7bd9fa>
   )

Thanks to

@panchenko <https://github.com/panchenko>
@benjaminp <https://github.com/benjaminp>
@HyunSangHan <https://github.com/HyunSangHan>
@becomeStar <https://github.com/becomeStar>
@ZachChuba <https://github.com/ZachChuba>
@oliviamariacodes <https://github.com/oliviamariacodes>
@kssumin <https://github.com/kssumin>
@laz-canva <https://github.com/laz-canva>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oNEpsCX13GZvKPrSXJcP1A%3DOj8SvGAqUC7ZbfvC%3DOTtUA%40mail.gmail.com.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to