gRPC Java 1.38.0 is released and is available on Maven Central.
https://github.com/grpc/grpc-java/releases/tag/v1.38.0
API Changes

   - services: move classes with protobuf dependency into
   io.grpc.protobuf.services. Users currently using BinaryLogging,
   HealthChecking, Channelz should migrate to use the corresponding classes in
   io.grpc.protobuf.services. (#8056
   <https://github.com/grpc/grpc-java/pull/8056>)
   - ChannelCredentials and ServerCredentials and are now stable. Notably,
   this also includes TlsChannelCredentials and TlsServerCredentials that
   allow mTLS configuration without a direct dependency on Netty. The
   description of the new API can be found in gRFC L74
   
<https://github.com/grpc/proposal/blob/master/L74-java-channel-creds.md#proposal>.
   These APIs are intended to “replace” the implicit security defaults of
   channels/servers as well as the usePlaintext() and
useTransportSecurity() methods
   on the channel and server builders. The previous APIs are stable so will
   not be removed. Over time, documentation and examples will be migrated to
   the new API

Bug Fixes

   - xds: Fixed a bug that xDS users may experience null pointer exception
   in rare cases (#8087 <https://github.com/grpc/grpc-java/pull/8087>)
   - netty: Fixed a bug that client RPCs may fail with a wrong exception
   with message "Maximum active streams violated for this endpoint" when
   receiving GOAWAY while MAX_CONCURRENT_STREAMS is reached. After the fix the
   client RPC should fail with UNAVAILABLE status in such a scenario. (#8020
   <https://github.com/grpc/grpc-java/pull/8020>)
   - xds: Fixed a bug that xDS LB policies may process and propagate load
   balancing state update from its child LB policy after itself being shut
   down. This can be cascaded and result in hard-to-reason behaviors if any
   one layer of the LB policies does not clean up its internal state after
   shutdown.

Behavior Changes

   - core, grpclb, xds: let leaf LB policies explicitly refresh name
   resolution when subchannel connection is broken. Custom LoadBalancer
   implementations should refresh name resolution (with
   Helper.refreshNameResolution()) when seeing its created subchannel
   becomes IDLE or TRANSIENT_FAILURE. Currently the Channel will do it for you
   and log a warning. But this operation will be removed in the future
   releases. (#8048 <https://github.com/grpc/grpc-java/pull/8048>)
   - netty: Added support for OpenJSSE

Dependencies

   - Upgrade Guava to 30.1 (#8100
   <https://github.com/grpc/grpc-java/pull/8100>). As part of #4671
   <https://github.com/grpc/grpc-java/issues/4671> grpc-java will drop
   support for Java 7, with no impact to Android API levels supported. Guava
   is going through the same process and in this Guava release it warns when
   used on Java 7. If you are using Java 7 and are impacted, please comment on
   #4671 <https://github.com/grpc/grpc-java/issues/4671>. The Java 7 check
   may be noticed by Android builds and fail without language-level
   desugaring. We expect most users have already enabled language-level
   desugaring, but if not it would be necessary to add to your build.gradle:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}


   - auth: Allow pre- and post-0.25.0 behavior from
   google-auth-library-java, for Bazel users. google-auth-library-java 0.25.0
   changed its behavior for JWT that caused a gRPC test to fail. The failure
   was benign but prevented Bazel users from using newer versions of the
   library

-- 
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/CALUXJ7jfrRewO4bjWEGruJyj5G6qFVcJdWq0Zn7ZxwZwCUwTwg%40mail.gmail.com.

Reply via email to