gRPC Java version 1.83.0 has been released.gRPC Java 1.83.0 Release Notes
<https://github.com/grpc/grpc-java/releases#release-v1.83.0>API Changes
-
api: Turn on RFC 3986 parsing by default and update javadoc.
(4456721328)
-
api: Add Grpc.newChannelBuilder accepting NameResolverRegistry (#11901)
(2b86f8f42f). This allows users to explicitly provide a
NameResolverRegistry during channel creation rather than relying on the
global registry, offering better isolation and control over name resolution
per-channel.
Behavior Changes
-
okhttp: enable TLS 1.3 for servers on Android (3018ce341c). v1.82.0
enabled TLS 1.3 for clients; this does the same for servers
-
xds: enable orca to lrs propagation by default (#12836) (1e85674a40)
Enables xDS configuration to control which fields get propagated from ORCA
backend metric reports to LRS load reports as per gRFC A85
-
xds: Use leaf cluster name for backend service label in metrics,
instead of aggregate cluster name (#12882) (c8079eed98). This only has an
effect when using aggregate clusters
-
xds: Hold parsed service config in CdsUpdate (3db3235ebd). Previously,
modifications to LoadBalancerRegistry could cause failures in the LB tree
-
xds: Revert "xds: reuse connections to the control plane across
channels" added in 1.81.0 (d49c0b15d8). If using xds heavily with many
targets, then MAX_CONCURRENT_STREAMS to the control plane could be
exceeded. This then prevents loading resources for new targets, which
causes those channels to hang on name resolution. RPCs would see the
nondescript "DEADLINE_EXCEEDED: Deadline Context was exceeded after Xs" or
"DEADLINE_EXCEEDED: Deadline CallOptions was exceeded after Xs"
Improvements
-
api: Move attributes to the end of ResolvedAddresses.toString(), for
better legibility (103bd4b852)
-
core: normalize service config number values (#12826) (663c505dbd) This
updates default service config validation to accept numeric values
represented as Number, not only Double. Common JSON parsers may deserialize
integer-looking JSON values such as maxAttempts: 4 and backoffMultiplier: 2
as Integer, which previously caused defaultServiceConfig() to fail with
IllegalArgumentException. The values are normalized to Double when copied
into the validated service config, preserving the existing internal
representation expected by the service config parsing code.
-
core: DEADLINE_EXCEEDED before initial name resolution completes will
now mention “name_resolver” in the error description (56d2b25eb5).
Previously there was not a hint as to what gRPC was delayed on when the
deadline was exceeded.
-
netty: Reduce TcpMetrics log from INFO to FINE (4ec83df1eb). This
removes unnecessary log noise
-
core: Enable child channel plugins (#12578) (89aef90d52). This
introduces the ChildChannelConfigurer API to allow intercepting and
customizing the configuration (such as injecting interceptors or modifying
credentials) of child channels created dynamically by load balancers.
Dependencies
-
Upgrade to Netty 4.2.15 (66c6ab1da6). If you need Netty 4.1 support,
please file an issue
-
Upgrade codegen plugin to C++ Protobuf 35.1 (#12876) (c886f0a06b)
-
Upgrade various dependencies (064272c61d):
-
gson to 2.14.0
-
guava to 33.6.0
-
cel-java to 0.13.0
-
protobuf-java to 3.25.9
-
error-prone-annotations to 2.50.0
-
opentelemetry to 1.63.0
Documentation
-
Document how to build with Bazel and introduce bazel support for
building android and binder (#12811) (f94574eff7)
Thanks to
tian__mi__mi@
codingkiddo@
Zhengcy05@
--
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/CAEBMeGv2bYkGXhoH3AKo7pgrS4dN5WjNJA2KuwURoquiYhrN_A%40mail.gmail.com.