gRPC Java 1.47.0 is released and is available on Maven Central.
https://github.com/grpc/grpc-java/releases/tag/v1.47.0

*Bug Fixes*

   - api: Ignore ClassCastExceptions for hard-coded providers on Android (
   #9174 <https://github.com/grpc/grpc-java/pull/9174>). This 
   avoids ServiceConfigurationError in certain cases when an “SDK” includes a 
   copy of gRPC that was renamed with Proguard-like tools that do precise 
   class name rewriting (versus something like Maven Shade Plugin which uses 
   coarse pattern matching)
   - binder: respect requested message limits when provide received 
   messages to listener (#9163 <https://github.com/grpc/grpc-java/pull/9163>
   )
   - binder: Avoid an ISE from asAndroidAppUri() (#9169 
   <https://github.com/grpc/grpc-java/pull/9169>)
   - okhttp: Use the user-provided ScheduledExecutorService for keepalive 
   if provided. Previously the user-provided executor was used for deadlines, 
   but not keepalive. Keepalive always used the default executor (#9073 
   <https://github.com/grpc/grpc-java/pull/9073>)
   - bom: Reverted “bom: Removed protoc-gen-grpc-java from the BOM” in 
   v1.46.0. There was a way to use it with Gradle (#9154 
   <https://github.com/grpc/grpc-java/pull/9154>)
   - build: fix grpc-java build against protobuf 3.21 (#9218 
   <https://github.com/grpc/grpc-java/pull/9218>)
   - grpclb: Adds missing META-INF resources to libgrpclb.jar produced by 
   bazel //grpclb:grpclb target (#9156 
   <https://github.com/grpc/grpc-java/pull/9156>)
   - xds: Protect xdstp processing with federation env var. If the xds 
   server uses xdstp:// resource names it was possible for federation code 
   paths to be entered even without enabling the experimental federation 
   support. This is now fixed and it is safe for xds servers to use xdstp:// 
   resource names. (#9190 <https://github.com/grpc/grpc-java/pull/9190>)
   - xds: fix bugs in ring-hash load balancer picking subchannel behavior 
   per gRFC. The bug may cause connection not failing over 
   from TRANSIENT_FAILURE status. (#9085 
   <https://github.com/grpc/grpc-java/pull/9085>)
   - xds: NACK EDS resources with duplicate localities in the same priority 
   (#9119 <https://github.com/grpc/grpc-java/pull/9119>)

*New Features*

   - api: Add connection management APIs to ServerBuilder (#9176 
   <https://github.com/grpc/grpc-java/pull/9176>). This includes methods 
   for keepalive, max connection age, and max connection idle. These APIs have 
   been available on NettyServerBuilder since v1.4.0
   - api: allow NameResolver to influence which transport to use (#9076 
   <https://github.com/grpc/grpc-java/pull/9076>)
   - api: New API in ServerCall to expose SecurityLevel on server-side (
   #8943 <https://github.com/grpc/grpc-java/pull/8943>)
   - netty: Add NameResolver for unix: scheme, as defined in gRPC Name 
   Resolution <https://github.com/grpc/grpc/blob/master/doc/naming.md> (
   #9113 <https://github.com/grpc/grpc-java/pull/9113>)
   - binder: add allOf security policy, which allows access iff ALL given 
   security policies allow access. (#9125 
   <https://github.com/grpc/grpc-java/pull/9125>)
   - binder: add anyOf security policy, which allows access if ANY given 
   security policy allows access. (#9147 
   <https://github.com/grpc/grpc-java/pull/9147>)
   - binder: add hasPermissions security policy, which checks that a caller 
   has all of the given package permissions. (#9117 
   <https://github.com/grpc/grpc-java/pull/9117>)
   - build: Add Bazel build support for xds, googleapis, rls, and services. 
   grpc-services previously had partial bazel support, but some parts were 
   missing. These artifacts are now configured 
   via IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS so maven_install will not use the 
   artifacts from Maven Central (#9172 
   <https://github.com/grpc/grpc-java/pull/9172>)
   - xds: New ability to configure custom load balancer implementations via 
   the xDS Cluster.load_balancing_policy field. This implements gRFC A52: 
   gRPC xDS Custom Load Balancer Configuration 
   
<https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md>. 
   (#9141 <https://github.com/grpc/grpc-java/pull/9141>)
   - xds, orca: add support for custom backend metrics reporting: allow 
   setting metrics at gRPC server and consuming metrics reports from a custom 
   load balancing policy at the client. This implements gRFC A51: Custom 
   Backend Metrics Support 
   <https://github.com/grpc/proposal/blob/master/A51-custom-backend-metrics.md>
   .
   - xds: include node ID in RPC failure status messages from the XdsClient 
   (#9099 <https://github.com/grpc/grpc-java/pull/9099>)
   - xds: support for the is_optional logic in Cluster Specifier Plugins: 
   if an unsupported Cluster Specifier Plugin is optional, don't NACK, and 
   skip any routes that point to it. (#9168 
   <https://github.com/grpc/grpc-java/pull/9168>)

*Behavior Changes*

   - xds: Allow unspecified listener traffic direction, to match other 
   languages and to work with Istio (#9173 
   <https://github.com/grpc/grpc-java/pull/9173>)
   - xds: change priority load balancer failover time behavior 
   and ring_hash LB aggregation rule to better handle transient_failure 
   channel status (#9084 <https://github.com/grpc/grpc-java/pull/9084>, 
   #9093 <https://github.com/grpc/grpc-java/pull/9093>)

*Dependencies*

   - Bump GSON to 2.9.0. Earlier versions of GSON are affected by 
   CVE-2022-25647 <https://nvd.nist.gov/vuln/detail/CVE-2022-25647>. gRPC 
   was not impacted by the vulnerability. (#9215 
   <https://github.com/grpc/grpc-java/pull/9215>)
   - gcp-observability: add grpc-census as a dependency and update 
   opencensus version (#9140 <https://github.com/grpc/grpc-java/pull/9140>)

*Acknowledgements*

@caseyduquettesc <https://github.com/caseyduquettesc>
@cfredri4 <https://github.com/cfredri4>
@jvolkman <https://github.com/jvolkman>
@mirlord <https://github.com/mirlord>
@ovidiutirla <https://github.com/ovidiutirla>

-- 
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 on the web visit 
https://groups.google.com/d/msgid/grpc-io/c353e506-3a83-4972-9472-634b947a7217n%40googlegroups.com.

Reply via email to