ServiceTalk v0.35.0 Release Notes
Release Date: 2020-12-10 // almost 3 years ago-
๐ Changes
๐ This release contains the following significant changes:
๐ New features
- ๐ 9397909 -
ReactiveStreamsAdapters
support forSingle
andCompletable
(#1252) - 17be71a - Add
Publisher#completableOrError
operator (#1256) - f30df63 -
[Retry|Repeat]Strategies
add jitter delta methods (#1221) - c2e214e - Introduce HTTP content encoding (compression) (#1174)
API changes
- bb2a77c - Consolidation of HTTP codecs with gRPC (#1198)
- Generated code must be re-compiled.
GrpcClientFactory
andBuilders
in generated code methodsupportedMessageEncodings
renamed tosupportedMessageCodings
. MessageCodec
was removed in favor ofContentCodec
supportedEncodings()
method return type changed fromSet
toList
to preserve ordering (impactsGrpcSerializationProvider
,GrpcServiceContext
)GrpcService#supportedEncodings()
was removed.ContentCodec
offset parameter semantic changed from "absolute offset including readerIndex()" to "offset from readerIndex()"
- Generated code must be re-compiled.
- c2e214e - Introduce HTTP content encoding H1 & H2 (#1174)
GrpcMessageEncodings.none
->GrpcMessageEncodings.identity
GrpcMessageCodec
->MessageCodec
- โ
298ae4f - Consolidate
Test*Subscriber
classes (#1229)concurrent-api
Test*Subscriber
testFixtures moved toconcurrent-test-internal
- โก๏ธ d5b4385 -
TestPublisherSubscriber
API updates (#1241) - bd945ac -
idleTimeout
operator to useio.servicetalk.concurrent.Executor
(#1234)
๐ Bug fixes
- ๐ e7d36f3 - Remove
DnsClient
workaround for Netty SRV cache issue (#1257) - ๐ d7365be -
[Retry|Repeat]Strategies
add deprecated methods to temporarily avoid API breakage introduced by f30df63 (#1244) - 45fc641 - Jersey to return 400 response for invalid URI (#1242)
- 197f914 -
ByteArrayJacksonDeserializer
does not account forreaderIndex
(#1233) - f9c0840 -
Publisher
toInputStream
adapters should return a read byte in -1..255 range (#1238) - 435d04d - Fix transformed aggregated requests with missing trailers (#1213)
- 9e368b1 -
Single#concat(Publisher)
invalid demand hang (#1230) - 801b148 -
Publisher#flatMapConcatIterable
error recovery fromSubscriber#onNext
throwing (#1231) - d9a5f39 - Ignore
Http2SettingsAckFrame
frame (#1225) - ๐ป 7a58081 -
Publisher#flatMapConcatIterable
drain demand ononNext
exception (#1222) - ๐ป 62d9e44 -
Publisher#flatMapMerge
recover from mappedPublisher
exception (#1218)
๐ Improvements
- ๐ ead32c7 - Include
netty-resolver-dns-native-macos
dependency by default (#1246) - 2993fd5 - Relax can-add-content-length check (#1260)
- ๐ 2bed998 - DNS Client SRV robustness and A* record
Publisher
support (#1223) - โ de179dd - gRPC compression compatibility tests (#1232)
- ๐ป 8cafd9c - Improve exception messages from
HttpObjectDecoder
(#1228) - 7eb37c3 - Make
HttpObjectDecoder
more RFC7230 compatible (#1227) - 64861ec -
Publisher#flatMap*DelayError
limit queued exceptions (#1220)
โฌ๏ธ Dependencies upgrade
- โก๏ธ 9773b43 - Update netty 4.1.54.Final -> 4.1.55.Final, tcnative 2.0.34.Final -> 2.0.35.Final (#1254)
- โก๏ธ b496c8b - Update protobuf-gradle-plugin 0.8.13 -> 0.8.14 (#1251)
- โก๏ธ 39adbc3 - Update grpc-java 1.33.1 -> 1.34.0 (#1250)
- โก๏ธ da3209b - Update zipkin-reporter 2.15.2 -> 2.16.2 (#1249)
- โก๏ธ f725752 - Update javapoet 1.12.1 -> 1.13.0 (#1248)
- โก๏ธ 16de911 - Update protobuf 3.13.0 -> 3.14.0 (#1247)
- โก๏ธ 2ba5d3f - Update jctools 3.1.0 -> 3.2.0 (#1245)
- โก๏ธ 1c52455 - Update Jackson 2.10.5 -> 2.10.5.1 (#1237)
- โก๏ธ 848b9c3 - Update gradlew 6.5.1 -> 6.7.1 (#1226)
- โก๏ธ 618f515 - Update Jersey 2.32 -> 2.30.1 (#1212)
- โก๏ธ 14821b2 - Update jakarta.activation 1.2.1 -> 1.2.2 (#1211)
- โก๏ธ 7592d9d - Update jakarta.xml.bind-api 2.3.2 -> 2.3.3
- โก๏ธ 1f0768f - Update jaxb-impl 2.3.2 -> 2.3.3
Thank you
Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.
- ๐ 9397909 -
Previous changes from v0.34.0
-
๐ Changes
๐ This release contains the following significant changes:
๐ New features
- ๐ง 87f8717 - Option to configure capacity of the datagram packet buffer for DNS SD (#1193)
- 1e6ac5f - grpc-protoc typeNameSuffix option (#1184)
API changes
๐ Improvements
- ๐ 78c9137 - Improve
DefaultHttpRequestMetaData
query manipulator methods (#1196) - ๐ 26f4560 - Http URI related fixes and enhancements (#1194)
- โจ a733bf3 - Enhance null header value exception (#1195)
- ce68ee4 - Use
IoThreadFactory
forIoExecutor
inExecutionContextRule
(#1190) - โ
898ec8b - Simplify
PrematureClosureBeforeResponsePayloadBodyTest
(#1189) - cdecc85 - Verify HTTP message is processed if it is followed by malformed data (#1188)
- โ
a25e994 - Add more test scenarios for
HeaderUtils#hasContentType
(#1185) - 5b0e4ec - Verify that all graceful closure use-cases also work with HTTP/2 (#1180)
- โ
a0bf19d - Improve
servicetalk-test-resources/log4j2.xml
(#1181)
โฌ๏ธ Dependencies upgrade
- โก๏ธ 9a6d97b - Update Netty 4.1.53 -> 4.1.54 (#1208)
- โก๏ธ 6ed05c1 - Update proto-google-common-protos 1.18.0 -> 2.0.1 (#1201)
- โก๏ธ c8d3ded - Update log4j 2.13.3 -> 2.14.0 (#1205)
- โก๏ธ 5b8269c - Update grpc-java 1.29.0 -> 1.33.1 [testing dependency] (#1202)
- โก๏ธ 78568f8 - Update spotbugs 4.0.3 -> 4.14, and gradle plugin 4.3.0 -> 4.5.1 (#1191)
๐ Documentation
- ca407b0 - Add grpc protoc options example (#1186)
- โก๏ธ c3b3504 - Update http example docs index (#1187)
Thank you
Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.