The v1.60.0 release <https://github.com/grpc/grpc-java/releases/tag/v1.60.0>
is now available.

API Changes

   - api: Stabilize ForwardingServerBuilder, ForwardingChannelBuilder2, and
   ForwardingChannelBuilder. Note that ForwardingChannelBuilder is
   stabilized (no changes will be made to it), but immediately deprecated in
   favor of ForwardingChannelBuilder2. (#10586
   <https://github.com/grpc/grpc-java/pull/10586>)
   - api: Deprecate ForwardingChannelBuilder.delegate(). De facto this
   deprecates the class itself, since all classes extending
   ForwardingChannelBuilder implement the delegate() method. See javadoc
   for details (#10587 <https://github.com/grpc/grpc-java/pull/10587>)
   - api: Changed recently-introduced LoadBalancer.acceptResolvedAddresses() to
   return Status instead of boolean (#10636
   <https://github.com/grpc/grpc-java/pull/10636>). This is part of
   continued work to align the LB API cross-language and API stabilization
   - stub: Deprecate StreamObservers (#10654
   <https://github.com/grpc/grpc-java/pull/10654>)
   - alts: AltsChannelBuilder now extends ForwardingChannelBuilder2 (#10587
   <https://github.com/grpc/grpc-java/pull/10587>)
   - protobuf: Stabilize ProtoUtils.metadataMarshaller() (#10628
   <https://github.com/grpc/grpc-java/pull/10628>)
   - protobuf-lite: ProtoLiteUtils experimental comment (#10627
   <https://github.com/grpc/grpc-java/pull/10627>)

Behavior Changes

   - core: ManagedChannels now check the address types provided by the
   nameResolver (for the given target) with the address types supported by the
   channel transport and generate an error in case of mismatch. That
   dramatically improves the error message when an issue occurs
   - core: When a server stream is closed due to user's code (an uncaught
   exception in halfClosed, messagesAvailable, onReady callback of a
   ServerStream's listener), the Status.UNKNOWN returned to the client will
   have Application error processing RPC description. Previously the
   description was empty. This is helpful to differentiate between server
   errors originated in user application, gRPC library, or even those injected
   by a proxy. (#10643 <https://github.com/grpc/grpc-java/pull/10643>)
   - xds: Log ORCA UNIMPLEMENTED error to subchannel logger. This removes
   them from the normal application logs, reducing log spam

Improvements

   - Change the underlying implementations of RingHash, RoundRobin,
   WeightedRoundRobin and LeastRequest load balancers to utilize the pick
   first load balancer rather than directly manage subchannels. This should
   only be noticeable if it introduced a bug
   - core: Avoid flushing headers when the server returns a single response
   (#9314 <https://github.com/grpc/grpc-java/pull/9314>). This is a
   performance optimization to reduce the number of packets for non-streaming
   responses
   - util: Make grpc-core an implementation dependency. This will prevent
   the io.grpc.internal classes in grpc-core from being visible during
   compilation when depending on just grpc-util
   - netty: Implement Http2Headers.isEmpty(). This fixes compatibility with
   Netty 4.1.101.Final.
   - netty: Add NettyServerBuilder.maxRstFramesPerWindow(). This can be
   used to limit impact of Rapid Reset
   - netty: Disable huffman coding in headers (#10563
   <https://github.com/grpc/grpc-java/pull/10563>). Huffman coding provides
   modest compression for relatively high CPU usage, especially within a data
   center. Rely just on the HPACK static and dynamic tables for compression,
   for higher performance. This only impacts header values 512 bytes or
   longer, as Netty already disabled Huffman for smaller values
   - alts: Improve handshake failure error message by propagating original
   exception (#10644 <https://github.com/grpc/grpc-java/pull/10644>)

Bug Fixes

   - util: Remove shutdown subchannels from OD tracking (#10683
   <https://github.com/grpc/grpc-java/pull/10683>). This could have caused
   a memory leak on a long-lived channel. But we don’t think it could be
   triggered with our built-in load balancing policies.

Dependencies

   - Bump Netty to 4.1.100.Final

Acknowledgements

@anthonyjpratti <https://github.com/anthonyjpratti>
@fedorka <https://github.com/fedorka>
@jpd236 <https://github.com/jpd236>
@mateusazis <https://github.com/mateusazis>
@pkoenig10 <https://github.com/pkoenig10>
@yannickepstein <https://github.com/yannickepstein>
@amirhadadi <https://github.com/amirhadadi>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oP39E82MCdGEM2tPdXjpzP2q5r5a0Q_M%3DHt48neBCxAxg%40mail.gmail.com.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to