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

v1.68.0 was a mistake. This is the first release of version 1.68.x
Bug Fixes

   - xds: Fix NullPointerException introduced in "Fix load reporting when
   pick first is used for locality-routing" (#11553
   <https://github.com/grpc/grpc-java/pull/11553>). This was in 1.67.1 but
   not 1.68.0

Behavior Changes

   - core: JSON parsing rejects duplicate keys in objects (#11575
   <https://github.com/grpc/grpc-java/pull/11575>) (4be69e3
   
<https://github.com/grpc/grpc-java/commit/4be69e3f8a9c70ec36234d6373c9854eab6e9027>).
   This is the existing behavior in C core. Duplicate keys in objects are
   dangerous as which value takes effect is undefined. Previously, the last
   value was used
   - okhttp: Detect transport executors with no remaining threads (#11503
   <https://github.com/grpc/grpc-java/pull/11503>) (3a6be9c
   
<https://github.com/grpc/grpc-java/commit/3a6be9ca1e9c8efed109b97546730852b2ab134b>).
   The transport uses two threads, but one is on-demand. If the executor
   provided to builder.transportExecutor() runs out of threads (e.g., it is
   a fixed-size thread pool), *all* transports can be wedged, unable to run
   on-demand tasks, until keepalive kills one of them. Two threads are now
   used when handshaking a new transport, and the transport will time out
   after 1 second with “Timed out waiting for second handshake thread” if two
   threads are unavailable
   - gcp-csm-o11y: Get mesh_id value from CSM_MESH_ID environment variable,
   instead of getting it from bootstrap file (84d30af
   
<https://github.com/grpc/grpc-java/commit/84d30afad6fb966ab9b59fff0b381cc57129d958>
   )

Improvements

   - New grpc-context-override-opentelemetry artifact (#11523
   <https://github.com/grpc/grpc-java/pull/11523>) (782a44a
   
<https://github.com/grpc/grpc-java/commit/782a44ad62f84d19291b0771b56b431e6e723752>)
   (#11599 <https://github.com/grpc/grpc-java/pull/11599>) (e59ae5f
   
<https://github.com/grpc/grpc-java/commit/e59ae5fad0efa8702260790eb74c76643a8e4018>).
   This is a io.grpc.Context storage override to store its state in
   io.opentelemetry.context.Context. Libraries should not add a dependency
   on this artifact, as applications can only have one storage override in
   their classpath
   - New grpc-s2a artifact. It is a transport that offloads the handshake
   similar to ALTS, but for TLS. It provides
   io.grpc.s2a.S2AChannelCredentials
   - api: Enhance name resolver `ResolutionResult` to hold addresses or
   error so the single listener API *onResult2* is used to convey both
   success and error cases for name resolution (#11330
   <https://github.com/grpc/grpc-java/pull/11330>) (1ded8af
   
<https://github.com/grpc/grpc-java/commit/1ded8aff814d4064902337f264acec8b5cde419c>
   )
   - core: Handle NameResolver/LoadBalancer exceptions when panicking (
   b692b9d
   
<https://github.com/grpc/grpc-java/commit/b692b9d26ebd5fc9df711ce9412bba8956b07969>).
   This expands the class of bugs that will fail RPCs with the panic error,
   versus some undefined behavior
   - core: Use the default service config in case of initial name resolver
   address resolution error (#11577
   <https://github.com/grpc/grpc-java/pull/11577>) (fa26a8b
   
<https://github.com/grpc/grpc-java/commit/fa26a8bc5e8f5f465e1d55de922be1b6b936f47f>
   )
   - core: StreamTracer.inboundMessageRead() now reports uncompressed
   message size when the message does not need compression (#11598
   <https://github.com/grpc/grpc-java/pull/11598>) (2aae68e
   
<https://github.com/grpc/grpc-java/commit/2aae68e11726e35576d78f8e568f9e389ed330bc>).
   Previously it always reported -1 (unknown)
   - netty: Avoid TCP_USER_TIMEOUT warning when explicitly specifying a
   non-epoll channel type to use (#11564
   <https://github.com/grpc/grpc-java/pull/11564>) (62f4098
   
<https://github.com/grpc/grpc-java/commit/62f409810d48bbae9fdd111217e7b2b85d377e60>
   )
   - okhttp: Don't warn about missing Conscrypt (6f35422
   
<https://github.com/grpc/grpc-java/commit/6f3542297c2fb46a38cab65d510fc2ce76200045>).
   This is especially helpful when using TLS but not running on Android
   - android: For UdsChannelBuilder, use fake IP instead of localhost (
   a908b5e
   
<https://github.com/grpc/grpc-java/commit/a908b5e40db86c533a9f3245d14c15fdecf30378>).
   This avoids an unnecessary DNS lookup
   - xds: Add xDS node ID in select control plane errors to enable
   cross-referencing with control plane logs when debugging (f3cf7c3
   
<https://github.com/grpc/grpc-java/commit/f3cf7c3c75a2dd80b5e852b42efb6dc41e0d073a>
   )
   - xds: Enhanced how ADS stream terminations are handled, specifically
   addressing cases where a response has or hasn't been received (#2e9c3e19f)
   - binder: Update status code documentation for Android 11's package
   visibility rules. (#11551 <https://github.com/grpc/grpc-java/pull/11551>)
   (99be6e9
   
<https://github.com/grpc/grpc-java/commit/99be6e9852817fa5b85e0634984020d766e50d1f>
   )
   - binder: Update binderDied() error description to spell out the
   possibilities for those unfamiliar with Android internals. (#11628
   <https://github.com/grpc/grpc-java/pull/11628>) (46c1b38
   
<https://github.com/grpc/grpc-java/commit/46c1b387fa547038dbfb2f6ecd236ed3e4b757e3>
   )
   - example-gauth: Use application default creds instead of file argument (
   #11595 <https://github.com/grpc/grpc-java/pull/11595>) (94a0a0d
   
<https://github.com/grpc/grpc-java/commit/94a0a0d1c7af25aaf46f6f36353afc16e45f6b2b>
   )
   - opentelemetry: Experimental OpenTelemetry tracing is available. Set
   the GRPC_EXPERIMENTAL_ENABLE_OTEL_TRACING environment variable to true
   to enable tracing support in GrpcOpenTelemetry (#11409
   <https://github.com/grpc/grpc-java/pull/11409>, #11477
   <https://github.com/grpc/grpc-java/pull/11477>)(043ba55
   
<https://github.com/grpc/grpc-java/commit/043ba556b89eb7b700c825bb09bed6e7fb038608>,
   421e237
   
<https://github.com/grpc/grpc-java/commit/421e2371e9136a768fa878318af4a96b4d11f784>
   )

Dependencies

   - Updated protobuf-java to 3.25.5. This helps avoid CVE-2024-7254
   <https://github.com/advisories/GHSA-735f-pc8j-v9w8> (2ff837a
   
<https://github.com/grpc/grpc-java/commit/2ff837ab6007baf41c75a04dc31bcdbb96fa1a3c>
   )

Thanks to:
@Juneezee <https://github.com/Juneezee>
@lgalfaso <https://github.com/lgalfaso>
@bestbeforetoday <https://github.com/bestbeforetoday>
@hlx502 <https://github.com/hlx502>
@JoeCqupt <https://github.com/JoeCqupt>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oM-kmGrOZkiMytj3w47LFOJ7iKcq2rmTtrZ7D9UfkXYfA%40mail.gmail.com.

Reply via email to