[!WARNING]
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
grpc/grpc-java (io.grpc:grpc-netty)
### [`v1.68.1`](https://redirect.github.com/grpc/grpc-java/releases/tag/v1.68.1)
##### gRPC Java 1.68.1 Release Notes
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://redirect.github.com/grpc/grpc-java/issues/11553)). This was in 1.67.1 but not 1.68.0
##### Behavior Changes
- core: JSON parsing rejects duplicate keys in objects ([#11575](https://redirect.github.com/grpc/grpc-java/issues/11575)) ([`4be69e3`](https://redirect.github.com/grpc/grpc-java/commit/4be69e3f8)). 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://redirect.github.com/grpc/grpc-java/issues/11503)) ([`3a6be9c`](https://redirect.github.com/grpc/grpc-java/commit/3a6be9ca1)). 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://redirect.github.com/grpc/grpc-java/commit/84d30afad))
##### Improvements
- New grpc-context-override-opentelemetry artifact ([#11523](https://redirect.github.com/grpc/grpc-java/issues/11523)) ([`782a44a`](https://redirect.github.com/grpc/grpc-java/commit/782a44ad6)) ([#11599](https://redirect.github.com/grpc/grpc-java/issues/11599)) ([`e59ae5f`](https://redirect.github.com/grpc/grpc-java/commit/e59ae5fad)). 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://redirect.github.com/grpc/grpc-java/issues/11330)) ([`1ded8af`](https://redirect.github.com/grpc/grpc-java/commit/1ded8aff8))
- core: Handle NameResolver/LoadBalancer exceptions when panicking ([`b692b9d`](https://redirect.github.com/grpc/grpc-java/commit/b692b9d26)). 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://redirect.github.com/grpc/grpc-java/issues/11577)) ([`fa26a8b`](https://redirect.github.com/grpc/grpc-java/commit/fa26a8bc5))
- core: `StreamTracer.inboundMessageRead()` now reports uncompressed message size when the message does not need compression ([#11598](https://redirect.github.com/grpc/grpc-java/issues/11598)) ([`2aae68e`](https://redirect.github.com/grpc/grpc-java/commit/2aae68e11)). Previously it always reported `-1` (unknown)
- netty: Avoid TCP_USER_TIMEOUT warning when explicitly specifying a non-epoll channel type to use ([#11564](https://redirect.github.com/grpc/grpc-java/issues/11564)) ([`62f4098`](https://redirect.github.com/grpc/grpc-java/commit/62f409810))
- okhttp: Don't warn about missing Conscrypt ([`6f35422`](https://redirect.github.com/grpc/grpc-java/commit/6f3542297)). This is especially helpful when using TLS but not running on Android
- android: For `UdsChannelBuilder`, use fake IP instead of localhost ([`a908b5e`](https://redirect.github.com/grpc/grpc-java/commit/a908b5e40)). 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://redirect.github.com/grpc/grpc-java/commit/f3cf7c3c7))
- 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://redirect.github.com/grpc/grpc-java/issues/11551)) ([`99be6e9`](https://redirect.github.com/grpc/grpc-java/commit/99be6e985))
- binder: Update binderDied() error description to spell out the possibilities for those unfamiliar with Android internals. ([#11628](https://redirect.github.com/grpc/grpc-java/issues/11628)) ([`46c1b38`](https://redirect.github.com/grpc/grpc-java/commit/46c1b387f))
- example-gauth: Use application default creds instead of file argument ([#11595](https://redirect.github.com/grpc/grpc-java/issues/11595)) ([`94a0a0d`](https://redirect.github.com/grpc/grpc-java/commit/94a0a0d1c))
##### Dependencies
- Updated protobuf-java to 3.25.5. This helps avoid CVE-2024-7254 ([`2ff837a`](https://redirect.github.com/grpc/grpc-java/commit/2ff837ab6))
Thanks to:\
[@Juneezee](https://redirect.github.com/Juneezee)\
[@lgalfaso](https://redirect.github.com/lgalfaso)\
[@bestbeforetoday](https://redirect.github.com/bestbeforetoday)\
[@hlx502](https://redirect.github.com/hlx502)\
[@JoeCqupt](https://redirect.github.com/JoeCqupt)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.68.0
->1.68.1
1.68.0
->1.68.1
1.68.0
->1.68.1
1.68.0
->1.68.1
Release Notes
grpc/grpc-java (io.grpc:grpc-netty)
### [`v1.68.1`](https://redirect.github.com/grpc/grpc-java/releases/tag/v1.68.1) ##### gRPC Java 1.68.1 Release Notes 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://redirect.github.com/grpc/grpc-java/issues/11553)). This was in 1.67.1 but not 1.68.0 ##### Behavior Changes - core: JSON parsing rejects duplicate keys in objects ([#11575](https://redirect.github.com/grpc/grpc-java/issues/11575)) ([`4be69e3`](https://redirect.github.com/grpc/grpc-java/commit/4be69e3f8)). 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://redirect.github.com/grpc/grpc-java/issues/11503)) ([`3a6be9c`](https://redirect.github.com/grpc/grpc-java/commit/3a6be9ca1)). 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://redirect.github.com/grpc/grpc-java/commit/84d30afad)) ##### Improvements - New grpc-context-override-opentelemetry artifact ([#11523](https://redirect.github.com/grpc/grpc-java/issues/11523)) ([`782a44a`](https://redirect.github.com/grpc/grpc-java/commit/782a44ad6)) ([#11599](https://redirect.github.com/grpc/grpc-java/issues/11599)) ([`e59ae5f`](https://redirect.github.com/grpc/grpc-java/commit/e59ae5fad)). 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://redirect.github.com/grpc/grpc-java/issues/11330)) ([`1ded8af`](https://redirect.github.com/grpc/grpc-java/commit/1ded8aff8)) - core: Handle NameResolver/LoadBalancer exceptions when panicking ([`b692b9d`](https://redirect.github.com/grpc/grpc-java/commit/b692b9d26)). 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://redirect.github.com/grpc/grpc-java/issues/11577)) ([`fa26a8b`](https://redirect.github.com/grpc/grpc-java/commit/fa26a8bc5)) - core: `StreamTracer.inboundMessageRead()` now reports uncompressed message size when the message does not need compression ([#11598](https://redirect.github.com/grpc/grpc-java/issues/11598)) ([`2aae68e`](https://redirect.github.com/grpc/grpc-java/commit/2aae68e11)). Previously it always reported `-1` (unknown) - netty: Avoid TCP_USER_TIMEOUT warning when explicitly specifying a non-epoll channel type to use ([#11564](https://redirect.github.com/grpc/grpc-java/issues/11564)) ([`62f4098`](https://redirect.github.com/grpc/grpc-java/commit/62f409810)) - okhttp: Don't warn about missing Conscrypt ([`6f35422`](https://redirect.github.com/grpc/grpc-java/commit/6f3542297)). This is especially helpful when using TLS but not running on Android - android: For `UdsChannelBuilder`, use fake IP instead of localhost ([`a908b5e`](https://redirect.github.com/grpc/grpc-java/commit/a908b5e40)). 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://redirect.github.com/grpc/grpc-java/commit/f3cf7c3c7)) - 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://redirect.github.com/grpc/grpc-java/issues/11551)) ([`99be6e9`](https://redirect.github.com/grpc/grpc-java/commit/99be6e985)) - binder: Update binderDied() error description to spell out the possibilities for those unfamiliar with Android internals. ([#11628](https://redirect.github.com/grpc/grpc-java/issues/11628)) ([`46c1b38`](https://redirect.github.com/grpc/grpc-java/commit/46c1b387f)) - example-gauth: Use application default creds instead of file argument ([#11595](https://redirect.github.com/grpc/grpc-java/issues/11595)) ([`94a0a0d`](https://redirect.github.com/grpc/grpc-java/commit/94a0a0d1c)) ##### Dependencies - Updated protobuf-java to 3.25.5. This helps avoid CVE-2024-7254 ([`2ff837a`](https://redirect.github.com/grpc/grpc-java/commit/2ff837ab6)) Thanks to:\ [@Juneezee](https://redirect.github.com/Juneezee)\ [@lgalfaso](https://redirect.github.com/lgalfaso)\ [@bestbeforetoday](https://redirect.github.com/bestbeforetoday)\ [@hlx502](https://redirect.github.com/hlx502)\ [@JoeCqupt](https://redirect.github.com/JoeCqupt)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.