ServiceTalk v0.35.0 Release Notes

Release Date: 2020-12-10 // 11 months ago
  • 🔄 Changes

    🚀 This release contains the following significant changes:

    🆕 New features

    • 👍 9397909 - ReactiveStreamsAdapters support for Single and Completable (#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 and Builders in generated code method supportedMessageEncodings renamed to supportedMessageCodings.
      • MessageCodec was removed in favor of ContentCodec
      • supportedEncodings() method return type changed from Set to List to preserve ordering (impacts GrpcSerializationProvider, GrpcServiceContext)
      • GrpcService#supportedEncodings() was removed.
      • ContentCodec offset parameter semantic changed from "absolute offset including readerIndex()" to "offset from readerIndex()"
    • 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 to concurrent-test-internal
    • ⚡️ d5b4385 - TestPublisherSubscriber API updates (#1241)
    • bd945ac - idleTimeout operator to use io.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 for readerIndex (#1233)
    • f9c0840 - Publisher to InputStream 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 from Subscriber#onNext throwing (#1231)
    • d9a5f39 - Ignore Http2SettingsAckFrame frame (#1225)
    • 👻 7a58081 - Publisher#flatMapConcatIterable drain demand on onNext exception (#1222)
    • 👻 62d9e44 - Publisher#flatMapMerge recover from mapped Publisher 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.


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

    • 🌲 f12492c - Introduce primitives to control internal log level (#1199)

    👌 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 for IoExecutor in ExecutionContextRule (#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

    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.