0.42.9
Changes
This is a minor maintenance release appropriate for all ServiceTalk users that contains several useful new features, improvements, and bug fixes. This release is expected to be a "drop-in" replacement for all prior 0.42.X releases.
API Deprecations
- d62bfd2 - Deprecate
offloadNever()
(#2133)- Users should migrate to
offloadNone()
- Users should migrate to
- 4141e33 -
LoadBalancer
andConnectionFactory
: add a context of the caller (#2168)- Deprecate
LoadBalancer#selectConnection(Predicate)
, users should migrate to the new methodLoadBalancer#selectConnection(Predicate, ContextMap)
; - Deprecate
ConnectionFactory#newConnection(Address, TransportObserver)
, users should migrate to the new methodConnectionFactory#newConnection(Address, ContextMap, TransportObserver)
;
- Deprecate
New Features
- 2ca7af2 - Make ServiceTalk protoc plugin extensible (#2160)
- 071666f - Let
ConnectionFactory
see difference between proxied and direct connections (#2169) - 13107f8 - Introduce
HttpProviders
andGrpcProviders
(#2137) - 0124d9f - Add
[Single | Completable].cache(...)
operators (#2162) - 1ab2b76 - Jersey Protobuf Serialization Support (#2159)
- 0fae5cb - Expose
SslConfig
throughConnectionInfo
(#2150) - b274746 - Add grpc-health service implementation (#2147)
- cdc249e - Add
Publisher.flatMapConcatSingle(...)
(#2151) - c8d0139 - Let users move
GrpcLifecycleObserver
in the filter chain (#2171)
Improvements
- 78d1186 - Use more specific
ConcurrentMap
methods (#2188) - 6edc415 - Implement
ServiceDiscoverer#toString()
forDefaultDnsServiceDiscoverer
(#2149) - 998fd00 -
Processors.newPublisherProcessor()
simplify duplicate terminal check (#2148) - 125524c -
RoundRobinLoadBalancer
: better identify excess connections (#2173) - fce6b3e -
RoundRobinLoadBalancer
: increase visibility into health-checking (#2182) - d07605e - Always set default
ServiceTalkSocketOptions#IDLE_TIMEOUT
(5 minutes) (#2174) - fbd5cf5 - DNS ServiceDiscoverer: add jitter for the subsequent DNS queries (#2170)
- c4df3a3 - Conditionally use
IoExecutor
timer for retry (#2134)
Bug Fixes
- c08f21e - HTTP/1.x Client write explicit empty buffer fix (#2175)
- f1a3581 - Update
TextMapFormatter
: default sampled tonull
rather thanfalse
when extracting trace context (#2177) - 3ae63a5 - fix: handle null parent spans in
asChildOf
calls (#2167) - 1c83856 - HTTP/2 handlers should throw
Http2Exception
and send RST_STREAM frame (#2146) - 99712d1 -
Publisher.multicast(...)
duplicate cancelIndexOutOfBounds
exception (#2161) - bb0ed15 - Use filter strategy for streaming async server (#2156)
- 40c3e3c - servicetalk-grpc-protoc name conflict fixes (#2157)
Dependency Updates
- 39528ed - Update Netty 4.1.74 -> 4.1.75 (#2141)
- ac4dddb - Update Netty 4.1.75 -> 4.1.76 (#2187)
- 6fd32bb - Update netty-incubator-transport-native-io_uring 0.0.12 -> 0.0.13 (#2181)
- be967db - Update Jackson 2.13.1 -> 2.13.2.2 (#2178)
- 96e96f9 - Update protobuf 3.19.2 -> 3.20.0 (#2186)
- b127e56 - Update proto-google-common-protos 2.7.1 -> 2.8.1 (#2179)
- 7addb00 - Update log4j 2.17.1 -> 2.17.2 (#2180)
Documentation & Examples
- 6620b3c - Enhance
servicetalk-examples-grpc-observer
(#2172) - 6586322 - CONTRIBUTING - Project Communication section (#2153)
- 6f0c43a - Enhance javadoc for
HttpSerializers.stringStreamingSerializer
(#2164) - 17c2bb4 - Remove examples for multi-address client that similar to single-address (#2129)
- bfc8183 - Update offloading documentation (#2039)
CI/Build
- efe1842 - Bump actions/upload-artifact from 2 to 3 (#2183)
- c27ef5c - Update spotbugs 4.4.1 -> 4.6.0 (#2158)
- 1d3607a - Update gradlew 7.3 -> 7.4.1 (#2163)
- b01305a - Update node.js 14.16.0 -> 16.14.2 (doc site generation) (#2165)
- 66566d1 - Update grpc-java 1.43.0 -> 1.45.1 (test dependency) (#2176)
Thank you
Every idea, review, and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report any unintended omission.
@bondolo
@chemicL
@eddie4941
@idelpivnitskiy
@saturnism
@Scottmitch
@suman-ganta
@tkountis