grpc/grpc-java (io.grpc:grpc-stub)
### [`v1.64.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.64.0)
##### API Changes
- compiler: the option `jakarta_omit` was renamed `@generated=omit` ([#11086](https://togithub.com/grpc/grpc-java/issues/11086)) ([`8a21afc`](https://togithub.com/grpc/grpc-java/commit/8a21afcc9))
##### New Features
- New API LoadBalancer.getChannelTarget() ([`4561bb5`](https://togithub.com/grpc/grpc-java/commit/4561bb5b8))
- opentelemetry: Publish new module grpc-opentelemetry ([`5ba1a55`](https://togithub.com/grpc/grpc-java/commit/5ba1a5563)). The feature is still missing documentation and an example. It only supports metrics; tracing and logs will be future enhancements. See [gRFC A66](https://togithub.com/grpc/proposal/blob/master/A66-otel-stats.md)
- bazel: Add support for bzlmod ([#11046](https://togithub.com/grpc/grpc-java/issues/11046)) ([`d1890c0`](https://togithub.com/grpc/grpc-java/commit/d1890c0ac))
- bazel: Replace usages of the old compatibility maven targets with `@maven` targets ([`0064991`](https://togithub.com/grpc/grpc-java/commit/00649913b))
- okhttp: Support serverBuilder.maxConcurrentCallsPerConnection (Fixes [#11062](https://togithub.com/grpc/grpc-java/issues/11062)). ([#11063](https://togithub.com/grpc/grpc-java/issues/11063)) ([`8050723`](https://togithub.com/grpc/grpc-java/commit/805072339))
- xds: Experimental metrics recording in WRR LB ([`06df25b`](https://togithub.com/grpc/grpc-java/commit/06df25b65), [`35a171b`](https://togithub.com/grpc/grpc-java/commit/35a171bc1), [`2897b39`](https://togithub.com/grpc/grpc-java/commit/2897b3939)), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry. See [gRFC A78](https://togithub.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md)
- rls: Experimental metrics recording in RLS LB ([`a9fb272`](https://togithub.com/grpc/grpc-java/commit/a9fb272b7), [`a1d1932`](https://togithub.com/grpc/grpc-java/commit/a1d19327f), [`8133318`](https://togithub.com/grpc/grpc-java/commit/813331837)), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry
##### Improvements
- examples: support bazel build for retry policy example ([`58de563`](https://togithub.com/grpc/grpc-java/commit/58de563fa))
- netty: Allow deframer errors to close stream with a status code, as long as headers have not yet been sent ([`e036b1b`](https://togithub.com/grpc/grpc-java/commit/e036b1b19)). This will greatly improve the debuggability of certain server errors in particular cases. Instead of the client seeing “CANCELLED: RST_STREAM closed stream. HTTP/2 error code: CANCEL”, they could see “RESOURCE_EXHAUSTED: gRPC message exceeds maximum size [`4194304`](https://togithub.com/grpc/grpc-java/commit/4194304): [`6144592`](https://togithub.com/grpc/grpc-java/commit/6144592)”
- netty: Improve handling of unexpected write queue promise failures ([#11016](https://togithub.com/grpc/grpc-java/issues/11016))
- servlet: Avoid unnecessary FINEST hex string conversion by checking log level. Fixes [#11031](https://togithub.com/grpc/grpc-java/issues/11031). ([`f7ee5f3`](https://togithub.com/grpc/grpc-java/commit/f7ee5f318))
- StatusException/StatusRuntimeException hide stack trace in a simpler way ([#11064](https://togithub.com/grpc/grpc-java/issues/11064)) ([`e36f099`](https://togithub.com/grpc/grpc-java/commit/e36f099be))
- util: Status desc for outlier detection ejection ([#11036](https://togithub.com/grpc/grpc-java/issues/11036)) ([`10cb4a3`](https://togithub.com/grpc/grpc-java/commit/10cb4a3be))
- binder: Helper class to allow in process servers to use peer uids in test ([#11014](https://togithub.com/grpc/grpc-java/issues/11014)) ([`537dbe8`](https://togithub.com/grpc/grpc-java/commit/537dbe826))
- Add `load()` statements for the Bazel builtin top-level java symbols ([#11105](https://togithub.com/grpc/grpc-java/issues/11105)) ([`add8c37`](https://togithub.com/grpc/grpc-java/commit/add8c37a4))
- Add `StatusProto.toStatusException` overload to accept `Throwable` ([#11083](https://togithub.com/grpc/grpc-java/issues/11083)) ([`5c9b492`](https://togithub.com/grpc/grpc-java/commit/5c9b49231))
##### Bug fixes
- Fix retry race condition that can lead to double decrementing inFlightSubStreams and so miss calling closed ([#11026](https://togithub.com/grpc/grpc-java/issues/11026)) ([`bdb6230`](https://togithub.com/grpc/grpc-java/commit/bdb623031))
- Change defaults to use the older PickFirstLoadBalancer and disable Happy Eyeballs. This disables a performance optimization added in v1.63. ([#11120](https://togithub.com/grpc/grpc-java/issues/11120)) We have had a report that the new implementation can trigger a NullPointerException
- core: Transition to CONNECTING immediately when exiting idle ([`2c5f0c2`](https://togithub.com/grpc/grpc-java/commit/2c5f0c22c)). Previously the visible state change from `channel.getState()` was delayed until the name resolver returned results. This had no impact to RPC behavior
- xds: Specify a locale for upper/lower case conversions ([`e630593`](https://togithub.com/grpc/grpc-java/commit/e6305930d))
- rls: Synchronization fixes in CachingRlsLbClient ([`6e97b18`](https://togithub.com/grpc/grpc-java/commit/6e97b180b)). These races had not been witnessed in practice
- rls: Guarantee backoff will update RLS picker ([`f9b6e5f`](https://togithub.com/grpc/grpc-java/commit/f9b6e5f92)). This fixes a regression introduced by [`6e97b18`](https://togithub.com/grpc/grpc-java/commit/6e97b180b) that could hang RPCs instead of using fallback, but fixes a pre-existing bug that could greatly delay RPCs from using fallback.
- rls: Fix time handling in CachingRlsLbClient ([`da619e2`](https://togithub.com/grpc/grpc-java/commit/da619e2bd)). This could have caused backoff entries to improperly be considered expired
- xds: Properly disable the default endpoint identification algorithm with XdsChannelCredentials ([`097a46b`](https://togithub.com/grpc/grpc-java/commit/097a46b76)). The credential does its own verification and the default needs to be disabled for SPIFFE
- netty: Release SendGrpcFrameCommand when stream is missing ([#11116](https://togithub.com/grpc/grpc-java/issues/11116)) ([`fb9a108`](https://togithub.com/grpc/grpc-java/commit/fb9a10809))
- okhttp: Remove finished stream even if a pending stream was started ([`d21fe32`](https://togithub.com/grpc/grpc-java/commit/d21fe32be))
##### Dependencies
- cronet: Update Cronet to latest release + Move to Stable Cronet APIs. ([`5a8da19`](https://togithub.com/grpc/grpc-java/commit/5a8da19f3))
- cronet: [@javadoc](https://togithub.com/javadoc) update android permission MODIFY_NETWORK_ACCOUNTING (deprecated) => UPDATE_DEVICE_STATS ([`c703a1e`](https://togithub.com/grpc/grpc-java/commit/c703a1ee0))
- cronet: Update to Java-8 API's and tighten the scopes ([`163efa3`](https://togithub.com/grpc/grpc-java/commit/163efa371))
- cronet: Update to StandardCharsets and assertNotNull API's ([`77e59b2`](https://togithub.com/grpc/grpc-java/commit/77e59b29d))
##### Acknowledgements
[@panchenko](https://togithub.com/panchenko)
[@Ashok-Varma](https://togithub.com/Ashok-Varma)
[@benjaminp](https://togithub.com/benjaminp)
[@AutomatedTester](https://togithub.com/AutomatedTester)
[@hypnoce](https://togithub.com/hypnoce)
[@keith](https://togithub.com/keith)
[@laglangyue](https://togithub.com/laglangyue)
[@rostik404](https://togithub.com/rostik404)
[@ryanpbrewster](https://togithub.com/ryanpbrewster)
[@abtom](https://togithub.com/abtom)
[@hvadehra](https://togithub.com/hvadehra)
[@rtadepalli](https://togithub.com/rtadepalli)
### [`v1.63.1`](https://togithub.com/grpc/grpc-java/releases/tag/v1.63.1)
##### Bug fixes
- netty: Release SendGrpcFrameCommand when stream is missing ([#11116](https://togithub.com/grpc/grpc-java/issues/11116)) ([`fb9a108`](https://togithub.com/grpc/grpc-java/commit/fb9a10809))
- Change defaults to use the older PickFirstLoadBalancer and disable Happy Eyeballs. This disables a performance optimization added in v1.63.0 ([#11120](https://togithub.com/grpc/grpc-java/issues/11120)) We have had a report that the new implementation can trigger a NullPointerException
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-core)
### [`v1.8.1`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-181)
[Compare Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1)
- Remove the `@ExperimentalTime` annotation from usages of `TimeSource` ([#4046](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4046)). Thanks, [@hfhbd](https://togithub.com/hfhbd)!
- Introduce a workaround for an Android bug that caused an occasional `NullPointerException` when setting the `StateFlow` value on old Android devices ([#3820](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3820)).
- No longer use `kotlin.random.Random` as part of `Dispatchers.Default` and `Dispatchers.IO` initialization ([#4051](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4051)).
- `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)).
- Small tweaks and documentation fixes.
##### Changelog relative to version 1.8.1-Beta
- `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)).
- Small documentation fixes.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.63.0
->1.64.0
1.63.0
->1.64.0
1.63.0
->1.64.0
1.8.0
->1.8.1
Release Notes
grpc/grpc-java (io.grpc:grpc-stub)
### [`v1.64.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.64.0) ##### API Changes - compiler: the option `jakarta_omit` was renamed `@generated=omit` ([#11086](https://togithub.com/grpc/grpc-java/issues/11086)) ([`8a21afc`](https://togithub.com/grpc/grpc-java/commit/8a21afcc9)) ##### New Features - New API LoadBalancer.getChannelTarget() ([`4561bb5`](https://togithub.com/grpc/grpc-java/commit/4561bb5b8)) - opentelemetry: Publish new module grpc-opentelemetry ([`5ba1a55`](https://togithub.com/grpc/grpc-java/commit/5ba1a5563)). The feature is still missing documentation and an example. It only supports metrics; tracing and logs will be future enhancements. See [gRFC A66](https://togithub.com/grpc/proposal/blob/master/A66-otel-stats.md) - bazel: Add support for bzlmod ([#11046](https://togithub.com/grpc/grpc-java/issues/11046)) ([`d1890c0`](https://togithub.com/grpc/grpc-java/commit/d1890c0ac)) - bazel: Replace usages of the old compatibility maven targets with `@maven` targets ([`0064991`](https://togithub.com/grpc/grpc-java/commit/00649913b)) - okhttp: Support serverBuilder.maxConcurrentCallsPerConnection (Fixes [#11062](https://togithub.com/grpc/grpc-java/issues/11062)). ([#11063](https://togithub.com/grpc/grpc-java/issues/11063)) ([`8050723`](https://togithub.com/grpc/grpc-java/commit/805072339)) - xds: Experimental metrics recording in WRR LB ([`06df25b`](https://togithub.com/grpc/grpc-java/commit/06df25b65), [`35a171b`](https://togithub.com/grpc/grpc-java/commit/35a171bc1), [`2897b39`](https://togithub.com/grpc/grpc-java/commit/2897b3939)), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry. See [gRFC A78](https://togithub.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md) - rls: Experimental metrics recording in RLS LB ([`a9fb272`](https://togithub.com/grpc/grpc-java/commit/a9fb272b7), [`a1d1932`](https://togithub.com/grpc/grpc-java/commit/a1d19327f), [`8133318`](https://togithub.com/grpc/grpc-java/commit/813331837)), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry ##### Improvements - examples: support bazel build for retry policy example ([`58de563`](https://togithub.com/grpc/grpc-java/commit/58de563fa)) - netty: Allow deframer errors to close stream with a status code, as long as headers have not yet been sent ([`e036b1b`](https://togithub.com/grpc/grpc-java/commit/e036b1b19)). This will greatly improve the debuggability of certain server errors in particular cases. Instead of the client seeing “CANCELLED: RST_STREAM closed stream. HTTP/2 error code: CANCEL”, they could see “RESOURCE_EXHAUSTED: gRPC message exceeds maximum size [`4194304`](https://togithub.com/grpc/grpc-java/commit/4194304): [`6144592`](https://togithub.com/grpc/grpc-java/commit/6144592)” - netty: Improve handling of unexpected write queue promise failures ([#11016](https://togithub.com/grpc/grpc-java/issues/11016)) - servlet: Avoid unnecessary FINEST hex string conversion by checking log level. Fixes [#11031](https://togithub.com/grpc/grpc-java/issues/11031). ([`f7ee5f3`](https://togithub.com/grpc/grpc-java/commit/f7ee5f318)) - StatusException/StatusRuntimeException hide stack trace in a simpler way ([#11064](https://togithub.com/grpc/grpc-java/issues/11064)) ([`e36f099`](https://togithub.com/grpc/grpc-java/commit/e36f099be)) - util: Status desc for outlier detection ejection ([#11036](https://togithub.com/grpc/grpc-java/issues/11036)) ([`10cb4a3`](https://togithub.com/grpc/grpc-java/commit/10cb4a3be)) - binder: Helper class to allow in process servers to use peer uids in test ([#11014](https://togithub.com/grpc/grpc-java/issues/11014)) ([`537dbe8`](https://togithub.com/grpc/grpc-java/commit/537dbe826)) - Add `load()` statements for the Bazel builtin top-level java symbols ([#11105](https://togithub.com/grpc/grpc-java/issues/11105)) ([`add8c37`](https://togithub.com/grpc/grpc-java/commit/add8c37a4)) - Add `StatusProto.toStatusException` overload to accept `Throwable` ([#11083](https://togithub.com/grpc/grpc-java/issues/11083)) ([`5c9b492`](https://togithub.com/grpc/grpc-java/commit/5c9b49231)) ##### Bug fixes - Fix retry race condition that can lead to double decrementing inFlightSubStreams and so miss calling closed ([#11026](https://togithub.com/grpc/grpc-java/issues/11026)) ([`bdb6230`](https://togithub.com/grpc/grpc-java/commit/bdb623031)) - Change defaults to use the older PickFirstLoadBalancer and disable Happy Eyeballs. This disables a performance optimization added in v1.63. ([#11120](https://togithub.com/grpc/grpc-java/issues/11120)) We have had a report that the new implementation can trigger a NullPointerException - core: Transition to CONNECTING immediately when exiting idle ([`2c5f0c2`](https://togithub.com/grpc/grpc-java/commit/2c5f0c22c)). Previously the visible state change from `channel.getState()` was delayed until the name resolver returned results. This had no impact to RPC behavior - xds: Specify a locale for upper/lower case conversions ([`e630593`](https://togithub.com/grpc/grpc-java/commit/e6305930d)) - rls: Synchronization fixes in CachingRlsLbClient ([`6e97b18`](https://togithub.com/grpc/grpc-java/commit/6e97b180b)). These races had not been witnessed in practice - rls: Guarantee backoff will update RLS picker ([`f9b6e5f`](https://togithub.com/grpc/grpc-java/commit/f9b6e5f92)). This fixes a regression introduced by [`6e97b18`](https://togithub.com/grpc/grpc-java/commit/6e97b180b) that could hang RPCs instead of using fallback, but fixes a pre-existing bug that could greatly delay RPCs from using fallback. - rls: Fix time handling in CachingRlsLbClient ([`da619e2`](https://togithub.com/grpc/grpc-java/commit/da619e2bd)). This could have caused backoff entries to improperly be considered expired - xds: Properly disable the default endpoint identification algorithm with XdsChannelCredentials ([`097a46b`](https://togithub.com/grpc/grpc-java/commit/097a46b76)). The credential does its own verification and the default needs to be disabled for SPIFFE - netty: Release SendGrpcFrameCommand when stream is missing ([#11116](https://togithub.com/grpc/grpc-java/issues/11116)) ([`fb9a108`](https://togithub.com/grpc/grpc-java/commit/fb9a10809)) - okhttp: Remove finished stream even if a pending stream was started ([`d21fe32`](https://togithub.com/grpc/grpc-java/commit/d21fe32be)) ##### Dependencies - cronet: Update Cronet to latest release + Move to Stable Cronet APIs. ([`5a8da19`](https://togithub.com/grpc/grpc-java/commit/5a8da19f3)) - cronet: [@javadoc](https://togithub.com/javadoc) update android permission MODIFY_NETWORK_ACCOUNTING (deprecated) => UPDATE_DEVICE_STATS ([`c703a1e`](https://togithub.com/grpc/grpc-java/commit/c703a1ee0)) - cronet: Update to Java-8 API's and tighten the scopes ([`163efa3`](https://togithub.com/grpc/grpc-java/commit/163efa371)) - cronet: Update to StandardCharsets and assertNotNull API's ([`77e59b2`](https://togithub.com/grpc/grpc-java/commit/77e59b29d)) ##### Acknowledgements [@panchenko](https://togithub.com/panchenko) [@Ashok-Varma](https://togithub.com/Ashok-Varma) [@benjaminp](https://togithub.com/benjaminp) [@AutomatedTester](https://togithub.com/AutomatedTester) [@hypnoce](https://togithub.com/hypnoce) [@keith](https://togithub.com/keith) [@laglangyue](https://togithub.com/laglangyue) [@rostik404](https://togithub.com/rostik404) [@ryanpbrewster](https://togithub.com/ryanpbrewster) [@abtom](https://togithub.com/abtom) [@hvadehra](https://togithub.com/hvadehra) [@rtadepalli](https://togithub.com/rtadepalli) ### [`v1.63.1`](https://togithub.com/grpc/grpc-java/releases/tag/v1.63.1) ##### Bug fixes - netty: Release SendGrpcFrameCommand when stream is missing ([#11116](https://togithub.com/grpc/grpc-java/issues/11116)) ([`fb9a108`](https://togithub.com/grpc/grpc-java/commit/fb9a10809)) - Change defaults to use the older PickFirstLoadBalancer and disable Happy Eyeballs. This disables a performance optimization added in v1.63.0 ([#11120](https://togithub.com/grpc/grpc-java/issues/11120)) We have had a report that the new implementation can trigger a NullPointerExceptionKotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-core)
### [`v1.8.1`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-181) [Compare Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1) - Remove the `@ExperimentalTime` annotation from usages of `TimeSource` ([#4046](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4046)). Thanks, [@hfhbd](https://togithub.com/hfhbd)! - Introduce a workaround for an Android bug that caused an occasional `NullPointerException` when setting the `StateFlow` value on old Android devices ([#3820](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3820)). - No longer use `kotlin.random.Random` as part of `Dispatchers.Default` and `Dispatchers.IO` initialization ([#4051](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4051)). - `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small tweaks and documentation fixes. ##### Changelog relative to version 1.8.1-Beta - `Flow.timeout` throws the exception with which the channel was closed ([#4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)). - Small documentation fixes.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.